a lasserre based 1 approximation for makespan scheduling
play

A Lasserre-based (1 + ) -approximation for Makespan Scheduling - PowerPoint PPT Presentation

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


  1. A Lasserre-based (1 + ε ) -approximation for Makespan Scheduling with Precedence Constraints Elaine Levey and Thomas Rothvoss

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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!

  19. 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

  20. 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

  21. 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 )

  22. 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 ]

  23. 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 )

  24. Main Theorem Unit size job makespan minimization: ◮ (2 − Θ( 1 m ))-apx in poly-time [Graham ’66]

  25. 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]

  26. 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]

  27. 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]

  28. 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

  29. b b b Lift-and-project methods int. hull of K K

  30. b b b b b b b Lift-and-project methods Las 1 ( K ) int. hull of K K

  31. b b b b b b b Lift-and-project methods Las 2 ( K ) int. hull of K K

  32. b b b b b b Lift-and-project methods b Las 3 ( K ) int. hull of K K

  33. b b b b b b b Lift-and-project methods Las n ( K ) int. hull of K K

  34. Round- t Lasserre relaxation ◮ Given: K = { x ∈ R n | Ax ≥ b } .

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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