A Lasserre-based (1 + ε ) -approximation for Makespan Scheduling with Precedence Constraints Elaine Levey and Thomas Rothvoss
Makespan Scheduling w. Precedence Constraints Input: ◮ Unit-size jobs J with precedence constraints ◮ Number m of identical machines 2 5 1 3 6 8 machine 1 4 7 machine 2 machine m 9 10 11 12 13
Makespan Scheduling w. Precedence Constraints Input: ◮ Unit-size jobs J with precedence constraints ◮ Number m of identical machines Goal: Schedule jobs as to minimize makespan 2 5 1 3 6 8 machine 1 2 4 6 4 7 machine 2 1 3 5 7 8 9 10 11 12 13 machine m 9 10 11 12 13 makespan
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 2 1 3 6 8 m 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 1 3 6 8 m 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 9 1 3 6 8 m 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 2 9 1 3 6 8 m 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 2 9 3 1 3 6 8 m 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 2 9 3 1 3 6 8 m 4 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 2 9 3 1 3 6 8 m 4 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 2 9 3 6 1 3 6 8 m 4 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 2 9 3 6 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 2 9 3 6 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 2 9 3 6 10 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 2 9 3 6 10 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 2 9 3 6 10 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 13 2 9 3 6 10 1 3 6 8 m 4 7 4 7 9 10 11 12 13
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 13 2 9 3 6 10 1 3 6 8 m 4 7 4 7 9 10 11 12 13 Analysis: ◮ There is a chain active at all non-busy times!
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 13 2 9 3 6 10 1 3 6 8 m 4 7 4 7 ≤ OPT 9 10 11 12 13 Analysis: ◮ There is a chain active at all non-busy times! ◮ Length of chain ≤ OPT
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 13 2 9 3 6 10 1 3 6 8 m 4 7 4 7 ≤ OPT 9 10 11 12 13 ≤ OPT Analysis: ◮ There is a chain active at all non-busy times! ◮ Length of chain ≤ OPT ◮ Length of busy times ≤ OPT
List Scheduling (Graham ’66) Algorithm: (1) FOR slots at time t = 1 TO ∞ DO: (2) Select any job that has all predecessors completed 2 5 1 1 2 5 8 11 12 13 2 9 3 6 10 1 3 6 8 m 4 7 4 7 ≤ OPT 9 10 11 12 13 ≤ OPT Analysis: ◮ There is a chain active at all non-busy times! ◮ Length of chain ≤ OPT ◮ Length of busy times ≤ OPT ⇒ 2-apx ((2 − 2 m ) for p j = 1; 2 − 1 m for arbitrary p j )
A linear programming formulation T � x jt = 1 ∀ j ∈ J t =1 Interpretation: � ≤ ∀ t ∈ [ T ] x jt m � j ∈ J 1 if run j at time t x jt = � � x it ′ ≤ x jt ′ ∀ i ≺ j ∀ t ∈ [ T ] 0 otherwise t ′ ≤ t t ′ ≤ t +1 0 ≤ x jt ≤ 1 ∀ j ∈ J ∀ t ∈ [ T ]
A linear programming formulation T � x jt = 1 ∀ j ∈ J t =1 Interpretation: � ≤ ∀ t ∈ [ T ] x jt m � j ∈ J 1 if run j at time t x jt = � � x it ′ ≤ x jt ′ ∀ i ≺ j ∀ t ∈ [ T ] 0 otherwise t ′ ≤ t t ′ ≤ t +1 0 ≤ x jt ≤ 1 ∀ j ∈ J ∀ t ∈ [ T ] 1 1 4 1 4 M 1 2 3 2 5 4 2 5 M 2 5 time 3 6 6 3 6 ◮ Integrality gap: 2 − Θ( 1 m )
Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66]
Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66] ◮ No (2 − ε )-apx under variant of UGC [Svensson ’10]
Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66] ◮ No (2 − ε )-apx under variant of UGC [Svensson ’10] Open problems: ◮ Is P 3 | p j = 1 , prec | C max NP -hard? [Garey Johnson ’79]
Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66] ◮ No (2 − ε )-apx under variant of UGC [Svensson ’10] Open problems: ◮ Is P 3 | p j = 1 , prec | C max NP -hard? [Garey Johnson ’79] ◮ Is there a PTAS for P 3 | p j = 1 , prec | C max ? [Part of # 1 of “Open problems in Scheduling”; Schuurman, Woeginger ’99]
Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66] ◮ No (2 − ε )-apx under variant of UGC [Svensson ’10] Open problems: ◮ Is P 3 | p j = 1 , prec | C max NP -hard? [Garey Johnson ’79] ◮ Is there a PTAS for P 3 | p j = 1 , prec | C max ? [Part of # 1 of “Open problems in Scheduling”; Schuurman, Woeginger ’99] Theorem (Levey, R. 15) The integrality gap of LP is 1 + ε after (log n ) O (log log n ) -Lasserre rounds (for constants m and ε > 0). ◮ Running time n (log n ) O (log log n ) ◮ Sherali-Adams suffices
b b b Lift-and-project methods int. hull of K K
b b b b b b b Lift-and-project methods Las 1 ( K ) int. hull of K K
b b b b b b b Lift-and-project methods Las 2 ( K ) int. hull of K K
b b b b b b Lift-and-project methods b Las 3 ( K ) int. hull of K K
b b b b b b b Lift-and-project methods Las n ( K ) int. hull of K K
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } .
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I ◮ y { i } = x i
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I ◮ y { i } = x i ◮ y ∅ = 1
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I ◮ y { i } = x i ◮ y ∅ = 1 Round- t Lasserre relaxation ( y I ∪ J ) | I | , | J |≤ t � 0 � � � i ∈ [ n ] A ℓi y I ∪ J ∪{ i } − b ℓ y I ∪ J � 0 ∀ ℓ ∈ [ m ] | I | , | J |≤ t y ∅ = 1
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I ◮ y { i } = x i ◮ y ∅ = 1 moment matrix Round- t Lasserre relaxation ( y I ∪ J ) | I | , | J |≤ t � 0 � � � i ∈ [ n ] A ℓi y I ∪ J ∪{ i } − b ℓ y I ∪ J � 0 ∀ ℓ ∈ [ m ] | I | , | J |≤ t y ∅ = 1
Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } . ◮ Introduce variables for I ⊆ [ n ], | I | ≤ t � y I ≡ ( x i = 1) i ∈ I slack moment matrix ◮ y { i } = x i ◮ y ∅ = 1 moment matrix Round- t Lasserre relaxation ( y I ∪ J ) | I | , | J |≤ t � 0 � � � i ∈ [ n ] A ℓi y I ∪ J ∪{ i } − b ℓ y I ∪ J � 0 ∀ ℓ ∈ [ m ] | I | , | J |≤ t y ∅ = 1
Recommend
More recommend