scheduling and integer linear programming
play

Scheduling and (Integer) Linear Programming Christian Artigues LAAS - PowerPoint PPT Presentation

Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Universit de Toulouse, France artigues@laas.fr Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012,


  1. (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S Perform a polyhedral study : 1 Find a complete description of conv ( S ) with a polynomial number of linear inequalities ? → The problem can be solved by LP Find a complete description of conv ( S ) and show it has a supermodular structure ? → The problem can be solved by a greedy algorithm Find a partial description of conv ( S ) ? → This gives useful valid inequalities Design a (mixed)-integer programming formulation 2 More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics, . . . (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

  2. (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S Perform a polyhedral study : 1 Find a complete description of conv ( S ) with a polynomial number of linear inequalities ? → The problem can be solved by LP Find a complete description of conv ( S ) and show it has a supermodular structure ? → The problem can be solved by a greedy algorithm Find a partial description of conv ( S ) ? → This gives useful valid inequalities Design a (mixed)-integer programming formulation 2 More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics, . . . (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

  3. Outline Introduction 1 Polyhedral studies and cutting plane generation 2 (Mixed) integer programming for scheduling problems 3 Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations Column generation 4 A few Computational results 5 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 9 / 78

  4. A scheduling problem that can be solved by LP Project scheduling S PS 3 1 3 1 2 0 • Precedence constraints E . 0 5 • l ij : minimum distance between the start − 1 0 1 of job i ( S i ) and the start of job j ( S j ). 2 4 2 S PS = { S ∈ R + n | S j − S i ≥ l ij , ∀ ( i , j ) ∈ E } find the shortest schedule min S n + 1 � max l ij x ij S j − S i ≥ l ij ∀ ( i , j ) ∈ E ( i , j ) ∈ E S 0 = 0 � � x ij = x ji ∀ j ∈ J \ { 0 } S j ≥ 0 ∀ j ∈ J i ∈ Γ − 1 ( j ) i ∈ Γ( j ) � x 0 i = 1 i ∈ Γ( 0 ) x 0 i ≥ 0 (longest path model) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 10 / 78

  5. Supermodular polyhedron : definitions [Sch96] Consider a set N = { 1 , . . . , n } and its power set 2 N (set of all subsets of N ) and a supermodular set function f : 2 N → R , i.e. a set function that verifies : � f ( ∅ ) = 0 f ( A ∪ B ) + f ( A ∩ B ) ≥ f ( A ) + f ( B ) , ∀ A , B ⊆ N P ( f )= { x ∈ R | N | | � i ∈ A x i ≥ f ( A ) , ∀ A ⊆ N } supermodular polyhedron There is an O ( n log n ) greedy algorithm to find x ∗ = argmin x ∈P ( f ) cx : if ∃ i ∈ N , c i < 0, the problem is unbounded. otherwise x ∗ ∈ B ( f ) . Solve the problem with the following greedy algorithm � x ∗ 1 = f ( { 1 } ) x ∗ j = f ( { 1 , . . . , j } ) − f ( { 1 , . . . , j − 1 } ) , j = 2 , . . . , n . Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78

  6. Supermodular polyhedron : definitions [Sch96] Consider a set N = { 1 , . . . , n } and its power set 2 N (set of all subsets of N ) and a supermodular set function f : 2 N → R , i.e. a set function that verifies : � f ( ∅ ) = 0 f ( A ∪ B ) + f ( A ∩ B ) ≥ f ( A ) + f ( B ) , ∀ A , B ⊆ N P ( f )= { x ∈ R | N | | � i ∈ A x i ≥ f ( A ) , ∀ A ⊆ N } supermodular polyhedron There is an O ( n log n ) greedy algorithm to find x ∗ = argmin x ∈P ( f ) cx : if ∃ i ∈ N , c i < 0, the problem is unbounded. otherwise x ∗ ∈ B ( f ) . Solve the problem with the following greedy algorithm � x ∗ 1 = f ( { 1 } ) x ∗ j = f ( { 1 , . . . , j } ) − f ( { 1 , . . . , j − 1 } ) , j = 2 , . . . , n . Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78

  7. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  8. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  9. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  10. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  11. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  12. A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible schedules for a set of jobs J on a single machine : � � � C i ≥ p i , ∀ j ∈ J , S SM = � C ∈ R J � C i ≥ C j + p i ∨ C j ≥ C i + p j , ∀ i , j ∈ J , i � = j � � Queyranne [Que93] showed that conv ( S SM ) = { C ∈ R J | � j ∈ A p j C j ≥ g ( A ) , ∀ A ⊆ J } where � 2 + � ��� � g ( A ) = 1 j ∈ A p 2 . j ∈ A p j 2 j These valid inequalities can be obtained by Smith’s rule (WSPT). Optimum for � i ∈J w i C i is obtained by sorting jobs in non decreasing w i / p i . For A = { i 1 , . . . , i s } ⊆ J , set w i = p i for i ∈ A and w i = 0 for i ∈ J \ A Opt = p i 1 p i 1 + p i 2 ( p i 1 + p i 2 )+ . . . + p i s ( p i 1 + p i 2 + . . . + p i s ) = g ( A ) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

  13. A scheduling supermodular polyhedron [Que93] Each inequality � j ∈ S p j C j ≥ g ( S ) defines a facet for conv ( Q ) . conv ( S SM ) is a supermodular polyhedron and the greedy algorithm for minimizing � i ∈J w i C i coincides with the Smith’s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O ( n log n ) separation algorithm is available to find an inequality violated by a given vector C . More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

  14. A scheduling supermodular polyhedron [Que93] Each inequality � j ∈ S p j C j ≥ g ( S ) defines a facet for conv ( Q ) . conv ( S SM ) is a supermodular polyhedron and the greedy algorithm for minimizing � i ∈J w i C i coincides with the Smith’s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O ( n log n ) separation algorithm is available to find an inequality violated by a given vector C . More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

  15. A scheduling supermodular polyhedron [Que93] Each inequality � j ∈ S p j C j ≥ g ( S ) defines a facet for conv ( Q ) . conv ( S SM ) is a supermodular polyhedron and the greedy algorithm for minimizing � i ∈J w i C i coincides with the Smith’s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O ( n log n ) separation algorithm is available to find an inequality violated by a given vector C . More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

  16. A scheduling supermodular polyhedron [Que93] Each inequality � j ∈ S p j C j ≥ g ( S ) defines a facet for conv ( Q ) . conv ( S SM ) is a supermodular polyhedron and the greedy algorithm for minimizing � i ∈J w i C i coincides with the Smith’s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O ( n log n ) separation algorithm is available to find an inequality violated by a given vector C . More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

  17. A scheduling supermodular polyhedron [Que93] Each inequality � j ∈ S p j C j ≥ g ( S ) defines a facet for conv ( Q ) . conv ( S SM ) is a supermodular polyhedron and the greedy algorithm for minimizing � i ∈J w i C i coincides with the Smith’s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O ( n log n ) separation algorithm is available to find an inequality violated by a given vector C . More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

  18. Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates : � � � S i ≥ r i , ∀ j ∈ J , S SMR = � S ∈ R J � S i ≥ S j + l ij ∨ S j ≥ S i + l ji , ∀ i , j ∈ J , i � = j � � The problem of minimizing � S ∈S w i S i is NP-hard = ⇒ no chance to have a complete characterization of conv ( S SMR ) However, Balas [Bal85] studied P = conv ( S ) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K ⊆ J induces also a facet for J . ∀ i ∈ J , S i ≥ r i induces a facet of P ∀ i , j ∈ J , i � = j , ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij induces a facet of P if and only if − d ji < r j − r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

  19. Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates : � � � S i ≥ r i , ∀ j ∈ J , S SMR = � S ∈ R J � S i ≥ S j + l ij ∨ S j ≥ S i + l ji , ∀ i , j ∈ J , i � = j � � The problem of minimizing � S ∈S w i S i is NP-hard = ⇒ no chance to have a complete characterization of conv ( S SMR ) However, Balas [Bal85] studied P = conv ( S ) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K ⊆ J induces also a facet for J . ∀ i ∈ J , S i ≥ r i induces a facet of P ∀ i , j ∈ J , i � = j , ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij induces a facet of P if and only if − d ji < r j − r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

  20. Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates : � � � S i ≥ r i , ∀ j ∈ J , S SMR = � S ∈ R J � S i ≥ S j + l ij ∨ S j ≥ S i + l ji , ∀ i , j ∈ J , i � = j � � The problem of minimizing � S ∈S w i S i is NP-hard = ⇒ no chance to have a complete characterization of conv ( S SMR ) However, Balas [Bal85] studied P = conv ( S ) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K ⊆ J induces also a facet for J . ∀ i ∈ J , S i ≥ r i induces a facet of P ∀ i , j ∈ J , i � = j , ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij induces a facet of P if and only if − d ji < r j − r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

  21. Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates : � � � S i ≥ r i , ∀ j ∈ J , S SMR = � S ∈ R J � S i ≥ S j + l ij ∨ S j ≥ S i + l ji , ∀ i , j ∈ J , i � = j � � The problem of minimizing � S ∈S w i S i is NP-hard = ⇒ no chance to have a complete characterization of conv ( S SMR ) However, Balas [Bal85] studied P = conv ( S ) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K ⊆ J induces also a facet for J . ∀ i ∈ J , S i ≥ r i induces a facet of P ∀ i , j ∈ J , i � = j , ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij induces a facet of P if and only if − d ji < r j − r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

  22. Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv ( S ) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 Optimum has been found after adding Balas inequality ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij ⇒ the optimum cannot be found Separation is NP-hard in general = quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

  23. Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv ( S ) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 3 S 1 + 5 S 2 ≥ 7 Optimum has been found after adding Balas inequality ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij ⇒ the optimum cannot be found Separation is NP-hard in general = quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

  24. Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv ( S ) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 S 1 + 3 S 2 ≥ 6 Optimum has been found after adding Balas inequality ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij ⇒ the optimum cannot be found Separation is NP-hard in general = quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

  25. Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv ( S ) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 2 S 1 + 3 S 2 ≥ 9 Optimum has been found after adding Balas inequality ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij ⇒ the optimum cannot be found Separation is NP-hard in general = quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

  26. Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv ( S ) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 2 S 1 + 3 S 2 ≥ 9 Optimum has been found after adding Balas inequality ( l ij + r i − r j ) S i + ( l ji + r j − r i ) S j ≥ d ij d ji + L i d ji + L j d ij ⇒ the optimum cannot be found Separation is NP-hard in general = quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

  27. Outline Introduction 1 Polyhedral studies and cutting plane generation 2 (Mixed) integer programming for scheduling problems 3 Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations Column generation 4 A few Computational results 5 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 16 / 78

  28. Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound S 2 S S 1 Remark : once x is fixed, extreme points are integral = ⇒ no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

  29. Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 + p 1 + p 2 S 1 ≥ r 1 S 2 S S 2 ≥ r 2 S 1 + p 1 ≤ ˜ d 1 S 2 + p 2 ≤ ˜ d 2 S 2 − S 1 + Mx ≥ p 1 S 1 − S 2 + M ( 1 − x ) ≥ p 2 S 1 , S 2 integer S 1 x ∈ { 0 , 1 } Remark : once x is fixed, extreme points are integral = ⇒ no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

  30. Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 + p 1 + p 2 S 1 ≥ r 1 S 2 S S 2 ≥ r 2 S 1 + p 1 ≤ ˜ d 1 S 2 + p 2 ≤ ˜ d 2 S 2 − S 1 + Mx ≥ p 1 S 1 − S 2 + M ( 1 − x ) ≥ p 2 S 1 , S 2 integer S 1 x ∈ { 0 , 1 } Remark : once x is fixed, extreme points are integral = ⇒ no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

  31. Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 + p 1 + p 2 S 2 S 1 ≥ r 1 S S 2 ≥ r 2 S 1 + p 1 ≤ ˜ d 1 S 2 + p 2 ≤ ˜ d 2 S 2 − S 1 + Mx ≥ p 1 S 1 − S 2 + M ( 1 − x ) ≥ p 2 S 1 S 1 , S 2 integer Left node x = 1 x ∈ { 0 , 1 } Remark : once x is fixed, extreme points are integral = ⇒ no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

  32. Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 + p 1 + p 2 S 2 S S 1 ≥ r 1 S 2 ≥ r 2 S 1 + p 1 ≤ ˜ d 1 S 2 + p 2 ≤ ˜ d 2 S 2 − S 1 + Mx ≥ p 1 S 1 S 1 − S 2 + M ( 1 − x ) ≥ p 2 Right node x = 0 S 1 , S 2 integer � J 1 J 2 C i = 8 x ∈ { 0 , 1 } 0 1 2 3 4 5 6 Remark : once x is fixed, extreme points are integral = ⇒ no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

  33. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  34. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  35. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  36. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  37. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  38. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  39. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  40. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  41. Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs • n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . • Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . • m resources (set R ). Constant availability B k , k ∈ R . • For each job i ∈ J : duration p i and resource requirements b ik , k ∈ R . • Resource constraints � i ∈J | S i ≤ t ≤ S i + p i − 1 b ik ≤ B k , ∀ t ∈ T , ∀ k ∈ R . • Cost function w j : { 1 , . . . , T } → R . • Find a schedule that minimizes � i ∈J w j ( S j ) . Remark 1 : |R| = 1 , B 1 = 1 , and b i 1 = 1 , ∀ i ∈ J = ⇒ 1-machine problem. Remark 2 : |R| = 1 , B 1 ≥ 2 and b i 1 = 1 , ∀ i ∈ J = ⇒ parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

  42. Scheduling objectives Objective min � i ∈J w j ( S j ) models most standard objectives Makespan min max i ∈J C i Let J = { 1 , . . . , n + 1 } with n + 1 dummy end jobs. w i ( t ) = 0 , ∀ i ∈ J \ { n + 1 } , w n + 1 ( t ) = t Maximum lateness min max i ∈J C i − d i Same modeling by adding arc ( i , n + 1 ) in E with l i , n + 1 = p i − d i Earliness-tardiness costs i ∈J ( α i max ( 0 , d i − C i ) + β i max ( 0 , C i − d i ) min � w i ( t ) = α i max ( 0 , d i − t − p i ) + β i max ( 0 , t + p i − d i ) (weighted completion time if, in addition, d i = 0 ∧ α i = 0 , ∀ i ∈ J ) Weighted number of late jobs � i ∈J w i U i � 0 if t + p i ≤ d i w i ( t ) = w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

  43. Scheduling objectives Objective min � i ∈J w j ( S j ) models most standard objectives Makespan min max i ∈J C i Let J = { 1 , . . . , n + 1 } with n + 1 dummy end jobs. w i ( t ) = 0 , ∀ i ∈ J \ { n + 1 } , w n + 1 ( t ) = t Maximum lateness min max i ∈J C i − d i Same modeling by adding arc ( i , n + 1 ) in E with l i , n + 1 = p i − d i Earliness-tardiness costs i ∈J ( α i max ( 0 , d i − C i ) + β i max ( 0 , C i − d i ) min � w i ( t ) = α i max ( 0 , d i − t − p i ) + β i max ( 0 , t + p i − d i ) (weighted completion time if, in addition, d i = 0 ∧ α i = 0 , ∀ i ∈ J ) Weighted number of late jobs � i ∈J w i U i � 0 if t + p i ≤ d i w i ( t ) = w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

  44. Scheduling objectives Objective min � i ∈J w j ( S j ) models most standard objectives Makespan min max i ∈J C i Let J = { 1 , . . . , n + 1 } with n + 1 dummy end jobs. w i ( t ) = 0 , ∀ i ∈ J \ { n + 1 } , w n + 1 ( t ) = t Maximum lateness min max i ∈J C i − d i Same modeling by adding arc ( i , n + 1 ) in E with l i , n + 1 = p i − d i Earliness-tardiness costs i ∈J ( α i max ( 0 , d i − C i ) + β i max ( 0 , C i − d i ) min � w i ( t ) = α i max ( 0 , d i − t − p i ) + β i max ( 0 , t + p i − d i ) (weighted completion time if, in addition, d i = 0 ∧ α i = 0 , ∀ i ∈ J ) Weighted number of late jobs � i ∈J w i U i � 0 if t + p i ≤ d i w i ( t ) = w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

  45. Scheduling objectives Objective min � i ∈J w j ( S j ) models most standard objectives Makespan min max i ∈J C i Let J = { 1 , . . . , n + 1 } with n + 1 dummy end jobs. w i ( t ) = 0 , ∀ i ∈ J \ { n + 1 } , w n + 1 ( t ) = t Maximum lateness min max i ∈J C i − d i Same modeling by adding arc ( i , n + 1 ) in E with l i , n + 1 = p i − d i Earliness-tardiness costs i ∈J ( α i max ( 0 , d i − C i ) + β i max ( 0 , C i − d i ) min � w i ( t ) = α i max ( 0 , d i − t − p i ) + β i max ( 0 , t + p i − d i ) (weighted completion time if, in addition, d i = 0 ∧ α i = 0 , ∀ i ∈ J ) Weighted number of late jobs � i ∈J w i U i � 0 if t + p i ≤ d i w i ( t ) = w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

  46. Outline Introduction 1 Polyhedral studies and cutting plane generation 2 (Mixed) integer programming for scheduling problems 3 Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations Column generation 4 A few Computational results 5 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 20 / 78

  47. MILP Formulations with time-indexed variables � T time-indexed variables x it = 1 ⇔ S i = t ⇔ S i = t = 0 tx it Single machine � � min w j ( t ) x jt j ∈J t ∈T � x jt = 1 ∀ j ∈ J t ∈T T T � � tx jt − tx it ≥ l ij ∀ ( i , j ) ∈ E t = 0 t = 0 t � � x js ≤ 1 ∀ t ∈ T j ∈J s = t − p j + 1 x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

  48. MILP Formulations with time-indexed variables � T time-indexed variables x it = 1 ⇔ S i = t ⇔ S i = t = 0 tx it Parallel machines � � min w j ( t ) x jt j ∈J t ∈T � x jt = 1 ∀ j ∈ J t ∈T T T � � tx jt − tx it ≥ l ij ∀ ( i , j ) ∈ E t = 0 t = 0 t � � x js ≤ B ∀ t ∈ T j ∈J s = t − p j + 1 x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

  49. MILP Formulations with time-indexed variables time-indexed variables x it = 1 ⇔ S i = t ⇔ S i = � T t = 0 tx it RCPSP � � min w j ( t ) x jt j ∈J t ∈T � x jt = 1 ∀ j ∈ J t ∈T T T � � tx jt − tx it ≥ l ij ∀ ( i , j ) ∈ E t = 0 t = 0 t � � b jk x js ≤ B k ∀ t ∈ T , ∀ k ∈ R j ∈J s = t − p j + 1 x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T nT variables, | E | precedence constraints, |R| T resource constraints. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

  50. MILP Formulations with time-indexed variables time-indexed variables x it = 1 ⇔ S i = t ⇔ S i = � T t = 0 tx it RCPSP (disaggregated precedence constraints) � � min w j ( t ) x jt j ∈J t ∈T � x jt = 1 ∀ j ∈ J t ∈T t + l ij − 1 T � � x is + x js ≤ 1 ∀ ( i , j ) ∈ E , ∀ t ∈ T s = t s = 0 t � � b jk x js ≤ B k ∀ t ∈ T , ∀ k ∈ R j ∈J s = t − p j + 1 x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T nT variables, | E | T precedence constraints, |R| T resource constraints. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

  51. Outline Introduction 1 Polyhedral studies and cutting plane generation 2 (Mixed) integer programming for scheduling problems 3 Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations Column generation 4 A few Computational results 5 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 22 / 78

  52. Total unimodularity A matrix A is totally unimodular (TU) if and only if every square submatrix has determinant 0, 1 or -1. if A is TU, min Ax ≥ b cx has an integer optimal solution or there is no solution A is TU if (sufficient condition) rows can be partitionned into two disjoint sets B and C such that each column of A has at most two non-zero entries, each entry of A is 0, 1 or -1 if two non-zeros in a column have opposite signs, they are in the same subset of rows (both in B or both in C ). if two non-zeros in a column have the same sign, there is one in B and the other one in C A is also TU if its transpose is TU. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 23 / 78

  53. Total unimodularity and scheduling Project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i ∈ T = { 0 , 1 , . . . , T } . Precedence constraints E such that ( i , j ) ∈ E = ⇒ S j ≥ S i + l ij . Cost function w j : { 1 , . . . , T } → R . Find a schedule that minimizes � j ∈J w j ( S j ) . time-indexed variable z it = 1 ⇔ S i ≤ t ( z it = � T t = 0 x it ) � � ( w j ( t ) − w j ( t + 1 )) z jt min j ∈J t ∈T z jT = 1 ∀ j ∈ J z jt − z j , t + 1 ≤ 0 ∀ j ∈ J , ∀ t ∈ T z j , t + l ij − z it ≤ 0 ∀ ( i , j ) ∈ E , ∀ t ∈ T z jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T The matrix totally unimodular = ⇒ no integer restriction needed ! Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 24 / 78

  54. Comparison between formulations Other IP with time-indexed variables x it = 1 ⇔ S i = t ( nT variables) � � � � min w j ( t ) x jt min w j ( t ) x jt j ∈J t ∈T j ∈J t ∈T � � x jt = 1 ∀ j ∈ J x jt = 1 ∀ j ∈ J t ∈T t ∈T t + l ij − 1 T T T � � � � x is + x js ≤ 1 ∀ ( i , j ) ∈ E , ∀ t ∈ T tx js − tx is ≥ l ij ∀ ( i , j ) ∈ E t = 0 t = 0 s = t s = 0 x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T x jt ∈ { 0 , 1 } ∀ j ∈ J , ∀ t ∈ T Totally unimodular matrix, integer polyhedron Polyhedron is not integer ! For the RCPSP, the LP relaxation of the time-indexed model with disagreggated precedence constraints is tighter. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 25 / 78

  55. MILP Formulations with time-indexed variables : facets Facet-inducing inequalities for the single-machine polyhedron (without precedence constraints) [SW92] � x jt ≤ 1 ∀ j ∈ J t ∈T t � � x js ≤ 1 ∀ t ∈ T j ∈J s = t − p j + 1 t +∆ − 1 t � � � x js + x is ≤ 1 ∀ j ∈ J , ∀ t ∈ T , s = t − p j + 1 i � = j s = t − p i +∆ ∀ ∆ ∈ { 2 , . . . , max i � = j p i } All facet-inducing inequalities with rhs = 1 [vHS99]. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 26 / 78

  56. Sousa and Wolsey valid inequalities [SW92] T 2 = 1 x ju � 2 u = 1 t 2 ≤ 1 x is � � 2 s = t − p i + 1 i ∈J t +∆ − 1 x is 2 ≤ 1 � � 2 i ∈J s = t − p i +∆ T n t t +∆ − 1 2 ⌋ ≤ ⌊ 3 x ju x is x is � � � � � ⌊ 2 + 2 + 2 ⌋ u = 1 i = 1 s = t − p i + 1 i ∈J s = t − p i +∆ t +∆ − 1 t � � � x is ≤ 1 x js + s = t − p j + 1 i � = j s = t − p i +∆ Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 27 / 78

  57. Sousa and Wolsey valid inequalities [SW92] For each time period t ∈ T , for each task j ∈ T and for each ∆ ∈ { 2 , . . . , max i � = j p i } t − p j + 1 t + ∆ − 1 j t − p i + ∆ ≤ 1 t i ∈ J \ { j } Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 28 / 78

  58. van den Akker et al. valid ineqalities [vHS99] u 1 − p j 1 + 1 u 1 + ∆ 1 − 1 u 2 − p j 1 − v u 2 − p j 1 + 1 u 1 + ∆ 1 + z u 2 + ∆ 2 − 1 j 1 u 1 − p j 2 + ∆ 1 max { u 2 − v , u 1 + ∆ 1 } − p j 2 u 2 − p j 2 + ∆ 2 min { u 1 + ∆ 1 + z , u 2 } u 1 u 2 j 2 ≤ 2 u 1 − p i + ∆ 1 + z + 1 u 1 u 2 − p i + 1 u 1 + ∆ 1 − 1 u 2 − p i + ∆ 2 u 2 − v − 1 i ∈ J\{ j 1 , j 2 } L M U With the same principle all facet-inducing inequalities with rhs = 2 are derived. In [WJNS02], relation with valid ineqalities for the node packing problem is established. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 29 / 78

  59. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t s = t − p j + 1 + v x iq + � t + v � s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C \{ i } b i ≤ B , ∀ i ∈ C . � Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  60. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t s = t − p j + 1 + v x iq + � t + v � s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. � C \{ i } b i ≤ B , ∀ i ∈ C . Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  61. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t s = t − p j + 1 + v x iq + � t + v � s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C \{ i } b i ≤ B , ∀ i ∈ C . � Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  62. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t � t + v � s = t − p j + 1 + v x iq + s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. � C \{ i } b i ≤ B , ∀ i ∈ C . Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  63. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t � t + v � s = t − p j + 1 + v x iq + s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. � C \{ i } b i ≤ B , ∀ i ∈ C . Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  64. Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j ∈ F b i > B . � � t � s = t − p j + 1 x js ≤ | F | − 1 is a valid inequality ∀ t ∈ T . j ∈ F Consider now a “special” task j ∈ F and an interval v ≥ 0 � t � t + v � s = t − p j + 1 + v x iq + s = t − p j + 1 x js ≤ | F | − 1 is a valid i ∈ F \{ j } inequality ∀ t ∈ T . The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. � C \{ i } b i ≤ B , ∀ i ∈ C . Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

  65. Outline Introduction 1 Polyhedral studies and cutting plane generation 2 (Mixed) integer programming for scheduling problems 3 Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations Column generation 4 A few Computational results 5 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 31 / 78

  66. Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = ⇒ need to consider more compact models. Binary variable y ij = 1 if and only if S j ≥ S i + p i Disjunctive case : y ij = 1 − y ji , ∀ ( i , j ) ∈ D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = � i ∈ D \{ j } y ij p i + p j Not possible to consider start dependent costs = ⇒ objective � i ∈J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

  67. Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = ⇒ need to consider more compact models. Binary variable y ij = 1 if and only if S j ≥ S i + p i Disjunctive case : y ij = 1 − y ji , ∀ ( i , j ) ∈ D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = � i ∈ D \{ j } y ij p i + p j Not possible to consider start dependent costs = ⇒ objective � i ∈J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

  68. Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = ⇒ need to consider more compact models. Binary variable y ij = 1 if and only if S j ≥ S i + p i Disjunctive case : y ij = 1 − y ji , ∀ ( i , j ) ∈ D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = � i ∈ D \{ j } y ij p i + p j Not possible to consider start dependent costs = ⇒ objective � i ∈J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

  69. Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = ⇒ need to consider more compact models. Binary variable y ij = 1 if and only if S j ≥ S i + p i Disjunctive case : y ij = 1 − y ji , ∀ ( i , j ) ∈ D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = � i ∈ D \{ j } y ij p i + p j Not possible to consider start dependent costs = ⇒ objective � i ∈J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

  70. Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = ⇒ need to consider more compact models. Binary variable y ij = 1 if and only if S j ≥ S i + p i Disjunctive case : y ij = 1 − y ji , ∀ ( i , j ) ∈ D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = � i ∈ D \{ j } y ij p i + p j Not possible to consider start dependent costs = ⇒ objective � i ∈J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

  71. Sequencing variables : simplest case Simple case (one-machine, no release dates, no precedence constraints) ⇒ C j = � i > j ( 1 − y ji ) p i + p j Consider y ij for i < j = i < j y ij p i + � � j w j C j = � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij + � 1 ≤ i < j ≤ n w i p j + � j ∈J w j p j The objective is easily optimized by LP : min � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij 0 ≤ y ij ≤ 1 ∀ i ∈ J , ∀ ∈ J , j > i It suffices to fix y ij = 1 if w j p i − w i p j ≤ 0 and to 0 otherwise ⇒ WSPT rule [QS94]. = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

  72. Sequencing variables : simplest case Simple case (one-machine, no release dates, no precedence constraints) ⇒ C j = � i > j ( 1 − y ji ) p i + p j Consider y ij for i < j = i < j y ij p i + � � j w j C j = � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij + � 1 ≤ i < j ≤ n w i p j + � j ∈J w j p j The objective is easily optimized by LP : min � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij 0 ≤ y ij ≤ 1 ∀ i ∈ J , ∀ ∈ J , j > i It suffices to fix y ij = 1 if w j p i − w i p j ≤ 0 and to 0 otherwise ⇒ WSPT rule [QS94]. = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

  73. Sequencing variables : simplest case Simple case (one-machine, no release dates, no precedence constraints) ⇒ C j = � i > j ( 1 − y ji ) p i + p j Consider y ij for i < j = i < j y ij p i + � � j w j C j = � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij + � 1 ≤ i < j ≤ n w i p j + � j ∈J w j p j The objective is easily optimized by LP : min � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij 0 ≤ y ij ≤ 1 ∀ i ∈ J , ∀ ∈ J , j > i It suffices to fix y ij = 1 if w j p i − w i p j ≤ 0 and to 0 otherwise ⇒ WSPT rule [QS94]. = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

  74. Sequencing variables : simplest case Simple case (one-machine, no release dates, no precedence constraints) ⇒ C j = � i > j ( 1 − y ji ) p i + p j Consider y ij for i < j = i < j y ij p i + � � j w j C j = � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij + � 1 ≤ i < j ≤ n w i p j + � j ∈J w j p j The objective is easily optimized by LP : min � 1 ≤ i < j ≤ n ( w j p i − w i p j ) y ij 0 ≤ y ij ≤ 1 ∀ i ∈ J , ∀ ∈ J , j > i It suffices to fix y ij = 1 if w j p i − w i p j ≤ 0 and to 0 otherwise ⇒ WSPT rule [QS94]. = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

  75. Sequencing variables : one machine, precedence constraints (1) Set E of precedence constraints (MILP due to [Pot80]) min � i , j ∈J p i w j y ij + � j ∈J p j w j y ij + y ji = 1 ∀ i , j ∈ J , i � = j y ij + y jk − y ik ≤ 1 ∀ i , j , k ∈ J , i � = j � = k y ij = 1 ∀ ( i , j ) ∈ E ∀ ( j , i ) ∈ E y ij = 0 y ij ∈ { 0 , 1 } ∀ i , j ∈ J , i � = j (NP-hard) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 34 / 78

  76. Sequencing variables : one machine, precedence constraints (2) A vertex cover LP-relaxation. Let i ↔ j denote { ( i , j ) , ( j , i ) } ∩ E = ∅ min � i , j ∈J p i w j y ij + � j ∈J p j w j y ij + y ji ≥ 1 ∀ i , j ∈ J , i � = j , i ↔ j y ik + y kj ≥ 1 ∀ ( i , j ) ∈ E , ∀ k ∈ J , i ↔ k , k ↔ j y il + y kj ≥ 1 ∀ ( i , j ) , ( k , l ) ∈ E , i ↔ l , j ↔ k y ij ≥ 0 ∀ i , j ∈ J , i � = j , i ↔ j For Series-Parallel precedence constraints, the polyhedron is integral and yields a feasible solution [CS04] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 35 / 78

  77. Sequencing and natural date variables : one machine, release dates Jobs have release dates r i , assuming r 1 ≤ r 2 ≤ . . . ≤ r n Idle times = ⇒ need to consider natural date variables S i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

  78. Sequencing and natural date variables : one machine, release dates Jobs have release dates r i , assuming r 1 ≤ r 2 ≤ . . . ≤ r n Idle times = ⇒ need to consider natural date variables S i MILP by [NS92] (improving [DW90] inequalities) linearizing : � S j ≥ ( r i + p i ) y ij + p k y ik y kj ∀ i , j ∈ J , i � = j k � = i , j Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

  79. Sequencing and natural date variables : one machine, release dates Jobs have release dates r i , assuming r 1 ≤ r 2 ≤ . . . ≤ r n Idle times = ⇒ need to consider natural date variables S i MILP by [NS92] (improving [DW90] inequalities) linearizing : � S j ≥ ( r i + p i ) y ij + p k y ik y kj ∀ i , j ∈ J , i � = j k � = i , j min � j ∈J w j S j S j ≥ ( r i + p i ) y ij + � k < i , k � = j p k ( y ik − y jk )+ � ∀ i , j ∈J , i � = j k > i , k � = j p k y kj S j ≥ r i ∀ i ∈ J y ij + y ji = 1 ∀ 1 ≤ i < j ≤ n y ij + y jk − y ik ≤ 1 ∀ i , j , k ∈ J , i � = j � = k δ jk ∈ { 0 , 1 } ∀ i , j ∈ J , i � = j Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

  80. Sequencing and natural date variables : the general disjunctive scheduling problem min � j ∈J w j S j S j ≥ r i ∀ i ∈ J S j − S i + M ij ( 1 − y ij ) ≥ p i ∀ ( i , j ) ∈ D y ij + y ji = 1 ∀ ( i , j ) ∈ D y ij + y jk − y ik ≤ 1 ∀ ( i , j ) , ( j , k ) , ( k , i ) ∈ D , i � = j � = k S j − S i ≥ l ij ∀ ( i , j ) ∈ E y ij ∈ { 0 , 1 } ∀ ( i , j ) ∈ D with M ij an upper bound on S i + p i − S j , e.g. ˜ d i − r j in case of deadlines. ( n ( n − 1 ) / 2 integer variables, n continuous variables) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 37 / 78

  81. Sequencing and natural date variables : RCPSP Forbidden set F ∈ F : ∃ k ∈ R , � j ∈ F b jk > B k . min � j ∈J w j S j MIP issued from [AVT93] S j ≥ r i ∀ i ∈ J S j − S i + M ij ( 1 − y ij ) ≥ p i ∀ ( i , j ) ∈ D � y ij ≥ 1 ∀ F ∈ F i , j ∈ F , i � = j y ij + y ji ≤ 1 ∀ i , j ∈ J y ij + y ji = 1 ∀ ( i , j ) ∈ D y ij + y jk − y ik ≤ 1 ∀ ( i , j ) , ( j , k ) , ( ki ) ∈ D , i � = j � = k S j − S i ≥ l ij ∀ ( i , j ) ∈ E y ij ∈ { 0 , 1 } ∀ ( i , j ) ∈ D Let SY the set of feasible ( S , y ) vectors. ( n ( n − 1 ) binary variables, n continuous variables, |F| ? ?) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 38 / 78

  82. Sequencing and natural date variables : compact model for the RCPSP Replace exponential number of constraints � i , j ∈ F , i � = j y ij ≥ 1 ∀ F ∈ F by resource flow networks (0 dummy source job and n + 1 dummy sink job) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78

  83. Sequencing and natural date variables : compact model for the RCPSP Replace exponential number of constraints � i , j ∈ F , i � = j y ij ≥ 1 ∀ F ∈ F by resource flow networks (0 dummy source job and n + 1 dummy sink job) � � f 0 jk = f j , n + 1 , k = B k ∀ j ∈ J , ∀ k ∈ R j ∈J j ∈J � � ∀ i ∈ J , ∀ k ∈ R f ijk = f jik = b ik j � = i j � = i 0 ≤ f ijk ≤ min ( b ik , b jk ) y ij ∀ i , j ∈ J , i � = j , ∀ k ∈ R Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78

Recommend


More recommend