168
Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Université de Toulouse, France [email protected] Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 1 / 78

Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France [email protected]

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Scheduling and (Integer) Linear Programming

Christian Artigues

LAAS - CNRS & Université de Toulouse, France

[email protected]

Master Class CPAIOR 2012 - Nantes

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 1 / 78

Page 2: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problems

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 2 / 78

Page 3: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 3 / 78

Page 4: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A bit of history

Since the beginning, linear programming has been used to solvescheduling problems.

“The military refer to their various plans or proposedschedules of training, logistical supply and deployment ofcombat units as a program. When I first analyzed the AirForce planning problem and saw that it could be formulatedas a system of linear inequalities, I called my paperProgramming in a Linear Structure” (Georges Dantzig)

This presentation is a (non-exhaustive) survey of (integer) linearprogramming formulations and valid inequalities for schedulingproblems

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 4 / 78

Page 5: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A simple scheduling exampleOne machine scheduling with release dates and deadlines2 jobs J1 and J2 (p1 = 3, p2 = 2, r1 = 0, r2 = 1, d1 = 9, d2 = 7).1 machine. Objective function f (S) = C1 + C2 = S1 + S2 + p1 + p2.

minS1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2S1,S2 integer

0 1 2 3 4 5 6

J1 J2∑

Ci = 8 (optimal solution)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 5 / 78

Page 6: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

The scheduling polyhedron

Feasible set SThe feasible set is S the set of points S ∈ Rn that satisfy theconstraints

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2S1, S2 integer

0 1 2 3 4 5 6

J1 J2∑

Ci = 8

S1

S2 S

conv(S)

Find a complete descriptionof conv(S) : hard in general

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

Page 7: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

The scheduling polyhedron

Convex hull conv(S)

The convex hull of S, i.e. the smallest convex set containing S :conv(S) =

{x ∈ Rn

∣∣∣∃λi ∈ Rn+, x =∑|S|

i=1 λiS i ,∑|S|

i=1 λi = 1}

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2S1, S2 integer

0 1 2 3 4 5 6

J1 J2∑

Ci = 8

S1

S2 Sconv(S)

Find a complete descriptionof conv(S) : hard in general

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

Page 8: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

The scheduling polyhedron

Optimization on S and conv(S)

Let f : Rn → R a linear function, minS∈S

f (S) = minS∈conv(S)

f (S)

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2S1, S2 integer

0 1 2 3 4 5 6

J1 J2∑

Ci = 8

S1

S2 Sconv(S)

Find a complete descriptionof conv(S) : hard in general

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

Page 9: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

The scheduling polyhedronconv(S) is a polyhedronThere exists A ∈ Rm×n and b ∈ Rn with m finite such thatconv(S) = {x ∈ Rn|Ax ≥ b}. Hence min

S∈conv(S)f (S) is a LP.

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2S1, S2 integer

0 1 2 3 4 5 6

J1 J2∑

Ci = 8

S1

S2 Sconv(S)

Find a complete descriptionof conv(S) : hard in general

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

Page 10: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Definitions : valid inequalities, faces and facetsLet P denote a polyhedron.

A valid inequality αx ≥ β is such that ∀S ∈ P, S verifies theinequality (P is included in the halfspace induced by theinequality)A face is the intersection of P with the hyperplane{x ∈ Rn|αx = β}A vertex is a face of dimension 0A facet is a face of dimension dim(P)− 1

S1

S2

3S1 + 5S2 ≥ 7 : a valid inequality

P ∩ {S|S1 + 3S2 = 6} : a 0-dimensional face (3, 1)P ∩ {S|2S1 + 3S2 = 9} : a facet

A polyhedron isfully described bythe set of allfacet-inducingvalid inequalities

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

Page 11: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Definitions : valid inequalities, faces and facetsLet P denote a polyhedron.

A valid inequality αx ≥ β is such that ∀S ∈ P, S verifies theinequality (P is included in the halfspace induced by theinequality)A face is the intersection of P with the hyperplane{x ∈ Rn|αx = β}A vertex is a face of dimension 0A facet is a face of dimension dim(P)− 1

S1

S2

3S1 + 5S2 ≥ 7 : a valid inequality

P ∩ {S|S1 + 3S2 = 6} : a 0-dimensional face (3, 1)

P ∩ {S|2S1 + 3S2 = 9} : a facet

A polyhedron isfully described bythe set of allfacet-inducingvalid inequalities

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

Page 12: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Definitions : valid inequalities, faces and facetsLet P denote a polyhedron.

A valid inequality αx ≥ β is such that ∀S ∈ P, S verifies theinequality (P is included in the halfspace induced by theinequality)A face is the intersection of P with the hyperplane{x ∈ Rn|αx = β}A vertex is a face of dimension 0A facet is a face of dimension dim(P)− 1

S1

S2

3S1 + 5S2 ≥ 7 : a valid inequalityP ∩ {S|S1 + 3S2 = 6} : a 0-dimensional face (3, 1)

P ∩ {S|2S1 + 3S2 = 9} : a facet

A polyhedron isfully described bythe set of allfacet-inducingvalid inequalities

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

Page 13: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Definitions : valid inequalities, faces and facetsLet P denote a polyhedron.

A valid inequality αx ≥ β is such that ∀S ∈ P, S verifies theinequality (P is included in the halfspace induced by theinequality)A face is the intersection of P with the hyperplane{x ∈ Rn|αx = β}A vertex is a face of dimension 0A facet is a face of dimension dim(P)− 1

S1

S2

3S1 + 5S2 ≥ 7 : a valid inequalityP ∩ {S|S1 + 3S2 = 6} : a 0-dimensional face (3, 1)

P ∩ {S|2S1 + 3S2 = 9} : a facet

A polyhedron isfully described bythe set of allfacet-inducingvalid inequalities

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

Page 14: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 15: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 16: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 17: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 18: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 19: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Integer) linear programming-based scheduling

Given a scheduling problem and the logical description of S1 Perform a polyhedral study :

Find a complete description of conv(S) with a polynomialnumber of linear inequalities ? → The problem can be solved byLPFind a complete description of conv(S) and show it has asupermodular structure ? → The problem can be solved by agreedy algorithmFind a partial description of conv(S) ? → This gives useful validinequalities

2 Design a (mixed)-integer programming formulationMore polyhedral studies, solve with branch-and-cut,branch-and-price, branch-and-cut-and-price, heuristics, . . . (onlypartly addressed here)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

Page 20: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 9 / 78

Page 21: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling problem that can be solved by LP

Project scheduling SPS

• Precedence constraints E .• lij : minimum distance between the startof job i (Si) and the start of job j (Sj).SPS = {S ∈ R+n|Sj − Si ≥ lij , ∀(i , j) ∈ E}

0

1

2

3

4

5

1

0

3

2

2

1

0

−1

find the shortest scheduleminSn+1

Sj − Si ≥ lij ∀(i , j) ∈ ES0 = 0Sj ≥ 0 ∀j ∈ J

max∑

(i ,j)∈Elijxij

∑i∈Γ−1(j)

xij =∑

i∈Γ(j)xji ∀j ∈ J \ {0}

∑i∈Γ(0)

x0i = 1

x0i ≥ 0(longest path model)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 10 / 78

Page 22: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Supermodular polyhedron : definitions [Sch96]

