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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend