The Santa Claus Problem
(Maximizing the minimum load
on unrelated machines)
Nikhil Bansal (IBM)
Maxim Sviridenko (IBM)
1
The Santa Claus Problem
m kids
n toys
Kid i has value pij (¸ 0) for toy j
[ n ¸ m]
Toys distributed among kids
Happiness of kid i = Sum of pij of toys it gets (additive utilities)
Goal: Maximize mini=1,…,m Happiness(i)
(Given target T, ensure every kid has happiness ¸ T)
Natural notion of fair allocation,
proposed in game theoretic setting by [Lipton et al 04]
2
Problem definition
Scheduling Problem (unrelated machine scheduling)
Kid (i) = Machine
Toy (j) = Job
pij = processing time of job j on machine i.
Goal: Maximize the minimum load (will use this terminology )
Restricted assignment case:
Job has same size
Can only be placed on subset of machines
( pij 2 {pj,0} )
3
Approximation Algorithms
An efficient (polynomial time) algorithm that is comparable
to optimum solution on every input I
approximation algorithm A
1)
A(I) · Opt(I)
for every instance I
2)
A runs in time polynomial in size of I
4
Previous work (Makespan minimization)
Extensive work on minimizing makespan (max. load)
(our problem is maximize min load)
2-approx for unrelated parallel machines (arbitrary pij)
and restricted assignment [Lenstra Shmoys Tardos 90]
Lots of work on various other special cases…
5
Previous Work (max min problem)
If n = m : Matching techniques (poly time)
(n-m+1) approximation
Can achieve Opt – pmax
(pmax = maxij pij
[Bezakova Dani 05]
[Bezakova Dani 05]
bad approx if Opt ¼ pmax)
(1-1/k) fraction of machines get ¸ Opt/k
[Golovin 05]
Restricted Assignment Setting: pij 2 {pj, 0}
Big/small good case (pj 2 {1,X} ) : O(n1/2)
[Golovin 05]
No < 2 approx, unless P=NP (follows from LST 90)
6
LP Formulation: 1
Assignment Formulation:
Max T
j pij xij ¸ T
i xij · 1
xij =1 if job j on machine i
8 i 2 Machines
8 j 2 Jobs
(machine load >= T)
(a job used at most once)
Valid Integer programming formulation (xij 2 {0,1})
LP relaxation useless: Infinite Gap
m machines, 1 job of size x (on all machines)
LP: x/m
IP = 0
Big jobs trick LP.
7
Job Truncation Idea
(Lenstra, Shmoys, Tardos)
In schedule w/ value T, can truncate sizes to T
T
p’ij = min(pij,T)
j p’ij xij ¸ T
i xij · 1
8 machines i
8 jobs j
Good News:
T – pmax
Find largest T for which
LP is feasible
[Bezakova Dani 05]
pmax = max job size
8
Job Truncation for max min ?
Bad news: (m) gap (even for restricted assignment case)
Instance: m small jobs, numbered 1,2,…,m
Job i : size 1 on machine i, and size 0 elsewhere
m-1 bigs jobs (size m on every machine)
m=3
1
2
3
1
2
Small jobs
M1 M2 M3
LP: m
IP:
1
Big jobs
9
Configuration LP
Target solution value T.
Set of jobs S is valid configuration for machine i, if
size of S on i is ¸ T
Let C(i) = all valid sets for i
Variable
for each valid configuration S for machine i
1 config. per machine
Job used · once
10
View of Configuration LP solution
Exponentially many variables
Separation oracle for dual : knapsack problem.
T
Each machine assigned
1 unit of configurations
Each job has at most 1
unit of appearances
1/2
1/4 1/4
0.4
0.6
Width = amount of configuration
11
Our Results
1) O( log log m / log log log m) approximation for
restricted assignment case (pij 2 {pj,0} )
(previous best n-m+1, LST LP has (m) gap)
2) (m1/2), (n1/2) integrality gap for configuration LP
when pij arbitrary
12
This Talk
Restricted Assignment case:
1) Describe O(log n / log log n) approx (randomized rounding)
2) Improvement to
13
Restricted Assignment: Basic Problem
Opt – pmax known: Hard case when pmax ¼ Opt
Assume jobs of size Opt (big) or 1 (small)
One big job suffices to load a machine.
Basic Problem: Match big jobs to machines s.t. remaining
machines can be loaded with small jobs.
1
Pink on 1
2
3
Good !
4
Green on 4
14
Restricted Assignment: Basic Problem
Opt – pmax known: Hard case when pmax ¼ Opt
Assume jobs of size Opt (big) or 1 (small)
One big job suffices to load a machine.
Basic Problem: Match big jobs to machines s.t. remaining
machines can be loaded with small jobs.
1
2
Pink on 2
3
Bad !
4
Green on 4
15
Main Idea of Proof
Transform LP solution to more structured one
(only O(1) loss).
(Pseudo) Rounding Procedure: Match big jobs to machines,
and place smalls on remaining machines
1)
Load on each machine Opt
2)
Small jobs used up to times.
Easy but key Fact: Place smalls s.t. each machine has load
(Opt/)
How small can we make ??
16
Structural Lemma
Machines
Big Jobs
17
Structural Lemma
Machines
M1
M2
M3
J1
J2
J3
Big Jobs
1) |Ji | = |Mi| -1.
2) Ji can be placed on any |Mi|-1 machines in Mi.
18
Proof Sketch: Structural Lemma
machines
0.3
0.5
Remove cycles,
Tree with leaves as machines
Big jobs
19
Reduced Problem
M1
J1
.2 .5 .3
.4 .3 .3
.1 .5 .4
In each group choose 1 machine to place smalls
(bigs handled automatically)
For each group: We have one unit of small configurations
distributed among the machines.
20
Reduced Problem
M1
J1
.2 .5 .3
.4 .3 .3
.1 .5 .4
Randomized rounding: View these as probabilities.
Choose a machine (to place smalls) at random for each group.
Fractional congestion: O(1)
Chernoff Bounds: Worst case congestion O(log n / log log n)
21
Congestion with Outliers
Do not care about worst case congestion.
Suppose throw away 50% small jobs from each machine,
and get low congestion on remaining jobs.
Congestion with outliers problem
We show: Can throw away small fraction from each
machine, and get
congestion
22
First attempts
Randomized Rounding with alterations: Job occurs O(1)
times in expectation. Throw away high frequency jobs
Problem: Correlation!
Power of many choices: Choose O(1) sets at random
instead of 1, and then pick best. Does not work either…
23
Our Approach
Reduce Congestion with outliers
to worst case congestion minimization on small sets.
Random restriction of small jobs
s.t. each set has ¼ polylog m jobs
Find low worst case congestion solution on this instance.
Key result:
Whp, solution with low congestion on restricted instance
is also low congestion with outliers on original instance.
24
Small sets have low worst case congestion
Theorem [Leighton Lu Rao Srinivasan 01]:
If sets of size k can get O(log k / log log k) congestion.
Non-trivial: Repeated application of Lovasz Local Lemma
In our setting k = polylog (m), gives
approximation
25
Concluding Remarks
Huge gaps remain in our understanding.
Arbitrary pij : O(n) approx, vs. hardness factor of 2
Can we use the (n1/2) integrality gap instance to show
better hardness?
For restricted assignment, is the right answer O(1) ?
Suffices to prove congestion with outliers property.
26
Questions ?
27
Attempt 1
For each Ci, choose sets at random,
Throw away elements with high congestion
(hopefully not too many)
Bad when sets correlated
If one element congested,
Whole set congested.
Whp congestion
( log m / log log m )
Either Sil = Si’l’ or Sil Å Si’l’ = ;
28
Correlated Sets
Fractional Matching Between
Sets & super-machines
Can find perfect maching
Congestion = 1 !!
Either Sil = Si’l’ or Sil Å Si’l’ = ;
Independent sets : Random works well
Correlated sets: Other techniques
Need to be more subtle.
29
Fact (Leighton et al 2001)
If each set has cardinality polylog m, then can find a choice
of sets s.t. congestion = O( log log m / log log log m)
[Constructive version of Lovasz Local Lemma]
(intuitively, low dependence between sets)
In our case: Sets have big cardinality, but allow throwing
elements out.
30
Bad choices
Call a choice of sets bad, if
no matter how you delete upto 50% elements,
congestion ¸ c log log m / log log log m.
Main Result: Good choice always exists and can be found in
poly time.
Given a good choice of sets, the elements to throw can be
found via a max flow problem. (proof skipped)
31
Algorithm
Take a random sample of elements.
Consider restriction of sets of these elements
Each set has about poly log m jobs.
Choose sets with O(log log m/ log log log m) congestion (Leighton et al)
Theorem: The same choice of sets works for original set system.
Proof: For every bad choice of sets in original system => high
congestion in sampled system.
Naïve counting does not work. Exponentially many choices of sets.
Notion of core of a bad choice function. VC-dimension type arguments.
32
Configuration LP is strong !
Example: m-1 bigs jobs (size m on every machine)
m small jobs, call then 1,2,…,m
Small Job i has size 1 on machine i and 0 elsewhere.
IP Opt =1
Configuration LP infeasible for T > 1.
Feasible configuration for any machine i
(has to contain a big)
b
b
s
Infeasible: m machines but only m-1 big jobs.
33
Robustness of Small Jobs
Recall: Assignment LP gives T – pmax
j pij xij ¸ T
i xij
· 1
8 machines i
8 jobs j
Suppose pmax < T/10
(integral solution: T – T/10)
Suppose xij only satisfy a relaxed inequality
j pij xij ¸ T
i xij
·3
Can still round it to
T/3 - pmax
34
Big jobs are not robust
3 machines. 1 job of size T.
Opt = 0
Relaxed LP has value T.
(big jobs are delicate)
We will transform LP solution (get more structure)
s.t. Small jobs can occur upto O(1) times.
After Rounding: Match big jobs to machines,
and smalls on remaining machines
1)
Load on each machine T
2)
Small used up to times.
35
An easy case
Suppose big jobs occupy < 3/4 of any machine.
1/2
1/4 1/4
1/2
Great!
1/4 1/4
Hard case: If 1- o(1) machine used by bigs,
very little by smalls.
.33 .33 .33 .01
36
Structural Lemma
.33 .33 .33 .01
.33 .33 .33 .01
.33 .33 .33 .01
100 machines form this group.
99 Big jobs (can be placed “anywhere” on these)
One unit of small configurations.
37
Can ignore bigs
.33 .33 .33 .01
.33 .33 .33 .01
.33 .33 .33 .01
Super-machine
Choose one “configuration”
from each super-machine
38
© Copyright 2026 Paperzz