Consider a set N = {1, . . . , n} and its power set 2N (set of allsubsets of N) and a supermodular set function f : 2N → R, i.e. a setfunction that verifies :{

f (∅) = 0f (A ∪ B) + f (A ∩ B) ≥ f (A) + f (B), ∀A,B ⊆ N

P(f )={x ∈ R|N||∑

i∈A xi≥ f (A), ∀A⊆N} supermodular polyhedron

There is an O(n log n) greedy algorithm to findx∗ = argminx∈P(f ) cx :

if ∃i ∈ N, ci < 0, the problem is unbounded.otherwise x∗ ∈ B(f ). Solve the problem with the followinggreedy 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

Page 23: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Supermodular polyhedron : definitions [Sch96]

Consider a set N = {1, . . . , n} and its power set 2N (set of allsubsets of N) and a supermodular set function f : 2N → R, i.e. a setfunction that verifies :{

f (∅) = 0f (A ∪ B) + f (A ∩ B) ≥ f (A) + f (B), ∀A,B ⊆ N

P(f )={x ∈ R|N||∑

i∈A xi≥ f (A), ∀A⊆N} supermodular polyhedron

There is an O(n log n) greedy algorithm to findx∗ = argminx∈P(f ) cx :

if ∃i ∈ N, ci < 0, the problem is unbounded.otherwise x∗ ∈ B(f ). Solve the problem with the followinggreedy 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

Page 24: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 25: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 26: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 27: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 28: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 29: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

Set of feasible schedules for a set of jobs J on a single machine :

SSM =

{C ∈ RJ

∣∣∣∣∣ Ci ≥ pi , ∀j ∈ J ,Ci ≥ Cj + pi ∨ Cj ≥ Ci + pj , ∀i , j ∈ J , i 6= j

}

Queyranne [Que93] showed thatconv(SSM) = {C ∈ RJ |

∑j∈A pjCj ≥ g(A), ∀A ⊆ J} where

g(A) = 12

((∑j∈A pj

)2+∑

j∈A p2j

).

These valid inequalities can be obtained by Smith’s rule (WSPT).Optimum for

∑i∈J wiCi is obtained by sorting jobs in non

decreasing wi/pi .For A = {i1, . . . , is} ⊆ J , set wi = pi for i ∈ A and wi = 0 fori ∈ J \ AOpt = pi1pi1 + pi2(pi1 + pi2) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

Page 30: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Each inequality ∑j∈S pjCj ≥ g(S) defines a facet for conv(Q).conv(SSM) is a supermodular polyhedron and the greedyalgorithm for minimizing ∑i∈J wiCi coincides with the Smith’srule WSPTThis rediscovers the WSPT rule but also provides validinequalities for other (NP-hard) scheduling problems. AnO(n log n) separation algorithm is available to find an inequalityviolated by a given vector C .More scheduling supermodular polyhedra :

the convex hull of the feasible start time for unit jobs on parallelmachines with nonstationary speeds [QS95]the convex hull of mean busy time vectors of preemptiveschedules for jobs with release dates on a single machine[GQS+02]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

Page 31: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Each inequality ∑j∈S pjCj ≥ g(S) defines a facet for conv(Q).conv(SSM) is a supermodular polyhedron and the greedyalgorithm for minimizing ∑i∈J wiCi coincides with the Smith’srule WSPTThis rediscovers the WSPT rule but also provides validinequalities for other (NP-hard) scheduling problems. AnO(n log n) separation algorithm is available to find an inequalityviolated by a given vector C .More scheduling supermodular polyhedra :

the convex hull of the feasible start time for unit jobs on parallelmachines with nonstationary speeds [QS95]the convex hull of mean busy time vectors of preemptiveschedules for jobs with release dates on a single machine[GQS+02]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

Page 32: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Each inequality ∑j∈S pjCj ≥ g(S) defines a facet for conv(Q).conv(SSM) is a supermodular polyhedron and the greedyalgorithm for minimizing ∑i∈J wiCi coincides with the Smith’srule WSPTThis rediscovers the WSPT rule but also provides validinequalities for other (NP-hard) scheduling problems. AnO(n log n) separation algorithm is available to find an inequalityviolated by a given vector C .More scheduling supermodular polyhedra :

the convex hull of the feasible start time for unit jobs on parallelmachines with nonstationary speeds [QS95]the convex hull of mean busy time vectors of preemptiveschedules for jobs with release dates on a single machine[GQS+02]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

Page 33: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Each inequality ∑j∈S pjCj ≥ g(S) defines a facet for conv(Q).conv(SSM) is a supermodular polyhedron and the greedyalgorithm for minimizing ∑i∈J wiCi coincides with the Smith’srule WSPTThis rediscovers the WSPT rule but also provides validinequalities for other (NP-hard) scheduling problems. AnO(n log n) separation algorithm is available to find an inequalityviolated by a given vector C .More scheduling supermodular polyhedra :

the convex hull of the feasible start time for unit jobs on parallelmachines with nonstationary speeds [QS95]the convex hull of mean busy time vectors of preemptiveschedules for jobs with release dates on a single machine[GQS+02]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

Page 34: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

A scheduling supermodular polyhedron [Que93]

Each inequality ∑j∈S pjCj ≥ g(S) defines a facet for conv(Q).conv(SSM) is a supermodular polyhedron and the greedyalgorithm for minimizing ∑i∈J wiCi coincides with the Smith’srule WSPTThis rediscovers the WSPT rule but also provides validinequalities for other (NP-hard) scheduling problems. AnO(n log n) separation algorithm is available to find an inequalityviolated by a given vector C .More scheduling supermodular polyhedra :

the convex hull of the feasible start time for unit jobs on parallelmachines with nonstationary speeds [QS95]the convex hull of mean busy time vectors of preemptiveschedules for jobs with release dates on a single machine[GQS+02]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

Page 35: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

Set of feasible schedules for a set of jobs J on a single machine withrelease dates :SSMR =

{S ∈ RJ

∣∣∣∣∣ Si ≥ ri , ∀j ∈ J ,Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i , j ∈ J , i 6= j

}

The problem of minimizing∑

S∈S wiSi is NP-hard =⇒ no chanceto have a complete characterization of conv(SSMR)

However, Balas [Bal85] studied P = conv(S) and derivedfacet-defining inequalities. He showed that a facet-defining inequalityfor a subset of jobs K ⊆ J induces also a facet for J .

∀i ∈ J , Si ≥ ri induces a facet of P∀i , j ∈ J , i 6= j ,(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij induces afacet of P if and only if −dji < rj − ri < dij

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

Page 36: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

Set of feasible schedules for a set of jobs J on a single machine withrelease dates :SSMR =

{S ∈ RJ

∣∣∣∣∣ Si ≥ ri , ∀j ∈ J ,Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i , j ∈ J , i 6= j

}

The problem of minimizing∑

S∈S wiSi is NP-hard =⇒ no chanceto have a complete characterization of conv(SSMR)

However, Balas [Bal85] studied P = conv(S) and derivedfacet-defining inequalities. He showed that a facet-defining inequalityfor a subset of jobs K ⊆ J induces also a facet for J .

∀i ∈ J , Si ≥ ri induces a facet of P∀i , j ∈ J , i 6= j ,(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij induces afacet of P if and only if −dji < rj − ri < dij

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

Page 37: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

Set of feasible schedules for a set of jobs J on a single machine withrelease dates :SSMR =

{S ∈ RJ

∣∣∣∣∣ Si ≥ ri , ∀j ∈ J ,Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i , j ∈ J , i 6= j

}

The problem of minimizing∑

S∈S wiSi is NP-hard =⇒ no chanceto have a complete characterization of conv(SSMR)

However, Balas [Bal85] studied P = conv(S) and derivedfacet-defining inequalities. He showed that a facet-defining inequalityfor a subset of jobs K ⊆ J induces also a facet for J .

∀i ∈ J , Si ≥ ri induces a facet of P∀i , j ∈ J , i 6= j ,(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij induces afacet of P if and only if −dji < rj − ri < dij

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

Page 38: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

Set of feasible schedules for a set of jobs J on a single machine withrelease dates :SSMR =

{S ∈ RJ

∣∣∣∣∣ Si ≥ ri , ∀j ∈ J ,Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i , j ∈ J , i 6= j

}

The problem of minimizing∑

S∈S wiSi is NP-hard =⇒ no chanceto have a complete characterization of conv(SSMR)

However, Balas [Bal85] studied P = conv(S) and derivedfacet-defining inequalities. He showed that a facet-defining inequalityfor a subset of jobs K ⊆ J induces also a facet for J .

∀i ∈ J , Si ≥ ri induces a facet of P∀i , j ∈ J , i 6= j ,(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij induces afacet of P if and only if −dji < rj − ri < dij

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

Page 39: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Cutting plane generation for NP-hard schedulingproblems

From a partial descrition of conv(S) (relaxation), iteratively solve theseparation problem for families of valid inequalities.

S1

S2

3S1 + 5S2 ≥ 7S1 + 3S2 ≥ 62S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij

Separation is NP-hard in general =⇒ the optimum cannot be foundquickly by pure cutting plane generation.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

Page 40: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Cutting plane generation for NP-hard schedulingproblems

From a partial descrition of conv(S) (relaxation), iteratively solve theseparation problem for families of valid inequalities.

S1

S2

3S1 + 5S2 ≥ 7

S1 + 3S2 ≥ 62S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij

Separation is NP-hard in general =⇒ the optimum cannot be foundquickly by pure cutting plane generation.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

Page 41: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Cutting plane generation for NP-hard schedulingproblems

From a partial descrition of conv(S) (relaxation), iteratively solve theseparation problem for families of valid inequalities.

S1

S2

3S1 + 5S2 ≥ 7

S1 + 3S2 ≥ 6

2S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij

Separation is NP-hard in general =⇒ the optimum cannot be foundquickly by pure cutting plane generation.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

Page 42: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Cutting plane generation for NP-hard schedulingproblems

From a partial descrition of conv(S) (relaxation), iteratively solve theseparation problem for families of valid inequalities.

S1

S2

3S1 + 5S2 ≥ 7S1 + 3S2 ≥ 6

2S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij

Separation is NP-hard in general =⇒ the optimum cannot be foundquickly by pure cutting plane generation.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

Page 43: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Cutting plane generation for NP-hard schedulingproblems

From a partial descrition of conv(S) (relaxation), iteratively solve theseparation problem for families of valid inequalities.

S1

S2

3S1 + 5S2 ≥ 7S1 + 3S2 ≥ 6

2S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality(lij + ri − rj)Si + (lji + rj − ri )Sj ≥ dijdji + Lidji + Ljdij

Separation is NP-hard in general =⇒ the optimum cannot be foundquickly by pure cutting plane generation.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

Page 44: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 16 / 78

Page 45: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Principle of (mixed)-integer programming

Design a good MIP formulation for the scheduling problemSolve by branch-and-bound

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 − S1 + Mx ≥ p1S1 − S2 + M(1− x) ≥ p2

S1, S2 integerx ∈ {0, 1}

S1

S2 S

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

Page 46: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Principle of (mixed)-integer programming

Design a good MIP formulation for the scheduling problemSolve by branch-and-bound

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 − S1 + Mx ≥ p1S1 − S2 + M(1− x) ≥ p2

S1, S2 integerx ∈ {0, 1}

S1

S2 S

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

Page 47: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Principle of (mixed)-integer programming

Design a good MIP formulation for the scheduling problemSolve by branch-and-bound

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 − S1 + Mx ≥ p1S1 − S2 + M(1− x) ≥ p2

S1, S2 integerx ∈ {0, 1}

S1

S2 S

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

Page 48: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Principle of (mixed)-integer programming

Design a good MIP formulation for the scheduling problemSolve by branch-and-bound

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 − S1 + Mx ≥ p1S1 − S2 + M(1− x) ≥ p2

S1, S2 integerx ∈ {0, 1}

S1

S2 S

Left node x = 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

Page 49: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Principle of (mixed)-integer programming

Design a good MIP formulation for the scheduling problemSolve by branch-and-bound

min S1 + S2+p1 + p2S1 ≥ r1S2 ≥ r2

S1 + p1 ≤ d1S2 + p2 ≤ d2

S2 − S1 + Mx ≥ p1S1 − S2 + M(1− x) ≥ p2

S1, S2 integerx ∈ {0, 1}

S1

S2 S

Right node x = 0

0 1 2 3 4 5 6J1 J2

∑Ci = 8

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

Page 50: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 51: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 52: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 53: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 54: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 55: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 56: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 57: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 58: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Case study : the resource-constrained projectscheduling problem

Resource-constrained project scheduling with irregularstarting time costs• n jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}.• Precedence constraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij .• m resources (set R). Constant availability Bk , k ∈ R.• For each job i ∈ J : duration pi and resource requirements bik , k ∈ R.• Resource constraints

∑i∈J |Si≤t≤Si +pi−1 bik ≤ Bk ,∀t ∈ T ,∀k ∈ R.

• Cost function wj : {1, . . . ,T} → R.• Find a schedule that minimizes

∑i∈J wj(Sj).

Remark 1 : |R| = 1, B1 = 1, and bi1 = 1,∀i ∈ J =⇒ 1-machine problem.Remark 2 : |R| = 1, B1 ≥ 2 and bi1 = 1, ∀i ∈ J =⇒ parallel machine problem.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

Page 59: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Scheduling objectivesObjective min

∑i∈J wj(Sj) models most standard objectives

Makespan minmaxi∈J CiLet J = {1, . . . , n + 1} with n + 1 dummy end jobs.

wi (t) = 0, ∀i ∈ J \ {n + 1}, wn+1(t) = t

Maximum lateness minmaxi∈J Ci − diSame modeling by adding arc (i , n + 1) in E with li ,n+1 = pi − di

Earliness-tardiness costsmin

∑i∈J (αi max(0, di − Ci ) + βi max(0,Ci − di )

wi (t) = αi max(0, di − t − pi ) + βi max(0, t + pi − di )

(weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J )Weighted number of late jobs

∑i∈J wiUi

wi (t) =

{0 if t + pi ≤ diwi otherwise

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

Page 60: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Scheduling objectivesObjective min

∑i∈J wj(Sj) models most standard objectives

Makespan minmaxi∈J CiLet J = {1, . . . , n + 1} with n + 1 dummy end jobs.

wi (t) = 0, ∀i ∈ J \ {n + 1}, wn+1(t) = t

Maximum lateness minmaxi∈J Ci − diSame modeling by adding arc (i , n + 1) in E with li ,n+1 = pi − di

Earliness-tardiness costsmin

∑i∈J (αi max(0, di − Ci ) + βi max(0,Ci − di )

wi (t) = αi max(0, di − t − pi ) + βi max(0, t + pi − di )

(weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J )Weighted number of late jobs

∑i∈J wiUi

wi (t) =

{0 if t + pi ≤ diwi otherwise

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

Page 61: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Scheduling objectivesObjective min

∑i∈J wj(Sj) models most standard objectives

Makespan minmaxi∈J CiLet J = {1, . . . , n + 1} with n + 1 dummy end jobs.

wi (t) = 0, ∀i ∈ J \ {n + 1}, wn+1(t) = t

Maximum lateness minmaxi∈J Ci − diSame modeling by adding arc (i , n + 1) in E with li ,n+1 = pi − di

Earliness-tardiness costsmin

∑i∈J (αi max(0, di − Ci ) + βi max(0,Ci − di )

wi (t) = αi max(0, di − t − pi ) + βi max(0, t + pi − di )

(weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J )Weighted number of late jobs

∑i∈J wiUi

wi (t) =

{0 if t + pi ≤ diwi otherwise

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

Page 62: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Scheduling objectivesObjective min

∑i∈J wj(Sj) models most standard objectives

Makespan minmaxi∈J CiLet J = {1, . . . , n + 1} with n + 1 dummy end jobs.

wi (t) = 0, ∀i ∈ J \ {n + 1}, wn+1(t) = t

Maximum lateness minmaxi∈J Ci − diSame modeling by adding arc (i , n + 1) in E with li ,n+1 = pi − di

Earliness-tardiness costsmin

∑i∈J (αi max(0, di − Ci ) + βi max(0,Ci − di )

wi (t) = αi max(0, di − t − pi ) + βi max(0, t + pi − di )

(weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J )Weighted number of late jobs

∑i∈J wiUi

wi (t) =

{0 if t + pi ≤ diwi otherwise

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

Page 63: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 20 / 78

Page 64: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

MILP Formulations with time-indexed variables

time-indexed variables xit = 1⇔ Si = t ⇔ Si =∑T

t=0 txitSingle machine

min∑j∈J

∑t∈T

wj(t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑t=0

txjt −T∑

t=0txit ≥ lij ∀(i , j) ∈ E

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

Page 65: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

MILP Formulations with time-indexed variables

time-indexed variables xit = 1⇔ Si = t ⇔ Si =∑T

t=0 txitParallel machines

min∑j∈J

∑t∈T

wj(t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑t=0

txjt −T∑

t=0txit ≥ lij ∀(i , j) ∈ E

∑j∈J

t∑s=t−pj +1

xjs ≤ B ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

Page 66: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

MILP Formulations with time-indexed variablestime-indexed variables xit = 1⇔ Si = t ⇔ Si =

∑Tt=0 txit

RCPSP

min∑j∈J

∑t∈T

wj(t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑t=0

txjt −T∑

t=0txit ≥ lij ∀(i , j) ∈ E

∑j∈J

t∑s=t−pj +1

bjkxjs ≤ Bk ∀t ∈ T ,∀k ∈ R

xjt ∈ {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

Page 67: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

MILP Formulations with time-indexed variablestime-indexed variables xit = 1⇔ Si = t ⇔ Si =

∑Tt=0 txit

RCPSP (disaggregated precedence constraints)

min∑j∈J

∑t∈T

wj(t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑s=t

xis +t+lij−1∑

s=0xjs ≤ 1 ∀(i , j) ∈ E , ∀t ∈ T

∑j∈J

t∑s=t−pj +1

bjkxjs ≤ Bk ∀t ∈ T ,∀k ∈ R

xjt ∈ {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

Page 68: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 22 / 78

Page 69: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Total unimodularity

A matrix A is totally unimodular (TU) if and only if every squaresubmatrix has determinant 0, 1 or -1.if A is TU, minAx≥bcx has an integer optimal solution or there isno solutionA is TU if (sufficient condition) rows can be partitionned intotwo 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 -1if two non-zeros in a column have opposite signs, they are in thesame subset of rows (both in B or both in C).if two non-zeros in a column have the same sign, there is one inB 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

Page 70: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Total unimodularity and scheduling

Project scheduling with irregular starting time costsn jobs (set J ) with integer start times Si ∈ T = {0, 1, . . . ,T}. Precedenceconstraints E such that (i , j) ∈ E =⇒ Sj ≥ Si + lij . Cost functionwj : {1, . . . ,T} → R. Find a schedule that minimizes

∑j∈J wj(Sj).

time-indexed variable zit = 1⇔ Si ≤ t (zit =∑T

t=0 xit)

min∑j∈J

∑t∈T

(wj(t)− wj(t + 1)) zjt

zjT = 1 ∀j ∈ Jzjt − zj,t+1 ≤ 0 ∀j ∈ J , ∀t ∈ Tzj,t+lij − zit ≤ 0 ∀(i , j) ∈ E ,∀t ∈ T

zjt ∈ {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

Page 71: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Comparison between formulations

Other IP with time-indexed variables xit = 1⇔ Si = t (nT variables)

min∑j∈J

∑t∈T

wj (t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑s=t

xis +

t+lij−1∑s=0

xjs ≤ 1 ∀(i , j) ∈ E , ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T

Totally unimodular matrix, integer polyhedron

min∑j∈J

∑t∈T

wj (t)xjt∑t∈T

xjt = 1 ∀j ∈ J

T∑t=0

txjs −T∑

t=0

txis ≥ lij ∀(i , j) ∈ E

xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T

Polyhedron is not integer !

For the RCPSP, the LP relaxation of the time-indexed model withdisagreggated precedence constraints is tighter.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 25 / 78

Page 72: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

MILP Formulations with time-indexed variables :facetsFacet-inducing inequalities for the single-machine polyhedron(without precedence constraints) [SW92]∑

t∈Txjt ≤ 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

t+∆−1∑s=t−pj +1

xjs +∑i 6=j

t∑s=t−pi +∆

xis ≤ 1 ∀j ∈ J ,∀t ∈ T ,

∀∆ ∈ {2, . . . ,maxi 6=j

pi}

All facet-inducing inequalities with rhs = 1 [vHS99].Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 26 / 78

Page 73: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sousa and Wolsey valid inequalities [SW92]

T∑u=1

xju2 =

12∑

i∈J

t∑s=t−pi +1

xis2 ≤

12

∑i∈J

t+∆−1∑s=t−pi +∆

xis2 ≤

12

bT∑

u=1

xju2 +

n∑i=1

t∑s=t−pi +1

xis2 +

∑i∈J

t+∆−1∑s=t−pi +∆

xis2 c ≤ b

32c

t+∆−1∑s=t−pj +1

xjs +∑i 6=j

t∑s=t−pi +∆

xis ≤ 1

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 27 / 78

Page 74: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sousa and Wolsey valid inequalities [SW92]

For each time period t ∈ T , for each task j ∈ T and for each∆ ∈ {2, . . . ,maxi 6=j pi}

j

i ∈ J \ {j}≤ 1

t − pj + 1 t + ∆− 1

t − pi + ∆ t

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 28 / 78

Page 75: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

van den Akker et al. valid ineqalities [vHS99]

j1

j2

i ∈ J\{j1, j2}

≤ 2

u1 − pj1 + 1 u1 + ∆1 − 1 u2 − pj1 − v u1 + ∆1 + z u2 − pj1 + 1 u2 + ∆2 − 1

u1 − pj2 + ∆1 u1 max{u2 − v, u1 + ∆1} − pj2 min{u1 + ∆1 + z, u2} u2 − pj2 + ∆2 u2

u1 − pi + ∆1 + z + 1 u1 u2 − pi + 1u1 + ∆1 − 1 u2 − pi + ∆2u2 − v − 1

L M U

With the same principle all facet-inducing inequalities with rhs = 2are derived.

In [WJNS02], relation with valid ineqalities for the node packingproblem is established.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 29 / 78

Page 76: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 77: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 78: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 79: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 80: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 81: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Valid inequalities for the time-indexed RCPSP ILPHardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cutsto the RCPSP.

Let F be a forbidden set (or cover), i.e. ∑j∈F bi > B.∑j∈F

∑ts=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .

Consider now a “special” task j ∈ F and an interval v ≥ 0∑i∈F\{j}

∑ts=t−pj +1+v xiq +

∑t+vs=t−pj +1 xjs ≤ |F | − 1 is a valid

inequality ∀t ∈ T .The inequality defines a facet for the polyhedron reduced to jobsin C if C is a minimal forbidden set, i.e. ∑C\{i} bi ≤ B,∀i ∈ C .Hardin et al. propose lifting procedures and conditions for theresulting inequalities to be facet-inducing for the completepolyhedron.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

Page 82: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 31 / 78

Page 83: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables

Time-indexed models yield good LP relaxation but the number ofvariables can be huge =⇒ need to consider more compact models.

Binary variable yij = 1 if and only if Sj ≥ Si + pi

Disjunctive case : yij = 1− yji , ∀(i , j) ∈ D (half of the variablescan be dropped) and yij is the incidence vector of linearorderings :If there are no release dates and in the 1-machine caseCj =

∑i∈D\{j} yijpi + pj

Not possible to consider start dependent costs =⇒ objective∑i∈J wiCi

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

Page 84: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables

Time-indexed models yield good LP relaxation but the number ofvariables can be huge =⇒ need to consider more compact models.

Binary variable yij = 1 if and only if Sj ≥ Si + pi

Disjunctive case : yij = 1− yji , ∀(i , j) ∈ D (half of the variablescan be dropped) and yij is the incidence vector of linearorderings :If there are no release dates and in the 1-machine caseCj =

∑i∈D\{j} yijpi + pj

Not possible to consider start dependent costs =⇒ objective∑i∈J wiCi

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

Page 85: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables

Time-indexed models yield good LP relaxation but the number ofvariables can be huge =⇒ need to consider more compact models.

Binary variable yij = 1 if and only if Sj ≥ Si + pi

Disjunctive case : yij = 1− yji , ∀(i , j) ∈ D (half of the variablescan be dropped) and yij is the incidence vector of linearorderings :If there are no release dates and in the 1-machine caseCj =

∑i∈D\{j} yijpi + pj

Not possible to consider start dependent costs =⇒ objective∑i∈J wiCi

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

Page 86: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables

Time-indexed models yield good LP relaxation but the number ofvariables can be huge =⇒ need to consider more compact models.

Binary variable yij = 1 if and only if Sj ≥ Si + pi

Disjunctive case : yij = 1− yji , ∀(i , j) ∈ D (half of the variablescan be dropped) and yij is the incidence vector of linearorderings :If there are no release dates and in the 1-machine caseCj =

∑i∈D\{j} yijpi + pj

Not possible to consider start dependent costs =⇒ objective∑i∈J wiCi

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

Page 87: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables

Time-indexed models yield good LP relaxation but the number ofvariables can be huge =⇒ need to consider more compact models.

Binary variable yij = 1 if and only if Sj ≥ Si + pi

Disjunctive case : yij = 1− yji , ∀(i , j) ∈ D (half of the variablescan be dropped) and yij is the incidence vector of linearorderings :If there are no release dates and in the 1-machine caseCj =

∑i∈D\{j} yijpi + pj

Not possible to consider start dependent costs =⇒ objective∑i∈J wiCi

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

Page 88: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedenceconstraints)

Consider yij for i < j =⇒ Cj =∑

i<j yijpi +∑

i>j(1− yji)pi + pj∑j wjCj =

∑1≤i<j≤n(wjpi −wipj)yij +

∑1≤i<j≤n wipj +

∑j∈J wjpj

The objective is easily optimized by LP :min∑1≤i<j≤n(wjpi − wipj)yij0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i

It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise=⇒ WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

Page 89: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedenceconstraints)

Consider yij for i < j =⇒ Cj =∑

i<j yijpi +∑

i>j(1− yji)pi + pj∑j wjCj =

∑1≤i<j≤n(wjpi −wipj)yij +

∑1≤i<j≤n wipj +

∑j∈J wjpj

The objective is easily optimized by LP :min∑1≤i<j≤n(wjpi − wipj)yij0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i

It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise=⇒ WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

Page 90: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedenceconstraints)

Consider yij for i < j =⇒ Cj =∑

i<j yijpi +∑

i>j(1− yji)pi + pj∑j wjCj =

∑1≤i<j≤n(wjpi −wipj)yij +

∑1≤i<j≤n wipj +

∑j∈J wjpj

The objective is easily optimized by LP :min∑1≤i<j≤n(wjpi − wipj)yij0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i

It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise=⇒ WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

Page 91: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedenceconstraints)

Consider yij for i < j =⇒ Cj =∑

i<j yijpi +∑

i>j(1− yji)pi + pj∑j wjCj =

∑1≤i<j≤n(wjpi −wipj)yij +

∑1≤i<j≤n wipj +

∑j∈J wjpj

The objective is easily optimized by LP :min∑1≤i<j≤n(wjpi − wipj)yij0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i

It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise=⇒ WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78

Page 92: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : one machine, precedenceconstraints (1)

Set E of precedence constraints(MILP due to [Pot80])

min∑i ,j∈J piwjyij +∑

j∈J pjwj

yij + yji = 1 ∀i , j ∈ J , i 6= jyij + yjk − yik ≤ 1 ∀i , j , k ∈ J , i 6= j 6= k

yij = 1 ∀(i , j) ∈ Eyij = 0 ∀(j , i) ∈ Eyij ∈ {0, 1} ∀i , j ∈ J , i 6= j

(NP-hard)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 34 / 78

Page 93: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing variables : one machine, precedenceconstraints (2)

A vertex cover LP-relaxation. Let i ↔j denote {(i , j), (j , i)} ∩ E = ∅

min∑i ,j∈J piwjyij +∑

j∈J pjwj

yij + yji ≥ 1 ∀i , j ∈ J , i 6= j , i ↔ jyik + ykj ≥ 1 ∀(i , j) ∈ E ,∀k ∈ J , i ↔ k , k ↔ jyil + ykj ≥ 1 ∀(i , j), (k , l) ∈ E , i ↔ l , j ↔ k

yij ≥ 0 ∀i , j ∈ J , i 6= j , i ↔ j

For Series-Parallel precedence constraints, the polyhedron is integraland yields a feasible solution [CS04]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 35 / 78

Page 94: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : onemachine, release datesJobs have release dates ri , assuming r1 ≤ r2 ≤ . . . ≤ rnIdle times =⇒ need to consider natural date variables Si

MILP by [NS92] (improving [DW90] inequalities) linearizing :Sj ≥ (ri + pi)yij +

∑k 6=i ,j

pkyikykj ∀i , j ∈ J , i 6= j

min∑j∈J wjSj

Sj ≥ (ri +pi)yij +∑

k<i ,k 6=j pk(yik−yjk)+∑

k>i ,k 6=j pkykj ∀i , j ∈J , i 6= jSj ≥ ri ∀i ∈ J

yij + yji = 1 ∀1 ≤ i < j ≤ nyij + yjk − yik ≤ 1 ∀i , j , k ∈ J , i 6= j 6= k

δjk ∈ {0, 1} ∀i , j ∈ J , i 6= j

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

Page 95: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : onemachine, release datesJobs have release dates ri , assuming r1 ≤ r2 ≤ . . . ≤ rnIdle times =⇒ need to consider natural date variables Si

MILP by [NS92] (improving [DW90] inequalities) linearizing :Sj ≥ (ri + pi)yij +

∑k 6=i ,j

pkyikykj ∀i , j ∈ J , i 6= j

min∑j∈J wjSj

Sj ≥ (ri +pi)yij +∑

k<i ,k 6=j pk(yik−yjk)+∑

k>i ,k 6=j pkykj ∀i , j ∈J , i 6= jSj ≥ ri ∀i ∈ J

yij + yji = 1 ∀1 ≤ i < j ≤ nyij + yjk − yik ≤ 1 ∀i , j , k ∈ J , i 6= j 6= k

δjk ∈ {0, 1} ∀i , j ∈ J , i 6= j

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

Page 96: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : onemachine, release datesJobs have release dates ri , assuming r1 ≤ r2 ≤ . . . ≤ rnIdle times =⇒ need to consider natural date variables Si

MILP by [NS92] (improving [DW90] inequalities) linearizing :Sj ≥ (ri + pi)yij +

∑k 6=i ,j

pkyikykj ∀i , j ∈ J , i 6= j

min∑j∈J wjSj

Sj ≥ (ri +pi)yij +∑

k<i ,k 6=j pk(yik−yjk)+∑

k>i ,k 6=j pkykj ∀i , j ∈J , i 6= jSj ≥ ri ∀i ∈ J

yij + yji = 1 ∀1 ≤ i < j ≤ nyij + yjk − yik ≤ 1 ∀i , j , k ∈ J , i 6= j 6= k

δjk ∈ {0, 1} ∀i , j ∈ J , i 6= j

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78

Page 97: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : the generaldisjunctive scheduling problem

min∑j∈J wjSj

Sj ≥ ri ∀i ∈ JSj − Si + Mij(1− yij) ≥ pi ∀(i , j) ∈ D

yij + yji = 1 ∀(i , j) ∈ Dyij + yjk − yik ≤ 1 ∀(i , j), (j , k), (k , i) ∈ D, i 6= j 6= k

Sj − Si ≥ lij ∀(i , j) ∈ Eyij ∈ {0, 1} ∀(i , j) ∈ D

with Mij an upper bound on Si + pi − Sj , e.g. di − rj in case ofdeadlines.(n(n − 1)/2 integer variables, n continuous variables)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 37 / 78

Page 98: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : RCPSPForbidden set F ∈ F : ∃k ∈ R, ∑j∈F bjk > Bk . min∑j∈J wjSjMIP issued from [AVT93]

Sj ≥ ri ∀i ∈ JSj − Si + Mij(1− yij) ≥ pi ∀(i , j) ∈ D∑

i ,j∈F ,i 6=jyij ≥ 1 ∀F ∈ F

yij + yji ≤ 1 ∀i , j ∈ Jyij + yji = 1 ∀(i , j) ∈ D

yij + yjk − yik ≤ 1 ∀(i , j), (j , k), (ki) ∈ D, i 6= j 6= kSj − Si ≥ lij ∀(i , j) ∈ E

yij ∈ {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

Page 99: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : compactmodel for the RCPSP

Replace exponential number of constraints∑i ,j∈F ,i 6=j yij ≥ 1 ∀F ∈ F

by resource flow networks (0 dummy source job and n + 1 dummysink job)

∑j∈J

f0jk =∑j∈J

fj,n+1,k = Bk ∀j ∈ J ,∀k ∈ R∑j 6=i

fijk =∑j 6=i

fjik = bik ∀i ∈ J ,∀k ∈ R

0 ≤ fijk ≤min(bik , bjk)yij ∀i , j ∈ J , i 6= j ,∀k ∈ R

A compact model is obtained A. et al. [AMR00].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78

Page 100: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : compactmodel for the RCPSP

Replace exponential number of constraints∑i ,j∈F ,i 6=j yij ≥ 1 ∀F ∈ F

by resource flow networks (0 dummy source job and n + 1 dummysink job)∑

j∈Jf0jk =

∑j∈J

fj,n+1,k = Bk ∀j ∈ J ,∀k ∈ R∑j 6=i

fijk =∑j 6=i

fjik = bik ∀i ∈ J ,∀k ∈ R

0 ≤ fijk ≤min(bik , bjk)yij ∀i , j ∈ J , i 6= j ,∀k ∈ R

A compact model is obtained A. et al. [AMR00].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78

Page 101: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Sequencing and natural date variables : compactmodel for the RCPSP

Replace exponential number of constraints∑i ,j∈F ,i 6=j yij ≥ 1 ∀F ∈ F

by resource flow networks (0 dummy source job and n + 1 dummysink job)∑

j∈Jf0jk =

∑j∈J

fj,n+1,k = Bk ∀j ∈ J ,∀k ∈ R∑j 6=i

fijk =∑j 6=i

fjik = bik ∀i ∈ J ,∀k ∈ R

0 ≤ fijk ≤min(bik , bjk)yij ∀i , j ∈ J , i 6= j ,∀k ∈ R

A compact model is obtained A. et al. [AMR00].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78

Page 102: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Facet-inducing) valid inequalities for the RCPSPpolyhedronPolyhedral study for the forbidden set-based formulation,Alvarez-Valdés et al. [AVT93]

let Q = conv({(S, y) ∈ Rn2|(S, y) ∈ SY}) (the RCPSPpolyhedron)The dimension of Q is dQ = n2 − |E ∗| − |D|.Example : yij + yji ≤ 1 (a) induces a facet of Q if(i , j) 6∈ |E ∗| ∪ D

(a) is a face of Q as (i) we can find a solution (S, y) withyij = 1, yji = 0 and (S, y) ∈ Q ∩ {(S, y)|yij + yji = 1} (possibleif the time horizon is sufficiently large) (ii) we can find solutions(S, y) with yij = yji = 0 with (S, y) 6∈ {(S, y)|yij + yji = 1}.(a) is of dimension dQ − 1 as by setting yij + yji = 1 weincrement |D|

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78

Page 103: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Facet-inducing) valid inequalities for the RCPSPpolyhedronPolyhedral study for the forbidden set-based formulation,Alvarez-Valdés et al. [AVT93]

let Q = conv({(S, y) ∈ Rn2|(S, y) ∈ SY}) (the RCPSPpolyhedron)The dimension of Q is dQ = n2 − |E ∗| − |D|.Example : yij + yji ≤ 1 (a) induces a facet of Q if(i , j) 6∈ |E ∗| ∪ D

(a) is a face of Q as (i) we can find a solution (S, y) withyij = 1, yji = 0 and (S, y) ∈ Q ∩ {(S, y)|yij + yji = 1} (possibleif the time horizon is sufficiently large) (ii) we can find solutions(S, y) with yij = yji = 0 with (S, y) 6∈ {(S, y)|yij + yji = 1}.(a) is of dimension dQ − 1 as by setting yij + yji = 1 weincrement |D|

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78

Page 104: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Facet-inducing) valid inequalities for the RCPSPpolyhedronPolyhedral study for the forbidden set-based formulation,Alvarez-Valdés et al. [AVT93]

let Q = conv({(S, y) ∈ Rn2|(S, y) ∈ SY}) (the RCPSPpolyhedron)The dimension of Q is dQ = n2 − |E ∗| − |D|.Example : yij + yji ≤ 1 (a) induces a facet of Q if(i , j) 6∈ |E ∗| ∪ D

(a) is a face of Q as (i) we can find a solution (S, y) withyij = 1, yji = 0 and (S, y) ∈ Q ∩ {(S, y)|yij + yji = 1} (possibleif the time horizon is sufficiently large) (ii) we can find solutions(S, y) with yij = yji = 0 with (S, y) 6∈ {(S, y)|yij + yji = 1}.(a) is of dimension dQ − 1 as by setting yij + yji = 1 weincrement |D|

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78

Page 105: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Facet-inducing) valid inequalities for the RCPSPpolyhedronPolyhedral study for the forbidden set-based formulation,Alvarez-Valdés et al. [AVT93]

let Q = conv({(S, y) ∈ Rn2|(S, y) ∈ SY}) (the RCPSPpolyhedron)The dimension of Q is dQ = n2 − |E ∗| − |D|.Example : yij + yji ≤ 1 (a) induces a facet of Q if(i , j) 6∈ |E ∗| ∪ D

(a) is a face of Q as (i) we can find a solution (S, y) withyij = 1, yji = 0 and (S, y) ∈ Q ∩ {(S, y)|yij + yji = 1} (possibleif the time horizon is sufficiently large) (ii) we can find solutions(S, y) with yij = yji = 0 with (S, y) 6∈ {(S, y)|yij + yji = 1}.(a) is of dimension dQ − 1 as by setting yij + yji = 1 weincrement |D|

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78

Page 106: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

(Facet-inducing) valid inequalities for the RCPSPpolyhedronPolyhedral study for the forbidden set-based formulation,Alvarez-Valdés et al. [AVT93]

let Q = conv({(S, y) ∈ Rn2|(S, y) ∈ SY}) (the RCPSPpolyhedron)The dimension of Q is dQ = n2 − |E ∗| − |D|.Example : yij + yji ≤ 1 (a) induces a facet of Q if(i , j) 6∈ |E ∗| ∪ D

(a) is a face of Q as (i) we can find a solution (S, y) withyij = 1, yji = 0 and (S, y) ∈ Q ∩ {(S, y)|yij + yji = 1} (possibleif the time horizon is sufficiently large) (ii) we can find solutions(S, y) with yij = yji = 0 with (S, y) 6∈ {(S, y)|yij + yji = 1}.(a) is of dimension dQ − 1 as by setting yij + yji = 1 weincrement |D|

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78

Page 107: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

More valid inequalities for disjunctive schedulingand the RCPSP

Let C denote the set of cliques in D. Applegate and Cook[AC91] derived cuts for the job-shop problem from one-machinescheduling valid inequalities (especially [DW90] inequalities)such as

Sj ≥ rj +∑i∈C

yijpi ∀C ∈ C,∀j ∈ C

Sj ≥ rk +∑

i∈C\{j}yijpi −

∑i∈C

yik(rl − rj) ∀C ∈ C,∀j ∈ C ,

Alvarez-Valdés et al. [AVT93] also proposed such cuts for theRCPSP. Let Γ−1(i) (Γ(i)) be the set of ancestors (descendants)of i in E .Sj ≥ Si +pi +

∑k∈Γ(i)

pkykj +∑

k∈Γ−1(j)pkyik +

∑k∈D(i)∪D(j)

k 6∈Γ(i)∪Γ−1(j)

pk(yik +ykj−1)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 41 / 78

Page 108: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

More valid inequalities for disjunctive schedulingand the RCPSP

Let C denote the set of cliques in D. Applegate and Cook[AC91] derived cuts for the job-shop problem from one-machinescheduling valid inequalities (especially [DW90] inequalities)such as

Sj ≥ rj +∑i∈C

yijpi ∀C ∈ C,∀j ∈ C

Sj ≥ rk +∑

i∈C\{j}yijpi −

∑i∈C

yik(rl − rj) ∀C ∈ C,∀j ∈ C ,

Alvarez-Valdés et al. [AVT93] also proposed such cuts for theRCPSP. Let Γ−1(i) (Γ(i)) be the set of ancestors (descendants)of i in E .Sj ≥ Si +pi +

∑k∈Γ(i)

pkykj +∑

k∈Γ−1(j)pkyik +

∑k∈D(i)∪D(j)

k 6∈Γ(i)∪Γ−1(j)

pk(yik +ykj−1)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 41 / 78

Page 109: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Constraint-propagation-based cutting planes forthe RCPSP

So far the studied valid inequalities ignore the existence of atight upper bound.Compute UB with an efficient heuristic and update distancematrix dij through constraint propagation (where dij is a lowerbound of Sj − Si).Cuts can be derived from such updates. d c

ij denotes the value ofdij if constraint c is satisfied. We consider constraints such ask||h, k ≺ h, k � h.

Example 1 : Sj − Si ≥ dk||hij + dk≺h

ij ykh + dk�hij yhk , for any 4 jobs

i , j , k, h.Example 2 : xij ≥ xhk , ∀i , j , h, i , dh≺k

ij ≥ pi

Demassey, A. and Michelon [DAM05]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78

Page 110: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Constraint-propagation-based cutting planes forthe RCPSP

So far the studied valid inequalities ignore the existence of atight upper bound.Compute UB with an efficient heuristic and update distancematrix dij through constraint propagation (where dij is a lowerbound of Sj − Si).Cuts can be derived from such updates. d c

ij denotes the value ofdij if constraint c is satisfied. We consider constraints such ask||h, k ≺ h, k � h.

Example 1 : Sj − Si ≥ dk||hij + dk≺h

ij ykh + dk�hij yhk , for any 4 jobs

i , j , k, h.Example 2 : xij ≥ xhk , ∀i , j , h, i , dh≺k

ij ≥ pi

Demassey, A. and Michelon [DAM05]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78

Page 111: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Constraint-propagation-based cutting planes forthe RCPSP

So far the studied valid inequalities ignore the existence of atight upper bound.Compute UB with an efficient heuristic and update distancematrix dij through constraint propagation (where dij is a lowerbound of Sj − Si).Cuts can be derived from such updates. d c

ij denotes the value ofdij if constraint c is satisfied. We consider constraints such ask||h, k ≺ h, k � h.

Example 1 : Sj − Si ≥ dk||hij + dk≺h

ij ykh + dk�hij yhk , for any 4 jobs

i , j , k, h.Example 2 : xij ≥ xhk , ∀i , j , h, i , dh≺k

ij ≥ pi

Demassey, A. and Michelon [DAM05]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78

Page 112: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Constraint-propagation-based cutting planes forthe RCPSP

So far the studied valid inequalities ignore the existence of atight upper bound.Compute UB with an efficient heuristic and update distancematrix dij through constraint propagation (where dij is a lowerbound of Sj − Si).Cuts can be derived from such updates. d c

ij denotes the value ofdij if constraint c is satisfied. We consider constraints such ask||h, k ≺ h, k � h.

Example 1 : Sj − Si ≥ dk||hij + dk≺h

ij ykh + dk�hij yhk , for any 4 jobs

i , j , k, h.Example 2 : xij ≥ xhk , ∀i , j , h, i , dh≺k

ij ≥ pi

Demassey, A. and Michelon [DAM05]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78

Page 113: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Constraint-propagation-based cutting planes forthe RCPSP

So far the studied valid inequalities ignore the existence of atight upper bound.Compute UB with an efficient heuristic and update distancematrix dij through constraint propagation (where dij is a lowerbound of Sj − Si).Cuts can be derived from such updates. d c

ij denotes the value ofdij if constraint c is satisfied. We consider constraints such ask||h, k ≺ h, k � h.

Example 1 : Sj − Si ≥ dk||hij + dk≺h

ij ykh + dk�hij yhk , for any 4 jobs

i , j , k, h.Example 2 : xij ≥ xhk , ∀i , j , h, i , dh≺k

ij ≥ pi

Demassey, A. and Michelon [DAM05]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78

Page 114: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 43 / 78

Page 115: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Flow and natural date variablesFor one-machine and parallel machine problem, sequencing variablesyij may be replaced by flow variables fij ∈ {0, 1} stating that i is animmediate predecessor of j in the sequence.min∑i∈J wiSi∑

j∈Jf0j =

∑j∈J

fj,n+1 = m∑

j∈J\{i}fij =

∑j∈J\{i}

fji = 1 ∀i ∈ J

Si ≥ ri ∀i ∈ JSj − Si + Mij(1− fij) ≥ pi ∀i , j ∈ J , i 6= j

Sj − Si ≥ lij ∀(i , j) ∈ Efij ∈ {0, 1} ∀i , j ∈ J , i 6= j

When there are no relase dates, machine assignment and subtourelimitation constraints can be used to avoid big−M coefficients.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 44 / 78

Page 116: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Flow and natural date variables (variant)Big-M constraints can be removed, by considering continuous variableSij ≥ 0 which equals 0 unless i is the immediate predecessor of j .

min∑i∈J

∑j∈J\{i}

wiSij

∑j∈J

f0j =∑j∈J

fj,n+1 = m

∑j∈J\{i}

fij =∑

j∈J\{i}fji = 1 ∀i ∈ J

ri fij ≤ Sij ≤ di fij ∀i , j ∈ J , i 6= j∑j∈J\{i}

Sij −∑

k∈J\{i}(Ski + pk fki ) ≥ 0 ∀i ∈ J

∑j∈J\{j}

Sjk −∑

k∈J\{i}Sik ≥ lij ∀(i , j) ∈ E

fij ∈ {0, 1},Sij ≥ 0 ∀i , j ∈ J , i 6= jChristian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 45 / 78

Page 117: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 46 / 78

Page 118: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (1 mach)Compact formulation without big −M coefficients ? Lasserre andQueyranne [LQ92]• Time horizon is divided in a set E of n positions (or events).

• Positional dates te , fe ≥ 0, for each e ∈ E start, end of event e (n var.)• Assignment variable aie ∈ {0, 1} of job j to event j (n2 var.)

min∑

e∈EwiCi∑

e∈Eaje = 1 ∀j ∈ J∑

j∈Jaje = 1 ∀e ∈ E

te +∑

j∈Jpiaie = fe ∀e ∈ E

te −∑

j∈Jrjaje ≥ 0 ∀e ∈ E

te ≥ te−1 ∀e ∈ ECi + M(1− aie) ≥ fe ∀i ∈ J ,∈ ∀e ∈ E

te ≥ 0 ∀e ∈ Eaie ∈ {0, 1} ∀i ∈ J ,∈ ∀e ∈ E

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78

Page 119: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (1 mach)Compact formulation without big −M coefficients ? Lasserre andQueyranne [LQ92]• Time horizon is divided in a set E of n positions (or events).• Positional dates te , fe ≥ 0, for each e ∈ E start, end of event e (n var.)

• Assignment variable aie ∈ {0, 1} of job j to event j (n2 var.)min

∑e∈E

wiCi∑e∈E

aje = 1 ∀j ∈ J∑j∈J

aje = 1 ∀e ∈ E

te +∑

j∈Jpiaie = fe ∀e ∈ E

te −∑

j∈Jrjaje ≥ 0 ∀e ∈ E

te ≥ te−1 ∀e ∈ ECi + M(1− aie) ≥ fe ∀i ∈ J ,∈ ∀e ∈ E

te ≥ 0 ∀e ∈ Eaie ∈ {0, 1} ∀i ∈ J ,∈ ∀e ∈ E

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78

Page 120: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (1 mach)Compact formulation without big −M coefficients ? Lasserre andQueyranne [LQ92]• Time horizon is divided in a set E of n positions (or events).• Positional dates te , fe ≥ 0, for each e ∈ E start, end of event e (n var.)• Assignment variable aie ∈ {0, 1} of job j to event j (n2 var.)

min∑

e∈EwiCi∑

e∈Eaje = 1 ∀j ∈ J∑

j∈Jaje = 1 ∀e ∈ E

te +∑

j∈Jpiaie = fe ∀e ∈ E

te −∑

j∈Jrjaje ≥ 0 ∀e ∈ E

te ≥ te−1 ∀e ∈ ECi + M(1− aie) ≥ fe ∀i ∈ J ,∈ ∀e ∈ E

te ≥ 0 ∀e ∈ Eaie ∈ {0, 1} ∀i ∈ J ,∈ ∀e ∈ E

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78

Page 121: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (1 mach)Compact formulation without big −M coefficients ? Lasserre andQueyranne [LQ92]• Time horizon is divided in a set E of n positions (or events).• Positional dates te , fe ≥ 0, for each e ∈ E start, end of event e (n var.)• Assignment variable aie ∈ {0, 1} of job j to event j (n2 var.)

min∑

e∈EwiCi∑

e∈Eaje = 1 ∀j ∈ J∑

j∈Jaje = 1 ∀e ∈ E

te +∑

j∈Jpiaie = fe ∀e ∈ E

te −∑

j∈Jrjaje ≥ 0 ∀e ∈ E

te ≥ te−1 ∀e ∈ ECi + M(1− aie) ≥ fe ∀i ∈ J ,∈ ∀e ∈ E

te ≥ 0 ∀e ∈ Eaie ∈ {0, 1} ∀i ∈ J ,∈ ∀e ∈ EChristian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78

Page 122: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (RCPSP)How many events needed ?∀i ∈ J either Si = 0 or ∃j ∈ J , Si = Sj + pj =⇒ |E| ≤ n + 1Start/End Event-based formulation (SEE) Koné, A., Lopez, Mongeau[KALM11]

Variable xie ∈ {0, 1} : job i starts at event e.

Variable yie ∈ {0, 1} : job i ends at event e.

te time of event e

2n2 + 2n binary variables, (n + 1) continuous variablesOn/Off Event-based formulation (OOE) Koné, A., Lopez, Mongeau[KALM11]

Variable zie ∈ {0, 1} : zie is set to 1 if job i starts at event e or if itstill being processed immediately after event e

n2 binary variables, (n + 1) continuous variablesChristian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 48 / 78

Page 123: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Positional date and assignment variables (RCPSP)Example

e 0 1 2 3x6e 0 1 0 0y6e 0 0 1 0z6e 0 1 0 0x7e 0 1 0 0y7e 0 0 0 1z7e 0 1 1 0

t 2 3 4 5 6 7 8x6t 0 1 0 0 0 0 0x7t 0 1 0 0 0 0 0

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 49 / 78

Page 124: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Start/End Event-based formulation (SEE)

min tn

t0 = 0

tf ≥ te + pi xie − pi (1− yif ) ∀(e, f ) ∈ E2, f > e,∀i ∈ Jte+1 ≥ te ∀e ∈ E, e < n∑

e∈Exie = 1,

∑e∈E

yie = 1 ∀i ∈ J∑e

v=0yiv +

∑n

v=exiv ≤ 1 ∀i ∈ J , ∀e ∈ E∑n

e′=eyie′ +

∑e−1

e′=0xje′ ≤ 1 ∀(i , j) ∈ E , ∀e ∈ E

r0k =∑

i∈Abikxi0 ∀k ∈ R

rek = r(e−1)k +∑

i∈Jbikxie −

∑i∈J

bikyie ∀e ∈ E, e ≥ 1, k ∈ R

rek ≤ Bk ∀e ∈ E, k ∈ Rxie ∈ {0, 1}, yie ∈ {0, 1} ∀i ∈ J ∪ {0, n + 1}, ∀e ∈ Ete ≥ 0, rek ≥ 0 ∀e ∈ E, k ∈ R.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 50 / 78

Page 125: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

On/Off Event-based formulation (OOE)

minCmax

Cmax ≥ te + (zie − zi(e−1))pi ∀e ∈ E,∀i ∈ J

t0 = 0, te+1 ≥ te ∀e 6= n − 1 ∈ E

tf ≥ te + ((zi−e − zi(e−1))− (zif − zi(f−1))− 1)pi ∀(e, f , i) ∈ E2 × J , f > e 6= 0e−1∑e′=0

zie′ ≥ e(1− (zie − zi(e−1))),

n−1∑e′=e

zie′ ≥ e(1 + (zie − zi(e−1))) ∀e 6= 0 ∈ E∑e∈E

zie ≥ 1 ∀i ∈ J

zie +

e∑e′=0

zje′ ≤ 1 + (1− zie)e ∀e ∈ E, ∀(i , j) ∈ E

n−1∑i=0

bikzie ≤ Bk ∀e ∈ E, ∀k ∈ R

te ≥ 0 ∀e ∈ Ezie ∈ {0, 1} ∀i ∈ J , ∀e ∈ E

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 51 / 78

Page 126: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 52 / 78

Page 127: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Arc-time indexed formulationsMixing flow-based and time-indexed formulations.

x tij = 1 if job j starts immediately at the end of job i at time t.

min∑i∈J

∑j∈J\{i}

∑t∈T

wj(t)x tij

∑j∈J\{i}

∑t∈T

x tij = 1 ∀i ∈ J

∑i∈J

x00i = m∑

j∈J\{i}x t

ji −∑

j∈J\{i}x t+pi

ij = 0 ∀i ∈ J ,∀t ∈ T

x tij ∈ {0, 1} ∀i ∈ J ,∀j ∈ J \ {i},∀t ∈ T

At least as strong LP relaxation as time-indexed one if variables x tii

are omitted except for i = 0 (dummy “depot” job) [PUPR10]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78

Page 128: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Arc-time indexed formulationsMixing flow-based and time-indexed formulations.x t

ij = 1 if job j starts immediately at the end of job i at time t.

min∑i∈J

∑j∈J\{i}

∑t∈T

wj(t)x tij

∑j∈J\{i}

∑t∈T

x tij = 1 ∀i ∈ J

∑i∈J

x00i = m∑

j∈J\{i}x t

ji −∑

j∈J\{i}x t+pi

ij = 0 ∀i ∈ J ,∀t ∈ T

x tij ∈ {0, 1} ∀i ∈ J ,∀j ∈ J \ {i},∀t ∈ T

At least as strong LP relaxation as time-indexed one if variables x tii

are omitted except for i = 0 (dummy “depot” job) [PUPR10]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78

Page 129: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Arc-time indexed formulationsMixing flow-based and time-indexed formulations.x t

ij = 1 if job j starts immediately at the end of job i at time t.

min∑i∈J

∑j∈J\{i}

∑t∈T

wj(t)x tij

∑j∈J\{i}

∑t∈T

x tij = 1 ∀i ∈ J

∑i∈J

x00i = m∑

j∈J\{i}x t

ji −∑

j∈J\{i}x t+pi

ij = 0 ∀i ∈ J ,∀t ∈ T

x tij ∈ {0, 1} ∀i ∈ J ,∀j ∈ J \ {i},∀t ∈ T

At least as strong LP relaxation as time-indexed one if variables x tii

are omitted except for i = 0 (dummy “depot” job) [PUPR10]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78

Page 130: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Arc-time indexed formulationsMixing flow-based and time-indexed formulations.x t

ij = 1 if job j starts immediately at the end of job i at time t.

min∑i∈J

∑j∈J\{i}

∑t∈T

wj(t)x tij

∑j∈J\{i}

∑t∈T

x tij = 1 ∀i ∈ J

∑i∈J

x00i = m∑

j∈J\{i}x t

ji −∑

j∈J\{i}x t+pi

ij = 0 ∀i ∈ J ,∀t ∈ T

x tij ∈ {0, 1} ∀i ∈ J ,∀j ∈ J \ {i},∀t ∈ T

At least as strong LP relaxation as time-indexed one if variables x tii

are omitted except for i = 0 (dummy “depot” job) [PUPR10]Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78

Page 131: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 54 / 78

Page 132: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

How to deal with large-horizons when using time-indexedformulations ? =⇒ Dantzig-Wolfe decomposition.

min∑j∈J

∑t∈T

wj(t)xjt (one-machine problem)∑t∈T

xjt = 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Let PS = {x ∈ [0, 1]n+T |∑j∈J∑t

s=t−pj +1 xjs ≤ 1,∀t ∈ T }.PS is integral as the matrix is totally unimodular [vHS00]. Set ofpseudo-schedules

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78

Page 133: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

How to deal with large-horizons when using time-indexedformulations ? =⇒ Dantzig-Wolfe decomposition.

min∑j∈J

∑t∈T

wj(t)xjt (one-machine problem)∑t∈T

xjt = 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Let PS = {x ∈ [0, 1]n+T |∑j∈J∑t

s=t−pj +1 xjs ≤ 1,∀t ∈ T }.PS is integral as the matrix is totally unimodular [vHS00]. Set ofpseudo-schedules

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78

Page 134: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

How to deal with large-horizons when using time-indexedformulations ? =⇒ Dantzig-Wolfe decomposition.

min∑j∈J

∑t∈T

wj(t)xjt (one-machine problem)∑t∈T

xjt = 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Let PS = {x ∈ [0, 1]n+T |∑j∈J∑t

s=t−pj +1 xjs ≤ 1,∀t ∈ T }.

PS is integral as the matrix is totally unimodular [vHS00]. Set ofpseudo-schedules

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78

Page 135: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

How to deal with large-horizons when using time-indexedformulations ? =⇒ Dantzig-Wolfe decomposition.

min∑j∈J

∑t∈T

wj(t)xjt (one-machine problem)∑t∈T

xjt = 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

xjs ≤ 1 ∀t ∈ T

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Let PS = {x ∈ [0, 1]n+T |∑j∈J∑t

s=t−pj +1 xjs ≤ 1,∀t ∈ T }.PS is integral as the matrix is totally unimodular [vHS00]. Set ofpseudo-schedules

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78

Page 136: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulationsWe have x =

∑rq=1 λqaq, ∀x extreme point of conv({PS}) where∑r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.

Equivalent LP (of equal LP relaxation value)

minr∑

q=1

∑j∈J

∑t∈T

wj(t)aqjt

λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J

r∑q=1

λq = 1

0 ≤ λq ≤ 1 q = 1, . . . , |T |

Start with a restricted set of pseudo schedules and solve the LPrelaxation by column generation.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78

Page 137: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulationsWe have x =

∑rq=1 λqaq, ∀x extreme point of conv({PS}) where∑r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.Equivalent LP (of equal LP relaxation value)

minr∑

q=1

∑j∈J

∑t∈T

wj(t)aqjt

λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J

r∑q=1

λq = 1

0 ≤ λq ≤ 1 q = 1, . . . , |T |

Start with a restricted set of pseudo schedules and solve the LPrelaxation by column generation.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78

Page 138: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulationsWe have x =

∑rq=1 λqaq, ∀x extreme point of conv({PS}) where∑r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.Equivalent LP (of equal LP relaxation value)

minr∑

q=1

∑j∈J

∑t∈T

wj(t)aqjt

λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J

r∑q=1

λq = 1

0 ≤ λq ≤ 1 q = 1, . . . , |T |

Start with a restricted set of pseudo schedules and solve the LPrelaxation by column generation.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78

Page 139: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

minr∑

q=1(∑j∈J

∑t∈T

wj(t)aqjt)λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J

(πj)

r∑q=1

λq = 1

(γ)

0 ≤ λq ≤ 1 q = 1, . . . , |T |Reduced cost of a pseudo schedule

cq =∑j∈J

∑t∈T

wj(t)aqjt

−∑j∈J

πj(∑t∈T

aqjt)− γ

=∑j∈J

∑t∈T

(wj(t)− πj)aqjt − γ

Finding a negative reduced cost variable amounts to find a shortest pathin an acyclic graph with O(nT ) arcs.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78

Page 140: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

minr∑

q=1(∑j∈J

∑t∈T

wj(t)aqjt)λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J (πj)

r∑q=1

λq = 1 (γ)

0 ≤ λq ≤ 1 q = 1, . . . , |T |Reduced cost of a pseudo schedule

cq =∑j∈J

∑t∈T

wj(t)aqjt −

∑j∈J

πj(∑t∈T

aqjt)− γ

=∑j∈J

∑t∈T

(wj(t)− πj)aqjt − γ

Finding a negative reduced cost variable amounts to find a shortest pathin an acyclic graph with O(nT ) arcs.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78

Page 141: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

minr∑

q=1(∑j∈J

∑t∈T

wj(t)aqjt)λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J (πj)

r∑q=1

λq = 1 (γ)

0 ≤ λq ≤ 1 q = 1, . . . , |T |Reduced cost of a pseudo schedule

cq =∑j∈J

∑t∈T

wj(t)aqjt −

∑j∈J

πj(∑t∈T

aqjt)− γ

=∑j∈J

∑t∈T

(wj(t)− πj)aqjt − γ

Finding a negative reduced cost variable amounts to find a shortest pathin an acyclic graph with O(nT ) arcs.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78

Page 142: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed formulations

minr∑

q=1(∑j∈J

∑t∈T

wj(t)aqjt)λq

r∑q=1

(∑t∈T

aqjt

)λq = 1 ∀j ∈ J (πj)

r∑q=1

λq = 1 (γ)

0 ≤ λq ≤ 1 q = 1, . . . , |T |Reduced cost of a pseudo schedule

cq =∑j∈J

∑t∈T

wj(t)aqjt −

∑j∈J

πj(∑t∈T

aqjt)− γ

=∑j∈J

∑t∈T

(wj(t)− πj)aqjt − γ

Finding a negative reduced cost variable amounts to find a shortest pathin an acyclic graph with O(nT ) arcs.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78

Page 143: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (1)How to strengthen the time-indexed formulation ? Mingozzi et al. [MM98]

min∑j∈J

∑t∈T

wj(t)xjt

∑t∈T

xjt = 1 ∀j ∈ J

∑j∈J

t∑s=t−pj +1

bjkxjs ≤ Bk ∀t ∈ T ,∀k ∈ R

T∑t=0

txjs −T∑

t=0txis ≥ lij ∀(i , j) ∈ E

xjt ∈ {0, 1} ∀j ∈ J ,∀t ∈ T

Integer Dantzig-Wolfe decomposition of resource constraintsChristian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 58 / 78

Page 144: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (2)Introduce additional variables

y ∈ {0, 1}n+T

j∈J∑T

s=0 bjkyjs ≤ Bk , ∀t ∈ T ,∀k ∈ R∑Ts=0 yjs = pj , ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J

Perform an integer Danzig-Wolfe decomposition ofPS =

{y ∈ {0, 1}n+T

∣∣∣∑j∈J∑T

s=0 bjkyjs ≤ Bk ,∀t ∈ T ,∀k ∈ R}

Subproblem is decomposable for each t ∈ T and each t ∈ Rnyielding mT multidimentional knapsack problems.

Better LP relaxation than the time-indexed formulation, butpractically intractable.

Best known lower bounds for the RCPSP (before “SAT” results [Hor10])where obtained by computing relaxation of this formulation ( Bruckerand Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste andDemassey[BD04]) integrating CP-based filtering and cuts.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78

Page 145: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (2)Introduce additional variables

y ∈ {0, 1}n+T

j∈J∑T

s=0 bjkyjs ≤ Bk , ∀t ∈ T ,∀k ∈ R∑Ts=0 yjs = pj , ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J

Perform an integer Danzig-Wolfe decomposition ofPS =

{y ∈ {0, 1}n+T

∣∣∣∑j∈J∑T

s=0 bjkyjs ≤ Bk ,∀t ∈ T ,∀k ∈ R}

Subproblem is decomposable for each t ∈ T and each t ∈ Rnyielding mT multidimentional knapsack problems.

Better LP relaxation than the time-indexed formulation, butpractically intractable.

Best known lower bounds for the RCPSP (before “SAT” results [Hor10])where obtained by computing relaxation of this formulation ( Bruckerand Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste andDemassey[BD04]) integrating CP-based filtering and cuts.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78

Page 146: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (2)Introduce additional variables

y ∈ {0, 1}n+T

j∈J∑T

s=0 bjkyjs ≤ Bk , ∀t ∈ T ,∀k ∈ R∑Ts=0 yjs = pj , ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J

Perform an integer Danzig-Wolfe decomposition ofPS =

{y ∈ {0, 1}n+T

∣∣∣∑j∈J∑T

s=0 bjkyjs ≤ Bk ,∀t ∈ T ,∀k ∈ R}

Subproblem is decomposable for each t ∈ T and each t ∈ Rnyielding mT multidimentional knapsack problems.

Better LP relaxation than the time-indexed formulation, butpractically intractable.

Best known lower bounds for the RCPSP (before “SAT” results [Hor10])where obtained by computing relaxation of this formulation ( Bruckerand Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste andDemassey[BD04]) integrating CP-based filtering and cuts.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78

Page 147: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (2)Introduce additional variables

y ∈ {0, 1}n+T

j∈J∑T

s=0 bjkyjs ≤ Bk , ∀t ∈ T ,∀k ∈ R∑Ts=0 yjs = pj , ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J

Perform an integer Danzig-Wolfe decomposition ofPS =

{y ∈ {0, 1}n+T

∣∣∣∑j∈J∑T

s=0 bjkyjs ≤ Bk ,∀t ∈ T ,∀k ∈ R}

Subproblem is decomposable for each t ∈ T and each t ∈ Rnyielding mT multidimentional knapsack problems.

Better LP relaxation than the time-indexed formulation, butpractically intractable.

Best known lower bounds for the RCPSP (before “SAT” results [Hor10])where obtained by computing relaxation of this formulation ( Bruckerand Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste andDemassey[BD04]) integrating CP-based filtering and cuts.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78

Page 148: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Column generation for time-indexed RCPSP (2)Introduce additional variables

y ∈ {0, 1}n+T

j∈J∑T

s=0 bjkyjs ≤ Bk , ∀t ∈ T ,∀k ∈ R∑Ts=0 yjs = pj , ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J

Perform an integer Danzig-Wolfe decomposition ofPS =

{y ∈ {0, 1}n+T

∣∣∣∑j∈J∑T

s=0 bjkyjs ≤ Bk ,∀t ∈ T ,∀k ∈ R}

Subproblem is decomposable for each t ∈ T and each t ∈ Rnyielding mT multidimentional knapsack problems.

Better LP relaxation than the time-indexed formulation, butpractically intractable.

Best known lower bounds for the RCPSP (before “SAT” results [Hor10])where obtained by computing relaxation of this formulation ( Bruckerand Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste andDemassey[BD04]) integrating CP-based filtering and cuts.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78

Page 149: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

More on Column generation for time-indexedRCPSP

Can we combine strengthening the TI formulation and reductionof the number of variables ? (Cut and Column generationdirectly on the time-indexed formulation Sadykov andVanderbeck [SV11] ?)Other decomposition schemes : partition the job in m subsets sothat there is a feasible single machine schedule for each subset.van den Akker et al. [vHv99, vHv06, Mv07]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 60 / 78

Page 150: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

More on Column generation for time-indexedRCPSP

Can we combine strengthening the TI formulation and reductionof the number of variables ? (Cut and Column generationdirectly on the time-indexed formulation Sadykov andVanderbeck [SV11] ?)Other decomposition schemes : partition the job in m subsets sothat there is a feasible single machine schedule for each subset.van den Akker et al. [vHv99, vHv06, Mv07]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 60 / 78

Page 151: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Outline

1 Introduction

2 Polyhedral studies and cutting plane generation

3 (Mixed) integer programming for scheduling problemsTime-indexed variablesTotal unimodularitySequencing and natural date variablesFlow (TSP) and natural date variablesPositional date and assignment variablesHybrid formulations

4 Column generation

5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 61 / 78

Page 152: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Machine scheduling results (1)

Efficiency of Sousa and Wolsey/van den Akker et al. cuts forlower bound computation(from van den Akker et al. [vHS99])

Columns 1(2) : average or maximal gap for inequalities with rhs 1(2)Columns n1(n2) : number of integer solutions found by cutting planegeneration with inequalities with rhs 1 (2)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 62 / 78

Page 153: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Machine scheduling results (2)

Column-and-cut generation (Sadykov and Vanderbeck 2011)

[R] Time-indexed formulation[M] Dantzig-Wolfe decomposition of [vHS00]Column cpu : time to solve the LP relaxation

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 63 / 78

Page 154: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

Machine scheduling results results (3)

Positional and sequencing based formulations cannot bediscarded but have to be combined with heuristics (Hoogeveenand van de Velde [Hv95], Danna et al. [DRL05])Comparison of formulations for parallel machine scheduling Unluand Mason [UM10]Recommendation is to use time-indexed models for smalldurations and flow-based model for other cases

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 64 / 78

Page 155: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

RCPSP results : comparison of ILP formulations vsCP

(from Kone et al.[KALM11])

No formulationdominates the other,the accurateformulation has to bechosen depending oninstance charactristicsILP formulations arenot dominated by CP

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 65 / 78

Page 156: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

RCPSP results : a cyclic example, MIP vs CPInstances n DSP hybrid/HD hybrid/GS CP ILP+ (P+

λ) CG (DW +

λ) λ0

λdsp λhyb CPUs λhyb CPUs λCP λILP+ CPUs λCG CPUsadpcm-st231.1 86 80 - - - - 80 - - 55 301 52adpcm-st231.2 142 139 - - - - 139 - - 82 305 82gsm-st231.1 30 30 29 2 28 2 28 28∗ 256 25 8 24gsm-st231.2 101 93 - - - - 93 - - 61 301 59gsm-st231.5 44 36 36 10 36 17 - 36∗ 3343 36 37 26gsm-st231.6 30 27 27 3 27 4 27 27∗ 7 27 3 17gsm-st231.7 44 41 41 13 41 17 41 41∗ 256 41 66 28gsm-st231.8 14 12 12 0.3 12 0.3 - 12∗ 0.6 12 <0.1 9gsm-st231.9 34 32 32 2 34 4 32 32∗ 62 31 12 28gsm-st231.10 10 8 8 0.2 8 0.1 8∗ 8∗ 0.2 8 <0.1 6gsm-st231.11 26 24 24 1 24 1 24 24∗ 5 24 1.5 20gsm-st231.12 15 13 13 0.3 13 0.4 13 13∗ 0.7 13 <0.1 10gsm-st231.13 46 43 43 168 42 440 43 41 11265 41 125 27gsm-st231.14 39 34 34 6 34 10 34 33∗ 3766 33 17 20gsm-st231.15 15 12 12 0.3 12 0.3 12 12∗ 0.9 12 <0.1 9gsm-st231.16 65 59 59 145 59 144 60 58 8656 48 300 38gsm-st231.17 38 33 33 202 - - 33 32 12786 33 19 23gsm-st231.18 214 194 - - - - 193 - - - - 120gsm-st231.19 19 15 15 0.4 15 0.6 15 15∗ 1.6 15 0.2 12gsm-st231.20 23 20 20 1 20 1.4 20 20∗ 17 20 0.9 13gsm-st231.21 33 30 30 6 30 6 31 30∗ 6105 29 7 20gsm-st231.22 31 29 29 3 29 4 29 29∗ 51 28 7 18gsm-st231.25 60 55 - - 55 75 57 55∗ 11589 48 300 37gsm-st231.29 44 42 42 13 42 15 42 42∗ 63 42 68 28gsm-st231.30 30 25 25 3 25 6 25 25∗ 14 25 6 16gsm-st231.31 44 39 39 13 39 17 39 39∗ 833 39 59 26gsm-st231.32 32 30 30 4 30 5 30 30∗ 11 30 5 21gsm-st231.33 59 52 - - - - 46 45 9697 46 300 33gsm-st231.34 10 8 7 <0.1 7 0.1 7∗ 7∗ 0.2 7 <0.1 6gsm-st231.35 18 16 14 0.4 14 0.5 14 14∗ 4 14 0.2 11gsm-st231.36 31 29 24 2 24 10 24 24∗ 321 24 4 18gsm-st231.39 26 23 21 1.5 21 3 21 21∗ 376 20 2 15gsm-st231.40 21 17 16 0.5 18 1.3 17 16∗ 28 16 0.6 12gsm-st231.41 60 50 - - 47 286 49 46 10069 46 300 34gsm-st231.42 23 19 18 0.7 19 4 18 18∗ 20 18 1 14gsm-st231.43 26 23 21 2 22 2 20 20∗ 101 20 2 15#best(opt) 23 25 25 27(2) 27(27)

From [AABH12], on a cyclic RCPSP with unit duration tasks, CP is able to find very good

solutions but ILP is better at proving optimality.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 66 / 78

Page 157: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

ConclusionProblems of increasing size are solved by MILP models with the helpof

Strong valid inequalitiesEfficient heuristicsBenefits from hybrid-methods (CP/MILP/LS)

LP Lower bounds are often still too slow : cut-and-column generationperspective.

“In retrospect it is interesting to note that the originalproblem that started my research is still outstanding–namely the problem of planning or scheduling dynamicallyover time, particularly planning dynamically underuncertainty. If such a problem could be successfully solved itcould (eventually through better planning) contribute to thewell-being and stability of the world.” (George Dantzig)Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 67 / 78

Page 158: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References I

C. Artigues, M. A. Ayala, A. Benabid, and Claire Hanen, Lowerand upper bounds for the resource-constrained modulo schedulingproblem, 13th International Conference on Project Managementand Scheduling, 2012, pp. 82–85.

D. Applegate and W. Cook, A computational study of job-shopscheduling, ORSA Journal on Computing 3 (1991), no. 2,149–156.C. Artigues, Ph. Michelon, and S. Reusser, Insertion techniquesfor static and dynamic resource-constrained project scheduling,European Journal of Operational Research 149 (2000), no. 2,249–267.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 68 / 78

Page 159: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References II

R. Alvarez-Valdés and J. Tamarit, The project schedulingpolyhedron : Dimension, facets and lifting theorems, EuropeanJournal of Operational Research 67 (1993), no. 2, 204–220.

E. Balas, On the facial structure of scheduling polyhedra,Mathematical Programming Essays in Honor of George B.Dantzig Part I, Mathematical Programming Studies, vol. 24,Springer, 1985, pp. 179–218.

P Baptiste and S Demassey, Tight LP bounds for resourceconstrained project scheduling, OR Spectrum 26 (2004), no. 2,251–262.P. Brucker and S. Knust, A linear programming and constraintpropagation-based lower bound for the rcpsp, European Journalof Operational Research 127 (2000), 355–362.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 69 / 78

Page 160: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References III

J. R. Correa and A. S. Shulz, Single machine scheduling withprecedence constraints, Integer Programming and CombinatoiralOptimization (D. Bienstock and G. Nemhauser, eds.), LectureNotes in Computer Science, vol. 3064, 2004, pp. 145–168.

S. Demassey, C. Artigues, P. Baptiste, and P. Michelon,Lagrangean relaxation-based lower bounds for the RCPSP, 8thInternational Workshop on Project Management and Scheduling(Nancy,France), 2004, pp. 76–79.

S. Demassey, C. Artigues, and P. Michelon, Constraintpropagation-based cutting planes : an application to the rcpsp,INFORMS Journal on Computing 17 (2005), no. 1, 52–65.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 70 / 78

Page 161: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References IV

E. Danna, E. Rothberg, and C. Le Pape, Exploring relaxationinduced neighborhoods to improve mip solutions, MathematicalProgramming 102 (2005), no. 1, 71–90.

M.E. Dyer and L.A. Wolsey, Formulating the single machineproblem with release dates as a mixed integer program, DiscreteApplied Mathematics 26 (1990), 255–270.

M. X. Goemans, M. Queyranne, A. S. Shulz, M. Skutella, andY. Wang, Single machine scheduling with release dates, SIAMJournal on Discrete Mathematics 15 (2002), 165–192.

J. R. Hardin, G. L. Nemhauser, and M. W. P. Savelsbergh,Strong valid inequalities for the resource-constrained schedulingproblem with uniform resource requirements, DiscreteOptimization 5 (2008), 19–35.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 71 / 78

Page 162: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References V

A. Horbach, A boolean satisfiability approach to theresource-constrained project scheduling problem, Annals ofOperations Research 181 (2010), 89–107.

H. Hoogeveen and S. L. van de Velde, Formulating a schedulingproblem with almost identical jobs by using positional completiontimes, IPCO, 1995, pp. 292–306.

O. Koné, C. Artigues, P. Lopez, and M. Mongeau, Event-basedmilp models for resource-constrained project scheduling problems,Computers and Operations Research 38 (2011), no. 1, 3–13.

J.B. Lasserre and M. Queyranne, Generic scheduling polyhedraland a new mixed integer formulation for single-machinescheduling, Proceedings of the second IPCO conference(Carnegie-Mellon University Pittsburgh), 1992, pp. 136–149.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 72 / 78

Page 163: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References VI

A. Mingozzi and V. Maniezzo, An exact algorithm for theresource constrained project scheduling problem based on a newmathematical formulation, Management Science 44 (1998),714–729.J. A. Hoogeveen M. van den Akker, Guido Diepen, A columngeneration based destructive lower bound for resource constrainedproject scheduling problems, CPAIOR, 2007, pp. 376–390.

G. Nemhauser and M. Savelsbergh, A cutting plane algorithm forthe single machine scheduling problem with release times,Combinatorial Optimization : New Frontiers in the Theory andPractice (M. Akgul, H. Hamacher, and S. Tufecki, eds.), NATOASI Series F : Computer and Systems Sciences, vol. 82,Springer-Verlag, 1992, pp. 63–84.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 73 / 78

Page 164: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References VII

C.N. Potts, An algorithm for the single machine sequencingproblem with precedence constraints, Mathematical ProgrammingStudy 13 (1980), 78–87.

A. Pessoa, E. Uchoa, M. Poggi de Aragão, and R. Rodrigues,Exact algorithm over an arc-time-indexed formulation for parallelmachine scheduling problems, Mathematical ProgrammingComputation 2 (2010), 259–290.

M. Queyranne and A. S. Schulz, Polyhedral approaches tomachine scheduling, Tech. Report 408/1994,TechnischeUniversitätBerlin, 1994.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 74 / 78

Page 165: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References VIII

, Scheduling unit jobs with compatible release dates onparallel machines with nonstationary speeds, nteger Programmingand Combinatorial Optimization (IPCO 1995) (E. Balas andJ. Clausen, eds.), Lecture Notes in Computer Science, vol. 920,1995, pp. 307–320.

M. Queyranne, Structure of a simple scheduling polyhedron,Mathematical Programming 58 (1993), 263–285.

A. S. Schulz, Polytopes and scheduling, Ph.D. thesis,Technischen Universität Berlin, 1996.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 75 / 78

Page 166: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References IX

R. Sadykov and F. Vanderbeck, Machine scheduling bycolumn-and-row generation on the time-indexed formulation,10th International Workshop on Models and Algorithms forPlanning and Scheduling Problems (Nymburk, Czech Republic),2011, pp. 55–57.

J. P. Sousa and L. A. Wolsey, A time indexed formulation ofnon-preemptive single machine scheduling problems,Mathematical Programming 54 (1992), 353–367.

Y. Unlu and S. J. Mason, Evaluation of mixed integerprogramming formulations for non-preemptive parallel machinescheduling problems, Computers & Industrial Engineering 58(2010), no. 4, 785–800.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 76 / 78

Page 167: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References X

J. M. van den Akker, C.P.M. Van Hoesel, and M.W.P.Savelsbergh, A polyhedral approach to single-machine schedulingproblems, Mathematical Programming 85 (1999), 541–572.

M. van den Akker, C. A. J. Hurkens, and M. W. P. Savelsbergh,Time-indexed formulations for machine scheduling problems :Column generation, INFORMS Journal on Computing 12 (2000),no. 2, 111–124.M. van den Akker, J. A. Hoogeveen, and S. L. van de Velde,Parallel machine scheduling by column generation, OperationsResearch 47 (1999), no. 6, 862–872.

M. van den Akker, J. A. Hoogeveen, and J. W. van Kempen,Parallel machine scheduling through column generation :Minimax objective functions, ESA, 2006, pp. 649–659.Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 77 / 78

Page 168: Scheduling and (Integer) Linear Programming master class/7... · Schedulingand(Integer)LinearProgramming ChristianArtigues LAAS-CNRS&UniversitédeToulouse,France artigues@laas.fr

References XI

H. Waterer, E.L. Johnson, P. Nobili, and M.W.P. Savelsbergh,The relation of time indexed formulations of single machinescheduling problems to the node packing problem, MathematicalProgramming (2002), no. 93, 477–494.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 78 / 78