schedule all the jobs minimizing the makespan Cmax. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. Cmax m3 m2 m1 q8. J8. Cl3. Cl2. Cl1.
Introduction State of art Main ideas of the 52 approximation Finishing the proof
A fast 5/2 approximation for hierarchical scheduling Marin Bougeret, Pierre-François Dutot, Christina Otte, Klaus Jansen and Denis Trystram LIG laboratory (MOAIS Team), Grenoble, France
1 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
1
Introduction
2
State of art
3
Main ideas of the
4
Finishing the proof
5 2
approximation
2 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
1
Introduction
2
State of art
3
Main ideas of the
4
Finishing the proof
5 2
approximation
3 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Context
4 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Problem statement Multiple Cluster Scheduling Problem (MCSP):
Input:
k clusters (cluster Cl owns m machines) n independent parallel jobs (job J requires q machines on the same cluster during p units of time) i
i
j
j
j
Objective: schedule all the jobs minimizing the makespan C
max
Cl1 Cl2 Cl3
J8 p8
1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 q8 1 0 0 1 0 1 0 1
m1 m2 m3
Cmax 5 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Problem statement Multiple Cluster Scheduling Problem (MCSP):
Input:
k clusters (cluster Cl owns m machines) n independent parallel jobs (job J requires q machines on the same cluster during p units of time) i
i
j
j
j
Objective: schedule all the jobs minimizing the makespan C
max
Cl1 Cl2 Cl3
J8 p8
1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 q8 1 0 0 1 0 1 0 1
m1 m2 m3
Cmax 5 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Problem statement Multiple Cluster Scheduling Problem (MCSP):
Input:
k clusters (cluster Cl owns m machines) n independent parallel jobs (job J requires q machines on the same cluster during p units of time) i
i
j
j
j
Objective: schedule all the jobs minimizing the makespan C
max
Cl1 Cl2 Cl3
J8 p8
1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 q8 1 0 0 1 0 1 0 1
m1 m2 m3
Cmax 5 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Motivation of the Multiple Cluster model What means this model ? parallel job = schedule of sequential jobs with dependencies without communication costs ⇒ communication costs between machines of the same cluster are neglected ⇒ communication costs between machines of dierent clusters are unbounded, hence the constraint of using q machines of the same cluster when scheduling one job j
6 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Motivation of the Multiple Cluster model What means this model ? parallel job = schedule of sequential jobs with dependencies without communication costs ⇒ communication costs between machines of the same cluster are neglected ⇒ communication costs between machines of dierent clusters are unbounded, hence the constraint of using q machines of the same cluster when scheduling one job j
6 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Motivation of the Multiple Cluster model What means this model ? parallel job = schedule of sequential jobs with dependencies without communication costs ⇒ communication costs between machines of the same cluster are neglected ⇒ communication costs between machines of dierent clusters are unbounded, hence the constraint of using q machines of the same cluster when scheduling one job j
6 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Motivation of the Multiple Cluster model What means this model ? parallel job = schedule of sequential jobs with dependencies without communication costs ⇒ communication costs between machines of the same cluster are neglected ⇒ communication costs between machines of dierent clusters are unbounded, hence the constraint of using q machines of the same cluster when scheduling one job j
6 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
1
Introduction
2
State of art
3
Main ideas of the
4
Finishing the proof
5 2
approximation
7 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems parallel (rigid) job scheduling
machine 4 machine 3 machine 2 machine 1
111 000 000 111 111 000
Rectangle packing = 000 111 000 000111 111 000 111 parallel(rigid) job continuous 000 111 111 000 scheduling Algorithms for non continuous case generally not apply to continuous case but .. Approximation ratios for continuous case may not apply to non ∗) contiguous case (as C ∗ ≤ C However, approximation ratio for continuous case often apply to non continuous case machine 4 machine 3 machine 2 machine 1
max
cont max
8 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems parallel (rigid) job scheduling
machine 4 machine 3 machine 2 machine 1
111 000 000 111 111 000
Rectangle packing = 000 111 000 000111 111 000 111 parallel(rigid) job continuous 000 111 111 000 scheduling Algorithms for non continuous case generally not apply to continuous case but .. Approximation ratios for continuous case may not apply to non ∗) contiguous case (as C ∗ ≤ C However, approximation ratio for continuous case often apply to non continuous case machine 4 machine 3 machine 2 machine 1
max
cont max
8 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems parallel (rigid) job scheduling
machine 4 machine 3 machine 2 machine 1
111 000 000 111 111 000
Rectangle packing = 000 111 000 000111 111 000 111 parallel(rigid) job continuous 000 111 111 000 scheduling Algorithms for non continuous case generally not apply to continuous case but .. Approximation ratios for continuous case may not apply to non ∗) contiguous case (as C ∗ ≤ C However, approximation ratio for continuous case often apply to non continuous case machine 4 machine 3 machine 2 machine 1
max
cont max
8 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems parallel (rigid) job scheduling
machine 4 machine 3 machine 2 machine 1
111 000 000 111 111 000
Rectangle packing = 000 111 000 000111 111 000 111 parallel(rigid) job continuous 000 111 111 000 scheduling Algorithms for non continuous case generally not apply to continuous case but .. Approximation ratios for continuous case may not apply to non ∗) contiguous case (as C ∗ ≤ C However, approximation ratio for continuous case often apply to non continuous case machine 4 machine 3 machine 2 machine 1
max
cont max
8 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems
MCSP and strip packing MCSP + continuous constraint = Multiple Strip Packing For k = 1 Cluster : MCSP is classical parallel job scheduling (List Scheduling ratio 2 − 1 ) MCSP + continuous constraint = Strip Packing (the 2 ratio required more eorts!) m
As shown in [STY08] List Scheduling is arbitrarily bad on MCSP
9 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems
MCSP and strip packing MCSP + continuous constraint = Multiple Strip Packing For k = 1 Cluster : MCSP is classical parallel job scheduling (List Scheduling ratio 2 − 1 ) MCSP + continuous constraint = Strip Packing (the 2 ratio required more eorts!) m
As shown in [STY08] List Scheduling is arbitrarily bad on MCSP
9 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems
MCSP and strip packing MCSP + continuous constraint = Multiple Strip Packing For k = 1 Cluster : MCSP is classical parallel job scheduling (List Scheduling ratio 2 − 1 ) MCSP + continuous constraint = Strip Packing (the 2 ratio required more eorts!) m
As shown in [STY08] List Scheduling is arbitrarily bad on MCSP
9 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems
MCSP and strip packing MCSP + continuous constraint = Multiple Strip Packing For k = 1 Cluster : MCSP is classical parallel job scheduling (List Scheduling ratio 2 − 1 ) MCSP + continuous constraint = Strip Packing (the 2 ratio required more eorts!) m
As shown in [STY08] List Scheduling is arbitrarily bad on MCSP
9 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Related problems
MCSP and strip packing MCSP + continuous constraint = Multiple Strip Packing For k = 1 Cluster : MCSP is classical parallel job scheduling (List Scheduling ratio 2 − 1 ) MCSP + continuous constraint = Strip Packing (the 2 ratio required more eorts!) m
As shown in [STY08] List Scheduling is arbitrarily bad on MCSP
9 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Negative result for MCSP MCSP is 2-inapproximable unless P = NP , even for k = 2 clusters having the same size Using a gap reduction [Zhu06] from the 2-partition problem: YES-Instan e
∗ Cmax =1
NO-Instan e
∗ Cmax =2
10 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Main positive results for MCSP Ratio Remarks Hypothesis 3 decentralized (and fast) algorithm 2+ every job ts evrequires solving Q ||C erywhere, adapted with a ratio 1 + 2 from [YHZ09] max
5 2
Source [STY08] this paper
fast, also applies for con- every job ts every- this talk tinuous case where
Remark: Solving Q ||C using a classical PTAS is in Ω(n60 ), as our 25 approximation is in ≈ knlog 2 (n) max
11 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Main positive results for MCSP Ratio Remarks Hypothesis 3 decentralized (and fast) algorithm 2+ every job ts evrequires solving Q ||C erywhere, adapted with a ratio 1 + 2 from [YHZ09] max
5 2
Source [STY08] this paper
fast, also applies for con- every job ts every- this talk tinuous case where
Remark: Solving Q ||C using a classical PTAS is in Ω(n60 ), as our 25 approximation is in ≈ knlog 2 (n) max
11 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Main positive results for MCSP Ratio Remarks Hypothesis 3 decentralized (and fast) algorithm 2+ every job ts evrequires solving Q ||C erywhere, adapted with a ratio 1 + 2 from [YHZ09] max
5 2
Source [STY08] this paper
fast, also applies for con- every job ts every- this talk tinuous case where
Remark: Solving Q ||C using a classical PTAS is in Ω(n60 ), as our 25 approximation is in ≈ knlog 2 (n) max
11 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Main positive results for MCSP Ratio Remarks Hypothesis 3 decentralized (and fast) algorithm 2+ every job ts evrequires solving Q ||C erywhere, adapted with a ratio 1 + 2 from [YHZ09] max
5 2
Source [STY08] this paper
fast, also applies for con- every job ts every- this talk tinuous case where
Remark: Solving Q ||C using a classical PTAS is in Ω(n60 ), as our 25 approximation is in ≈ knlog 2 (n) max
11 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Main positive results for MCSP Ratio Remarks Hypothesis 3 decentralized (and fast) algorithm 2+ every job ts evrequires solving Q ||C erywhere, adapted with a ratio 1 + 2 from [YHZ09] max
5 2
Source [STY08] this paper
fast, also applies for con- every job ts every- this talk tinuous case where
Remark: Solving Q ||C using a classical PTAS is in Ω(n60 ), as our 25 approximation is in ≈ knlog 2 (n) max
11 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
1
Introduction
2
State of art
3
Main ideas of the
4
Finishing the proof
5 2
approximation
12 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Using the dual approximation technique [HS87]
Specication Given an input I , and a guess v of the optimal value, the algorithm: schedules I with C ≤ 52 or REJECTS v , implying then that v < C ∗ max
v
max
Thus, using a binary search on v on the interval [|0, np we get a 52 -approximation
max
∗ |] 3 Cmax
13 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Using the dual approximation technique [HS87]
Specication Given an input I , and a guess v of the optimal value, the algorithm: schedules I with C ≤ 52 or REJECTS v , implying then that v < C ∗ max
v
max
Thus, using a binary search on v on the interval [|0, np we get a 52 -approximation
max
∗ |] 3 Cmax
13 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Using the dual approximation technique We ll the clusters from the smallest to the largest, trying to schedule an "optimal work" in every cluster work ≥ m1v work ≥ m2v
5v 2
v
Notation P Let W (X ) = ∈ p q denote the work of the set of jobs X . j
X
j
j
14 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Using the dual approximation technique We ll the clusters from the smallest to the largest, trying to schedule an "optimal work" in every cluster work ≥ m1v work ≥ m2v
5v 2
v
Notation P Let W (X ) = ∈ p q denote the work of the set of jobs X . j
X
j
j
14 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Let us dream
A
select
Let us suppose that we have an algorithm A such that: 0 0 if there is enough remaining jobs I (I is the set of unscheduled jobs) then A returns X ⊂ I 0 such that select
select
X can be scheduled in W (X ) ≥ m v
5v 2
i
Then we would directly have the
5 2
approximation.
15 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Bad news The previous algorithm does not exist: v 1
I
=1
1 − 2 1 2
+
=
v
5v 2
16 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Proposed solution A weaker A Thus, A requires constraints ensuring that such a X set exists. instead of: if there is enough remaining jobs I 0 then A returns X as specied before we have: if C1 then A returns X as specied before select
select
select
select
Road map What we have to do is: dene C1 if C1 is true, prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters v
17 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: 5v 2
5v 2
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: Aselect
X /W (X ) ≥ m v 1
5v 2
5v 2
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: Aselect
X /W (X ) ≥ m v 1
5v 2
5v 2
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: 5v 2
Aselect
5v 2
X /W (X ) ≥ m v 2
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: 5v 2
5v 2
REJECT v P k as W (I ) > i =1 mi v
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: 5v 2
Aselect
5v 2
X /W (X ) < m v 3
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Example All in all, the algorithm will behave as follows: 5v 2
5v 2
I 0, knowing C1 is false ?
How to pack that
Aselect
X /W (X ) < m v 3
?
I0
18 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
1
Introduction
2
State of art
3
Main ideas of the
4
Finishing the proof
5 2
approximation
19 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
An important tool for one strip: Steinberg's theorem [Ste97] Steinberg's theorem applied in our case: if a set X is such that W (X ) ≤ αm v , (α ≥ 1), then X can be scheduled (continuously) in a rectangular box of size m × 2αv . i
i
Remark: Can be proved using a List Scheduling algorithm (leading however to a non-continuous schedule) Notation We need the following denitions (given a cluster Cl ): let L = {J |p > 2 } (long jobs) let H = {J |q > 2i } (high jobs) i
v
j
J
m
i
J
j
20 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
An important tool for one strip: Steinberg's theorem [Ste97] Steinberg's theorem applied in our case: if a set X is such that W (X ) ≤ αm v , (α ≥ 1), then X can be scheduled (continuously) in a rectangular box of size m × 2αv . i
i
Remark: Can be proved using a List Scheduling algorithm (leading however to a non-continuous schedule) Notation We need the following denitions (given a cluster Cl ): let L = {J |p > 2 } (long jobs) let H = {J |q > 2i } (high jobs) i
v
j
J
m
i
J
j
20 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
An important tool for one strip: Steinberg's theorem [Ste97] Steinberg's theorem applied in our case: if a set X is such that W (X ) ≤ αm v , (α ≥ 1), then X can be scheduled (continuously) in a rectangular box of size m × 2αv . i
i
Remark: Can be proved using a List Scheduling algorithm (leading however to a non-continuous schedule) Notation We need the following denitions (given a cluster Cl ): let L = {J |p > 2 } (long jobs) let H = {J |q > 2i } (high jobs) i
v
j
J
m
i
J
j
20 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
Hi ∩ L Hi \ L I 0 \ Hi
X
111111111111 000000000000 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111
v
2v
111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
Hi ∩ L Hi \ L I 0 \ Hi
X
111111111111 000000000000 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111
v 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111
2v
00000000 11111111 00000000 11111111 00000000 11111111 000000001111111111 11111111 0000000000 11111111111 00000000000 00000000 0000000000 1111111111 0000000000011111111 11111111111 00000000 11111111 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 0000000000 1111111111 0000000000011111111 11111111111 00000000 11111111 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 11111111 0000000000 1111111111 0000000000011111111 11111111111 00000000 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 11111111 0000000000 1111111111 0000000000011111111 11111111111 00000000 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Toward a "good" Aselect
Our A Given Cl the current empty cluster (initially X = ∅): add to X one rectangle of L ∩ H (the highest..) if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select i
i
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
X
2v
21 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
What is missing now?
Road map What we have to do is: dene C1 : DONE if C1 is true (i.e. when W (X ) ≥ m v ), prove that X can be scheduled in 52 otherwise, prove that it is "obvious" to nish packing all the jobs of I 0 in all the remaining empty clusters i
v
22 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
000000000000 111111111111 111111111111 000000000000 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111
Hi ∩ L Hi \ L I 0 \ Hi
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
v
2v
000000000 111111111 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
000000000000 111111111111 111111111111 000000000000 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111
Hi ∩ L Hi \ L I 0 \ Hi
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
v 000000000 111111111 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111
2v
11111111 00000000 00000000 11111111 00000000 11111111 00000000 0000000000 1111111111 0000000000011111111 11111111111 00000000 11111111 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 0000000000 1111111111 0000000000011111111 11111111111 00000000 11111111 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 11111111 0000000000 1111111111 0000000000011111111 11111111111 00000000 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 00000000000 11111111111 00000000 11111111 0000000000 1111111111 0000000000011111111 11111111111 00000000 0000000000 00000000000 11111111111 000000001111111111 11111111 0000000000 1111111111 0000000000011111111 11111111111 00000000 0000000000 1111111111
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Analyzing Aselect
Our A if there are enough rectangles of H \P L to reach 2v , add them to X until reaching 2v (we will have ∈ p ≤ 52 ) otherwise (we know that few jobs of H \ L remain), add to X jobs of I 0 \ H using a non-increasing work order, stops when W (X ) ≥ m v or when no jobs of I 0 \ H remain. select
i
j
X
v
j
i
i
i
1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111
i
v
Hi ∩ L Hi \ L I 0 \ Hi
2v
X
if m v ≤ W (X ) ≤ if W (X ) > 5 4i ? i
m v
5mi v 4
: use Steinberg's algorithm 23 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs
Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs
Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs
Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs
Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
v
2v X = {J0} ∪ {J1, . . . , J
00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111 11111111111 00000000 00000000000 11111111111 00000000 11111111 00000000000 11111111111 00000000 11111111 00000000000 11111111111 00000000 11111111 00000000000 11111111111 00000000 11111111 000000000000 111111111111 00000000111111111111 11111111 000000000000 0000000000 1111111111 000000000000 111111111111 0000000000 1111111111 000000000000 111111111111 0000000000 1111111111 000000000000 111111111111 0000000000 1111111111 000000000000 0000000000111111111111 1111111111 000000000000 111111111111
p
}
If J0 "does not exist", obvious! (as {J1 , . . . , J } ⊂ (L \ H )). p
i
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
Otherwise, we even have p ≤ 3, and the only non obvious case if for p = 3. let J 1 be the rectangle of {J1 , J2 , J3 } having the smallest q let t 1 = 52 − p0 − p 1 . i
i
j
v
i
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
Otherwise, we even have p ≤ 3, and the only non obvious case if for p = 3. let J 1 be the rectangle of {J1 , J2 , J3 } having the smallest q let t 1 = 52 − p0 − p 1 . i
i
j
v
i
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
Otherwise, we even have p ≤ 3, and the only non obvious case if for p = 3. let J 1 be the rectangle of {J1 , J2 , J3 } having the smallest q let t 1 = 52 − p0 − p 1 . i
i
j
v
i
24 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
If J 1 intersects the shelf we get: i
W (X \ J1 )
> >
p0 (m mv
i
i
− q1 ) + ti1 (mi − q1 ) + (Q (Sh) − (mi − q1 ))
as Q (sh) > 2q 1 and t 1 > i
i
3v 2
v
2
−24p/027
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
If J 1 intersects the shelf we get: i
W (X \ J1 )
> >
p0 (m mv
i
i
− q1 ) + ti1 (mi − q1 ) + (Q (Sh) − (mi − q1 ))
as Q (sh) > 2q 1 and t 1 > i
i
3v 2
v
2
−24p/027
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Scheduling at most 4 big jobs Let X = {J0 } ∪ {J1 , . . . , J }, with J0 ∈ H ∩ L (if not empty) W (J ) ≥ W (J +1 ), for 1 ≤ j ≤ p − 1 W (X ) > 5 4i implies J ∈ L for 1 ≤ j ≤ p and p ≤ 4. p
i
j
j
m v
j
2v
v J1 i
J0 p0
11111111111 00000000000 00000000000 11111111111 10 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 1010 00000000000 11111111111 00000000000 11111111111 1010 00000000000 11111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 1010 000000000000 111111111111 000000000000 111111111111 10
X = {J0} ∪ {J1, . . . , J
p
}
Q (sh)
t1 i
If J 1 intersects the shelf we get: i
W (X \ J1 )
> >
p0 (m mv
i
i
− q1 ) + ti1 (mi − q1 ) + (Q (Sh) − (mi − q1 ))
as Q (sh) > 2q 1 and t 1 > i
i
3v 2
v
2
−24p/027
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v work ≥ m1v work ≥ m2v
0110 1010 10 1010 1010 1010 1010 10 010 X 1 10 10
Cl
1
Cl
2
Cl
3
v
2
Cl
Cl
4
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
?
I0
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v work ≥ m1v work ≥ m2v
0110 1010 10 1010 1010 1010 1010 10 010 X 1 10 10
Cl
1
Cl
2
Cl
3
v
2
Cl
Cl
4
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
?
I0
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v work ≥ m1v work ≥ m2v
0110 1010 10 1010 1010 1010 1010 10 010 X 1 10 10
Cl
1
Cl
2
Cl
3
v
2
Cl
Cl
4
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
?
I0
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v work ≥ m1v work ≥ m2v
Cl
1
Cl
2
Cl
3
0110 1010 10 1010 1010 1010 1010 10 1010 10 10
v
2
0110 1010 00000 0000 1111 10 00000 11111 0000 1111 Cl 11111 000001111 11111 000011111 000001111 00001010 00000 11111 0000 1111 00000 11111 0000 1111 00000 11111 0000 1111 10 00000 11111 0000 1111 000001111 11111 000011111 00000v1111 00001010 1010 1010 Cl 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
4
v
2
5
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v work ≥ m1v work ≥ m2v
Cl
1
Cl
2
Cl
3
0110 1010 10 1010 1010 1010 1010 10 1010 10 10
v
2
Cl
Cl
4
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v
work ≥ m1v work ≥ m2v
0110 1010 Cl 10 1010 1010 Cl 1010 1010 00000 11111 10 00000 11111 1010 00000 Cl 11111 111111010 00000
v
2
1
Cl
4
2
Cl
3
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v
work ≥ m1v work ≥ m2v
0110 1010 Cl 10 1010 1010 Cl 1010 1010 00000 11111 10 00000 11111 1010 00000 Cl 11111 111111010 00000
v
2
1
Cl
4
2
Cl
3
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v
work ≥ m1v work ≥ m2v
0110 1010 Cl 10 1010 1010 Cl 1010 1010 00000 11111 10 00000 11111 1010 00000 Cl 11111 111111010 00000
v
2
1
Cl
4
2
Cl
3
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v
work ≥ m1v work ≥ m2v
0110 1010 Cl 10 1010 1010 Cl 1010 1010 00000 11111 10 00000 11111 1010 00000 Cl 11111 111111010 00000
v
2
1
Cl
4
2
Cl
3
5
0110 1010 10 1010 100 v 1 1010 1010 10 1010 10 10
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
v
2
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Finishing when C1 is false v
work ≥ m1v work ≥ m2v
0110 1010 Cl 10 1010 1010 Cl 1010 1010 00000 11111 10 00000 11111 1010 00000 Cl 11111 111111010 00000
v
2
1
Cl
4
2
0110 1010 10 1010 100 v 1 1010 v 1010 10 1010 1111 000011111 1111 00000 000011111 00000 0000 1111 00000 0000 00000 10 1111 000011111 1111 00000 11111 000011111 00000 11111 10 1111 000011111 1111 00000 000011111 1111 00000
11111 00000 00000 11111 00000 H3 \ L 11111
H3 ∩ L
2
Cl
3
5
Let us suppose that A fails for Cl3 (i.e. returns X with W (X ) < m3 v ). Let I 0 be the remaining jobs after lling Cl3 . select
I 0 ⊂ H3 P P (I 0 \ L) = 0 p ≤ 2v if X ∩ (H3 ∩ L) = ∅ then I 0 ⊂ H3 \ L. if X ∩ (H3 ∩ L) 6= ∅: P (I 0 \ L) ≤ 32 I
x
v
how to schedule I ∩ L ? how to schedule I 0 \ L ? 0
25 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Conclusion This algorithm is a 52 -approximation (improving the previous 3 bound, the lower bound being 2) runs in O(log (np )kC ) with
C
Steinb
mapx
Steinb
= nlog 2 (n)/log (log (n))
also applies for continuous scheduling (i.e. rectangle packing) :( requires that every job ts everywhere
Remarks / future work why not 73 ?
A(X ) ≤ 7 6 ⇒Steinberg A(X ) > 7 6 ⇒ at most 6 rectangles.. remove the "t everywhere" assumption.. mi v mi v
26 / 27
Introduction State of art Main ideas of the 52 approximation Finishing the proof
Bibliography [HS87]
D.S. Hochbaum and D.B. Shmoys. Using dual approximation algorithms for scheduling problems theoretical and practical results. Journal of the ACM (JACM), 34(1):144162, 1987.
[Ste97]
A. Steinberg. A strip-packing algorithm with absolute performance bound 2. SIAM Journal on Computing, 26:401, 1997.
[STY08] U. Schwiegelshohn, A. Tchernykh, and R. Yahyapour. Online scheduling in grids. In IEEE International Symposium on Parallel and Distributed 110, 2008. [YHZ09] D. Ye, X. Han, and G. Zhang. On-Line Multiple-Strip Packing. In Proceedings of the 3rd International Conference Applications (COCOA), page 165. Springer, 2009. [Zhu06]
Processing (IPDPS),
pages
on Combinatorial Optimization and
SN Zhuk. Approximate algorithms to pack rectangles into several strips. Discrete Mathematics and Applications, 16(1):7385, 2006.
27 / 27