Sunteți pe pagina 1din 168

Scheduling and (Integer) Linear Programming

Christian Artigues

LAAS - CNRS & Universit de Toulouse, France


artigues@laas.fr

Master Class CPAIOR 2012 - Nantes

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 1 / 78
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
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

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

Since the beginning, linear programming has been used to solve


scheduling problems.
The military refer to their various plans or proposed
schedules of training, logistical supply and deployment of
combat units as a program. When I first analyzed the Air
Force planning problem and saw that it could be formulated
as a system of linear inequalities, I called my paper
Programming in a Linear Structure (Georges Dantzig)
This presentation is a (non-exhaustive) survey of (integer) linear
programming formulations and valid inequalities for scheduling
problems

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 4 / 78
A simple scheduling example
One machine scheduling with release dates and deadlines
2 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 .

min S1 + S2 +p1 + p2
S 1 r1
S 2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + p1 S1 S2 + p2
S1 , S2 integer
P
J1 J2 Ci = 8 (optimal solution)
0 1 2 3 4 5 6

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

Feasible set S
The feasible set is S the set of points S Rn that satisfy the
constraints
min S1 + S2 +p1 + p2 S2 S
S1 r1
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + p1 S1 S2 + p2
S1 , S2 integer S1

P
J1 J2 Ci = 8
0 1 2 3 4 5 6

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78
The scheduling polyhedron
Convex hull conv (S)
The convexn hull of S, i.e. the smallest convex set containing
o S :
P|S| i , P|S|
conv (S) = x Rn i Rn+ , x = i=1 i S =1

i=1 i

min S1 + S2 +p1 + p2 S2 S
conv (S)
S1 r1
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + p1 S1 S2 + p2
S1 , S2 integer S1

P
J1 J2 Ci = 8
0 1 2 3 4 5 6
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78
The scheduling polyhedron

Optimization on S and conv (S)


Let f : Rn R a linear function, min f (S) = min f (S)
SS Sconv (S)

min S1 + S2 +p1 + p2 S2 S
conv (S)
S1 r1
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + p1 S1 S2 + p2
S1 , S2 integer S1

P
J1 J2 Ci = 8
0 1 2 3 4 5 6

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78
The scheduling polyhedron
conv (S) is a polyhedron
There exists A Rmn and b Rn with m finite such that
conv (S) = {x Rn |Ax b}. Hence min f (S) is a LP.
Sconv (S)

min S1 + S2 +p1 + p2 S2 S
conv (S)
S1 r1
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + p1 S1 S2 + p2
S1 , S2 integer S1

P
J1 J2 Ci = 8
Find a complete description
0 1 2 3 4 5 6 of conv (S) : hard in general
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78
Definitions : valid inequalities, faces and facets
Let P denote a polyhedron.
A valid inequality x is such that S P, S verifies the
inequality (P is included in the halfspace induced by the
inequality)
A face is the intersection of P with the hyperplane
{x Rn |x = }
A vertex is a face of dimension 0
A facet is a face of dimension dim(P) 1
S2

S1

3S1 + 5S2 7 : a valid inequality

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78
Definitions : valid inequalities, faces and facets
Let P denote a polyhedron.
A valid inequality x is such that S P, S verifies the
inequality (P is included in the halfspace induced by the
inequality)
A face is the intersection of P with the hyperplane
{x Rn |x = }
A vertex is a face of dimension 0
A facet is a face of dimension dim(P) 1
S2

S1

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


Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78
Definitions : valid inequalities, faces and facets
Let P denote a polyhedron.
A valid inequality x is such that S P, S verifies the
inequality (P is included in the halfspace induced by the
inequality)
A face is the intersection of P with the hyperplane
{x Rn |x = }
A vertex is a face of dimension 0
A facet is a face of dimension dim(P) 1
S2

S1

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


Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78
Definitions : valid inequalities, faces and facets
Let P denote a polyhedron.
A valid inequality x is such that S P, S verifies the
inequality (P is included in the halfspace induced by the
inequality)
A face is the intersection of P with the hyperplane
{x Rn |x = }
A vertex is a face of dimension 0
A facet is a face of dimension dim(P) 1
S2
A polyhedron is
fully described by
the set of all
S1 facet-inducing
valid inequalities
P {S|2S1 + 3S2 = 9} : a facet
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78
(Integer) linear programming-based scheduling
Given a scheduling problem and the logical description of S
1 Perform a polyhedral study :
Find a complete description of conv (S) with a polynomial
number of linear inequalities ? The problem can be solved by
LP
Find a complete description of conv (S) and show it has a
supermodular structure ? The problem can be solved by a
greedy algorithm
Find a partial description of conv (S) ? This gives useful valid
inequalities
2 Design a (mixed)-integer programming formulation
More polyhedral studies, solve with branch-and-cut,
branch-and-price, branch-and-cut-and-price, heuristics, . . . (only
partly addressed here)

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

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

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

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

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

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

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 9 / 78
A scheduling problem that can be solved by LP

Project scheduling S PS 1 1
3
3 2
0
Precedence constraints E .
0 5
lij : minimum distance between the start 1
of job i (Si ) and the start of job j (Sj ). 0 2 4 1
2
S PS = {S R+n |Sj Si lij , (i, j) E }
find the shortest schedule
minSn+1 X
max lij xij
Sj Si lij (i, j) E (i,j)E
S0 = 0 X X
xij = xji j J \ {0}
Sj 0 j J i1 (j) i(j)
X
x0i = 1
i(0)

x0i 0
(longest path model)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 10 / 78
Supermodular polyhedron : definitions [Sch96]
Consider a set N = {1, . . . , n} and its power set 2N (set of all
subsets of N) and a supermodular set function f : 2N R, i.e. a set
function that verifies :
(
f () = 0
f (A B) + f (A B) f (A) + f (B), A, B N

P(f ) = {x R|N| | f (A), A N} supermodular polyhedron


P
iA xi

There is an O(n log n) greedy algorithm to find


x = argminx P(f ) cx :
if i N, ci < 0, the problem is unbounded.
otherwise x B(f ). Solve the problem with the following
greedy algorithm
(
x1 = f ({1})
xj = f ({1, . . . , j}) f ({1, . . . , j 1}), j = 2, . . . , n.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78
Supermodular polyhedron : definitions [Sch96]
Consider a set N = {1, . . . , n} and its power set 2N (set of all
subsets of N) and a supermodular set function f : 2N R, i.e. a set
function that verifies :
(
f () = 0
f (A B) + f (A B) f (A) + f (B), A, B N

P(f ) = {x R|N| | f (A), A N} supermodular polyhedron


P
iA xi

There is an O(n log n) greedy algorithm to find


x = argminx P(f ) cx :
if i N, ci < 0, the problem is unbounded.
otherwise x B(f ). Solve the problem with the following
greedy algorithm
(
x1 = f ({1})
xj = f ({1, . . . , j}) f ({1, . . . , j 1}), j = 2, . . . , n.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Single-machine scheduling S SM
Set of feasible
( schedules
for a set of jobs J on a single machine :)
C p , j J ,
S SM = C RJ i i

Ci Cj + pi Cj Ci + pj , i, j J , i 6= j

Queyranne [Que93] showed that


conv (S SM ) = {C RJ | jA pj Cj g(A), A J } where
P
 2 
1 P P 2
g(A) = 2 jA pj + jA pj .

These valid inequalities can be obtained by Smiths rule (WSPT).


P
Optimum for iJ wi Ci is obtained by sorting jobs in non
decreasing wi /pi .
For A = {i1 , . . . , is } J , set wi = pi for i A and wi = 0 for
i J \A
Opt = pi1 pi1 + pi2 (pi1 + pi2 ) +. . .+ pis (pi1 + pi2 +. . .+ pis ) = g(A)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78
A scheduling supermodular polyhedron [Que93]
Each inequality jS pj Cj g(S) defines a facet for conv (Q).
P

conv (S SM ) is a supermodular polyhedron and the greedy


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

conv (S SM ) is a supermodular polyhedron and the greedy


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

conv (S SM ) is a supermodular polyhedron and the greedy


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

conv (S SM ) is a supermodular polyhedron and the greedy


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

conv (S SM ) is a supermodular polyhedron and the greedy


P
algorithm for minimizing iJ wi Ci coincides with the Smiths
rule WSPT
This rediscovers the WSPT rule but also provides valid
inequalities for other (NP-hard) scheduling problems. An
O(n log n) separation algorithm is available to find an inequality
violated by a given vector C .
More scheduling supermodular polyhedra :
the convex hull of the feasible start time for unit jobs on parallel
machines with nonstationary speeds [QS95]
the convex hull of mean busy time vectors of preemptive
schedules for jobs with release dates on a single machine
[GQS+ 02]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78
Valid inequalities for NP-hard scheduling problems
Single-machine scheduling with release dates S SMR
Set of feasible schedules for a set of jobs J on a single machine with
release dates
( : )
S r , j J ,
SMR J i i
S = SR
Si Sj + lij Sj Si + lji , i, j J , i 6= j

P
The problem of minimizing SS wi Si is NP-hard = no chance
to have a complete characterization of conv (S SMR )
However, Balas [Bal85] studied P = conv (S) and derived
facet-defining inequalities. He showed that a facet-defining inequality
for a subset of jobs K J induces also a facet for J .
i J , Si ri induces a facet of P
i, j J , i 6= j,
(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij induces a
facet of P if and only if dji < rj ri < dij
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78
Valid inequalities for NP-hard scheduling problems
Single-machine scheduling with release dates S SMR
Set of feasible schedules for a set of jobs J on a single machine with
release dates
( : )
S r , j J ,
SMR J i i
S = SR
Si Sj + lij Sj Si + lji , i, j J , i 6= j

P
The problem of minimizing SS wi Si is NP-hard = no chance
to have a complete characterization of conv (S SMR )
However, Balas [Bal85] studied P = conv (S) and derived
facet-defining inequalities. He showed that a facet-defining inequality
for a subset of jobs K J induces also a facet for J .
i J , Si ri induces a facet of P
i, j J , i 6= j,
(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij induces a
facet of P if and only if dji < rj ri < dij
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78
Valid inequalities for NP-hard scheduling problems
Single-machine scheduling with release dates S SMR
Set of feasible schedules for a set of jobs J on a single machine with
release dates
( : )
S r , j J ,
SMR J i i
S = SR
Si Sj + lij Sj Si + lji , i, j J , i 6= j

P
The problem of minimizing SS wi Si is NP-hard = no chance
to have a complete characterization of conv (S SMR )
However, Balas [Bal85] studied P = conv (S) and derived
facet-defining inequalities. He showed that a facet-defining inequality
for a subset of jobs K J induces also a facet for J .
i J , Si ri induces a facet of P
i, j J , i 6= j,
(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij induces a
facet of P if and only if dji < rj ri < dij
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78
Valid inequalities for NP-hard scheduling problems
Single-machine scheduling with release dates S SMR
Set of feasible schedules for a set of jobs J on a single machine with
release dates
( : )
S r , j J ,
SMR J i i
S = SR
Si Sj + lij Sj Si + lji , i, j J , i 6= j

P
The problem of minimizing SS wi Si is NP-hard = no chance
to have a complete characterization of conv (S SMR )
However, Balas [Bal85] studied P = conv (S) and derived
facet-defining inequalities. He showed that a facet-defining inequality
for a subset of jobs K J induces also a facet for J .
i J , Si ri induces a facet of P
i, j J , i 6= j,
(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij induces a
facet of P if and only if dji < rj ri < dij
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78
Cutting plane generation for NP-hard scheduling
problems
From a partial descrition of conv (S) (relaxation), iteratively solve the
separation problem for families of valid inequalities.
S2

S1

Optimum has been found after adding Balas inequality


(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij
Separation is NP-hard in general = the optimum cannot be found
quickly by pure cutting plane generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78
Cutting plane generation for NP-hard scheduling
problems
From a partial descrition of conv (S) (relaxation), iteratively solve the
separation problem for families of valid inequalities.
S2

S1

3S1 + 5S2 7

Optimum has been found after adding Balas inequality


(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij
Separation is NP-hard in general = the optimum cannot be found
quickly by pure cutting plane generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78
Cutting plane generation for NP-hard scheduling
problems
From a partial descrition of conv (S) (relaxation), iteratively solve the
separation problem for families of valid inequalities.
S2

S1

S1 + 3S2 6

Optimum has been found after adding Balas inequality


(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij
Separation is NP-hard in general = the optimum cannot be found
quickly by pure cutting plane generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78
Cutting plane generation for NP-hard scheduling
problems
From a partial descrition of conv (S) (relaxation), iteratively solve the
separation problem for families of valid inequalities.
S2

S1

2S1 + 3S2 9

Optimum has been found after adding Balas inequality


(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij
Separation is NP-hard in general = the optimum cannot be found
quickly by pure cutting plane generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78
Cutting plane generation for NP-hard scheduling
problems
From a partial descrition of conv (S) (relaxation), iteratively solve the
separation problem for families of valid inequalities.
S2

S1

2S1 + 3S2 9

Optimum has been found after adding Balas inequality


(lij + ri rj )Si + (lji + rj ri )Sj dij dji + Li dji + Lj dij
Separation is NP-hard in general = the optimum cannot be found
quickly by pure cutting plane generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 16 / 78
Principle of (mixed)-integer programming
Design a good MIP formulation for the scheduling problem
Solve by branch-and-bound

S2 S

S1

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
Principle of (mixed)-integer programming
Design a good MIP formulation for the scheduling problem
Solve by branch-and-bound
min S1 + S2 +p1 + p2
S1 r1 S2 S
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + Mx p1
S1 S2 + M(1 x ) p2
S1 , S2 integer S1

x {0, 1}

Remark : once x is fixed, extreme points are integral = no need for integer constraints on S

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78
Principle of (mixed)-integer programming
Design a good MIP formulation for the scheduling problem
Solve by branch-and-bound
min S1 + S2 +p1 + p2
S1 r1 S2 S
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + Mx p1
S1 S2 + M(1 x ) p2
S1 , S2 integer S1

x {0, 1}

Remark : once x is fixed, extreme points are integral = no need for integer constraints on S

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78
Principle of (mixed)-integer programming
Design a good MIP formulation for the scheduling problem
Solve by branch-and-bound
min S1 + S2 +p1 + p2
S1 r1 S2 S

S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + Mx p1
S1 S2 + M(1 x ) p2
S1
S1 , S2 integer
x {0, 1} 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
Principle of (mixed)-integer programming
Design a good MIP formulation for the scheduling problem
Solve by branch-and-bound
min S1 + S2 +p1 + p2 S2 S

S1 r1
S2 r2
S1 + p1 d1
S2 + p2 d2
S2 S1 + Mx p1
S1
S1 S2 + M(1 x ) p2
S1 , S2 integer Right node x = 0
P
x {0, 1} J1 J2 Ci = 8
0 1 2 3 4 5 6

Remark : once x is fixed, extreme points are integral = no need for integer constraints on S
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Case study : the resource-constrained project
scheduling problem

Resource-constrained project scheduling with irregular


starting time costs
n jobs (set J ) with integer start times 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 iJ |Si tSi +pi 1 bik Bk , t T , k R.
P

Cost function wj : {1, . . . , T } R.

P
Find a schedule that minimizes iJ 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
Scheduling objectives
P
Objective min iJ wj (Sj ) models most standard objectives
Makespan min maxiJ Ci
Let J = {1, . . . , n + 1} with n + 1 dummy end jobs.
wi (t) = 0, i J \ {n + 1}, wn+1 (t) = t

Maximum lateness min maxiJ Ci di


Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi di
Earliness-tardiness costs
min iJ (i max(0, di Ci ) + i max(0, Ci di )
P

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 )
P
Weighted number of late jobs iJ wi Ui
(
0 if t + pi di
wi (t) =
wi otherwise
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78
Scheduling objectives
P
Objective min iJ wj (Sj ) models most standard objectives
Makespan min maxiJ Ci
Let J = {1, . . . , n + 1} with n + 1 dummy end jobs.
wi (t) = 0, i J \ {n + 1}, wn+1 (t) = t

Maximum lateness min maxiJ Ci di


Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi di
Earliness-tardiness costs
min iJ (i max(0, di Ci ) + i max(0, Ci di )
P

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 )
P
Weighted number of late jobs iJ wi Ui
(
0 if t + pi di
wi (t) =
wi otherwise
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78
Scheduling objectives
P
Objective min iJ wj (Sj ) models most standard objectives
Makespan min maxiJ Ci
Let J = {1, . . . , n + 1} with n + 1 dummy end jobs.
wi (t) = 0, i J \ {n + 1}, wn+1 (t) = t

Maximum lateness min maxiJ Ci di


Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi di
Earliness-tardiness costs
min iJ (i max(0, di Ci ) + i max(0, Ci di )
P

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 )
P
Weighted number of late jobs iJ wi Ui
(
0 if t + pi di
wi (t) =
wi otherwise
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78
Scheduling objectives
P
Objective min iJ wj (Sj ) models most standard objectives
Makespan min maxiJ Ci
Let J = {1, . . . , n + 1} with n + 1 dummy end jobs.
wi (t) = 0, i J \ {n + 1}, wn+1 (t) = t

Maximum lateness min maxiJ Ci di


Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi di
Earliness-tardiness costs
min iJ (i max(0, di Ci ) + i max(0, Ci di )
P

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 )
P
Weighted number of late jobs iJ wi Ui
(
0 if t + pi di
wi (t) =
wi otherwise
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 20 / 78
MILP Formulations with time-indexed variables
PT
time-indexed variables xit = 1 Si = t Si = t=0 txit
Single machine XX
min wj (t)xjt
jJ tT
X
xjt = 1 j J
tT
T
X T
X
txjt txit lij (i, j) E
t=0 t=0
X t
X
xjs 1 t T
jJ s=tpj +1

xjt {0, 1} j J , t T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78
MILP Formulations with time-indexed variables
PT
time-indexed variables xit = 1 Si = t Si = t=0 txit
Parallel machines XX
min wj (t)xjt
jJ tT
X
xjt = 1 j J
tT
T
X T
X
txjt txit lij (i, j) E
t=0 t=0
X t
X
xjs B t T
jJ s=tpj +1

xjt {0, 1} j J , t T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78
MILP Formulations with time-indexed variables
PT
time-indexed variables xit = 1 Si = t Si = t=0 txit
RCPSP
XX
min wj (t)xjt
jJ tT
X
xjt = 1 j J
tT
T
X T
X
txjt txit lij (i, j) E
t=0 t=0
X t
X
bjk xjs Bk t T , k R
jJ s=tpj +1

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
MILP Formulations with time-indexed variables
PT
time-indexed variables xit = 1 Si = t Si = t=0 txit
RCPSP (disaggregated precedence constraints)
XX
min wj (t)xjt
X jJ tT
xjt = 1 j J
tT
T t+lij 1
X X
xis + xjs 1 (i, j) E , t T
s=t s=0
X t
X
bjk xjs Bk t T , k R
jJ s=tpj +1

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
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

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

A matrix A is totally unimodular (TU) if and only if every square


submatrix has determinant 0, 1 or -1.
if A is TU, minAx b cx has an integer optimal solution or there is
no solution
A is TU if (sufficient condition) rows can be partitionned into
two disjoint sets B and C such that
each column of A has at most two non-zero entries,
each entry of A is 0, 1 or -1
if two non-zeros in a column have opposite signs, they are in the
same subset of rows (both in B or both in C ).
if two non-zeros in a column have the same sign, there is one in
B and the other one in C
A is also TU if its transpose is TU.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 23 / 78
Total unimodularity and scheduling
Project scheduling with irregular starting 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 . Cost function
wj : {1, . . . , T } R. Find a schedule that minimizes jJ wj (Sj ).
P

PT
time-indexed variable zit = 1 Si t (zit = t=0 xit )
XX
min (wj (t) wj (t + 1)) zjt
jJ tT

zjT = 1 j J
zjt zj,t+1 0 j J , t T
zj,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
Comparison between formulations
Other IP with time-indexed variables xit = 1 Si = t (nT variables)

XX XX
min wj (t)xjt min wj (t)xjt
X jJ tT jJ tT
X
xjt = 1 j J xjt = 1 j J
tT tT
T t+lij 1 T T
X X X X
xis + xjs 1 (i, j) E , t T txjs txis lij (i, j) E
s=t s=0 t=0 t=0

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

Totally unimodular matrix, integer polyhedron Polyhedron is not integer !

For the RCPSP, the LP relaxation of the time-indexed model with


disagreggated precedence constraints is tighter.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 25 / 78
MILP Formulations with time-indexed variables :
facets
Facet-inducing inequalities for the single-machine polyhedron
(without precedence constraints) [SW92]
X
xjt 1 j J
tT
X t
X
xjs 1 t T
jJ s=tpj +1
t+1
X X t
X
xjs + xis 1 j J , t T ,
s=tpj +1 i6=j s=tpi +

{2, . . . , max pi }
i6=j

All facet-inducing inequalities with rhs = 1 [vHS99].


Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 26 / 78
Sousa and Wolsey valid inequalities [SW92]

T
X xju 1
=
u=1
2 2
t
X X xis 1

s=tp +1
2 2
iJ i

t+1
X X xis 1

2 2
iJ s=tpi +

T n t t+1
X xju X X xis X X xis 3
b + + cb c
u=1
2 i=1 s=tp +1
2 2 2
i iJ s=tpi +
t+1
X X t
X
xjs + xis 1
s=tpj +1 i6=j s=tpi +

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 27 / 78
Sousa and Wolsey valid inequalities [SW92]

For each time period t T , for each task j T and for each
{2, . . . , maxi6=j pi }
t pj + 1 t +1
j
t pi + t 1
i J \ {j}

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 28 / 78
van den Akker et al. valid ineqalities [vHS99]

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


j1

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


j2 2

u1 pi + 1 + z + 1 u1 u2 pi + 1 u1 + 1 1 u2 pi + 2 u2 v 1
i J\{j1 , j2 }

L M U

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


are derived.

In [WJNS02], relation with valid ineqalities for the node packing


problem is established.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 29 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Valid inequalities for the time-indexed RCPSP ILP
Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts
to the RCPSP.
P
Let F be a forbidden set (or cover), i.e. jF bi > B.
Pt
s=tpj +1 xjs |F | 1 is a valid inequality t T .
P
jF

Consider now a special task j F and an interval v 0


Pt Pt+v
s=tpj +1 xjs |F | 1 is a valid
P
iF \{j} s=tpj +1+v xiq +
inequality t T .
The inequality defines a facet for the polyhedron reduced to jobs
in C if C is a minimal forbidden set, i.e. C \{i} bi B, i C .
P

Hardin et al. propose lifting procedures and conditions for the


resulting inequalities to be facet-inducing for the complete
polyhedron.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

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

Time-indexed models yield good LP relaxation but the number of


variables can be huge = need to consider more compact models.
Binary variable yij = 1 if and only if Sj Si + pi
Disjunctive case : yij = 1 yji , (i, j) D (half of the variables
can be dropped) and yij is the incidence vector of linear
orderings :
If there are no release dates and in the 1-machine case
P
Cj = iD\{j} yij pi + pj
Not possible to consider start dependent costs = objective
P
iJ wi Ci

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

Time-indexed models yield good LP relaxation but the number of


variables can be huge = need to consider more compact models.
Binary variable yij = 1 if and only if Sj Si + pi
Disjunctive case : yij = 1 yji , (i, j) D (half of the variables
can be dropped) and yij is the incidence vector of linear
orderings :
If there are no release dates and in the 1-machine case
P
Cj = iD\{j} yij pi + pj
Not possible to consider start dependent costs = objective
P
iJ wi Ci

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

Time-indexed models yield good LP relaxation but the number of


variables can be huge = need to consider more compact models.
Binary variable yij = 1 if and only if Sj Si + pi
Disjunctive case : yij = 1 yji , (i, j) D (half of the variables
can be dropped) and yij is the incidence vector of linear
orderings :
If there are no release dates and in the 1-machine case
P
Cj = iD\{j} yij pi + pj
Not possible to consider start dependent costs = objective
P
iJ wi Ci

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

Time-indexed models yield good LP relaxation but the number of


variables can be huge = need to consider more compact models.
Binary variable yij = 1 if and only if Sj Si + pi
Disjunctive case : yij = 1 yji , (i, j) D (half of the variables
can be dropped) and yij is the incidence vector of linear
orderings :
If there are no release dates and in the 1-machine case
P
Cj = iD\{j} yij pi + pj
Not possible to consider start dependent costs = objective
P
iJ wi Ci

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

Time-indexed models yield good LP relaxation but the number of


variables can be huge = need to consider more compact models.
Binary variable yij = 1 if and only if Sj Si + pi
Disjunctive case : yij = 1 yji , (i, j) D (half of the variables
can be dropped) and yij is the incidence vector of linear
orderings :
If there are no release dates and in the 1-machine case
P
Cj = iD\{j} yij pi + pj
Not possible to consider start dependent costs = objective
P
iJ wi Ci

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence


constraints)
Consider yij for i < j = Cj = i<j yij pi + i>j (1 yji )pi + pj
P P

1i<jn (wj pi wi pj )yij +


P P P P
j wj Cj = 1i<jn wi pj + jJ wj pj
The objective is easily optimized by LP :
min 1i<jn (wj pi wi pj )yij
P

0 yij 1 i J , J , j > i

It suffices to fix yij = 1 if wj pi wi pj 0 and to 0 otherwise


= WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence


constraints)
Consider yij for i < j = Cj = i<j yij pi + i>j (1 yji )pi + pj
P P

1i<jn (wj pi wi pj )yij +


P P P P
j wj Cj = 1i<jn wi pj + jJ wj pj
The objective is easily optimized by LP :
min 1i<jn (wj pi wi pj )yij
P

0 yij 1 i J , J , j > i

It suffices to fix yij = 1 if wj pi wi pj 0 and to 0 otherwise


= WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence


constraints)
Consider yij for i < j = Cj = i<j yij pi + i>j (1 yji )pi + pj
P P

1i<jn (wj pi wi pj )yij +


P P P P
j wj Cj = 1i<jn wi pj + jJ wj pj
The objective is easily optimized by LP :
min 1i<jn (wj pi wi pj )yij
P

0 yij 1 i J , J , j > i

It suffices to fix yij = 1 if wj pi wi pj 0 and to 0 otherwise


= WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence


constraints)
Consider yij for i < j = Cj = i<j yij pi + i>j (1 yji )pi + pj
P P

1i<jn (wj pi wi pj )yij +


P P P P
j wj Cj = 1i<jn wi pj + jJ wj pj
The objective is easily optimized by LP :
min 1i<jn (wj pi wi pj )yij
P

0 yij 1 i J , J , j > i

It suffices to fix yij = 1 if wj pi wi pj 0 and to 0 otherwise


= WSPT rule [QS94].

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : one machine, precedence
constraints (1)
Set E of precedence constraints
(MILP due to [Pot80])
P P
min i,jJ pi wj yij + jJ pj wj

yij + yji =1 i, j J , i 6= j
yij + yjk yik 1 i, j, k J , i 6= j 6= k
yij =1 (i, j) E
yij =0 (j, i) E
yij {0, 1} i, j J , i 6= j

(NP-hard)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 34 / 78
Sequencing variables : one machine, precedence
constraints (2)
A vertex cover LP-relaxation. Let i j denote {(i, j), (j, i)} E =
P P
min i,jJ pi wj yij + jJ pj wj

yij + yji 1 i, j J , i 6= j, i j
yik + ykj 1 (i, j) E , k J , i k, k j
yil + 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 integral


and yields a feasible solution [CS04]

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 35 / 78
Sequencing and natural date variables : one
machine, release dates
Jobs have release dates ri , assuming r1 r2 . . . rn
Idle times = need to consider natural date variables Si

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78
Sequencing and natural date variables : one
machine, release dates
Jobs have release dates ri , assuming r1 r2 . . . rn
Idle times = need to consider natural date variables Si
MILP by [NS92] (improving [DW90] inequalities) linearizing :
X
Sj (ri + pi )yij + pk yik ykj i, j J , i 6= j
k6=i,j

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 36 / 78
Sequencing and natural date variables : one
machine, release dates
Jobs have release dates ri , assuming r1 r2 . . . rn
Idle times = need to consider natural date variables Si
MILP by [NS92] (improving [DW90] inequalities) linearizing :
X
Sj (ri + pi )yij + pk yik ykj i, j J , i 6= j
k6=i,j
P
min jJ w j Sj
Sj (ri +pi )yij + pk (yik yjk )+ i, j J , i 6= j
P P
k<i,k6=j k>i,k6=j pk ykj
Sj ri i J
yij + yji =1 1 i < j n
yij + 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
Sequencing and natural date variables : the general
disjunctive scheduling problem
P
min jJ w j Sj

Sj r i i J
Sj Si + Mij (1 yij ) pi (i, j) D
yij + yji = 1 (i, j) D
yij + yjk yik 1 (i, j), (j, k), (k, i) D, i 6= j 6= k
Sj Si lij (i, j) E
yij {0, 1} (i, j) D

with Mij an upper bound on Si + pi Sj , e.g. di rj in case of


deadlines.
(n(n 1)/2 integer variables, n continuous variables)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 37 / 78
Sequencing and natural date variables : RCPSP
Forbidden set F F : k R,
P P
jF bjk > Bk . min jJ wj Sj
MIP issued from [AVT93]
Sj ri i J
Sj Si + Mij (1 yij ) pi (i, j) D
X
yij 1 F F
i,jF ,i6=j

yij + yji 1 i, j J
yij + yji =1 (i, j) D
yij + yjk yik 1 (i, j), (j, k), (ki) D, i 6= j 6= k
Sj 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
Sequencing and natural date variables : compact
model for the RCPSP
Replace exponential number of constraints
i,jF ,i6=j yij 1 F F
P

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


sink job)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78
Sequencing and natural date variables : compact
model for the RCPSP
Replace exponential number of constraints
i,jF ,i6=j yij 1 F F
P

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


sink job)
X X
f0jk = fj,n+1,k = Bk j J , k R
jJ jJ
X X
fijk = fjik = bik i J , k R
j6=i j6=i

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

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 39 / 78
Sequencing and natural date variables : compact
model for the RCPSP
Replace exponential number of constraints
i,jF ,i6=j yij 1 F F
P

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


sink job)
X X
f0jk = fj,n+1,k = Bk j J , k R
jJ jJ
X X
fijk = fjik = bik i J , k R
j6=i j6=i

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
(Facet-inducing) valid inequalities for the RCPSP
polyhedron
Polyhedral study for the forbidden set-based formulation,
Alvarez-Valds et al. [AVT93]
2
let Q = conv ({(S, y ) Rn |(S, y ) SY}) (the RCPSP
polyhedron)
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 ) with
yij = 1, yji = 0 and (S, y ) Q {(S, y )|yij + yji = 1} (possible
if 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 we
increment |D|
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78
(Facet-inducing) valid inequalities for the RCPSP
polyhedron
Polyhedral study for the forbidden set-based formulation,
Alvarez-Valds et al. [AVT93]
2
let Q = conv ({(S, y ) Rn |(S, y ) SY}) (the RCPSP
polyhedron)
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 ) with
yij = 1, yji = 0 and (S, y ) Q {(S, y )|yij + yji = 1} (possible
if 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 we
increment |D|
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78
(Facet-inducing) valid inequalities for the RCPSP
polyhedron
Polyhedral study for the forbidden set-based formulation,
Alvarez-Valds et al. [AVT93]
2
let Q = conv ({(S, y ) Rn |(S, y ) SY}) (the RCPSP
polyhedron)
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 ) with
yij = 1, yji = 0 and (S, y ) Q {(S, y )|yij + yji = 1} (possible
if 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 we
increment |D|
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78
(Facet-inducing) valid inequalities for the RCPSP
polyhedron
Polyhedral study for the forbidden set-based formulation,
Alvarez-Valds et al. [AVT93]
2
let Q = conv ({(S, y ) Rn |(S, y ) SY}) (the RCPSP
polyhedron)
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 ) with
yij = 1, yji = 0 and (S, y ) Q {(S, y )|yij + yji = 1} (possible
if 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 we
increment |D|
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78
(Facet-inducing) valid inequalities for the RCPSP
polyhedron
Polyhedral study for the forbidden set-based formulation,
Alvarez-Valds et al. [AVT93]
2
let Q = conv ({(S, y ) Rn |(S, y ) SY}) (the RCPSP
polyhedron)
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 ) with
yij = 1, yji = 0 and (S, y ) Q {(S, y )|yij + yji = 1} (possible
if 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 we
increment |D|
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 40 / 78
More valid inequalities for disjunctive scheduling
and the RCPSP
Let C denote the set of cliques in D. Applegate and Cook
[AC91] derived cuts for the job-shop problem from one-machine
scheduling valid inequalities (especially [DW90] inequalities)
such as X
Sj r j + yij pi C C, j C
iC
X X
Sj rk + yij pi yik (rl rj ) C C, j C ,
iC \{j} iC

Alvarez-Valds et al. [AVT93] also proposed such cuts for the


RCPSP. Let 1 (i) ((i)) be the set of ancestors (descendants)
of i in E .
X X X
Sj Si +pi + pk ykj + pk yik + pk (yik +ykj 1)
k(i) k1 (j) kD(i)D(j)
k6(i)1 (j)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 41 / 78
More valid inequalities for disjunctive scheduling
and the RCPSP
Let C denote the set of cliques in D. Applegate and Cook
[AC91] derived cuts for the job-shop problem from one-machine
scheduling valid inequalities (especially [DW90] inequalities)
such as X
Sj r j + yij pi C C, j C
iC
X X
Sj rk + yij pi yik (rl rj ) C C, j C ,
iC \{j} iC

Alvarez-Valds et al. [AVT93] also proposed such cuts for the


RCPSP. Let 1 (i) ((i)) be the set of ancestors (descendants)
of i in E .
X X X
Sj Si +pi + pk ykj + pk yik + pk (yik +ykj 1)
k(i) k1 (j) kD(i)D(j)
k6(i)1 (j)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 41 / 78
Constraint-propagation-based cutting planes for
the RCPSP

So far the studied valid inequalities ignore the existence of a


tight upper bound.
Compute UB with an efficient heuristic and update distance
matrix dij through constraint propagation (where dij is a lower
bound of Sj Si ).
Cuts can be derived from such updates. dijc denotes the value of
dij if constraint c is satisfied. We consider constraints such as
k||h, k h, k  h.
k||h
Example 1 : Sj Si dij + dijkh ykh + dijkh yhk , for any 4 jobs
i, j, k, h.
Example 2 : xij xhk , i, j, h, i, dijhk pi
Demassey, A. and Michelon [DAM05]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78
Constraint-propagation-based cutting planes for
the RCPSP

So far the studied valid inequalities ignore the existence of a


tight upper bound.
Compute UB with an efficient heuristic and update distance
matrix dij through constraint propagation (where dij is a lower
bound of Sj Si ).
Cuts can be derived from such updates. dijc denotes the value of
dij if constraint c is satisfied. We consider constraints such as
k||h, k h, k  h.
k||h
Example 1 : Sj Si dij + dijkh ykh + dijkh yhk , for any 4 jobs
i, j, k, h.
Example 2 : xij xhk , i, j, h, i, dijhk pi
Demassey, A. and Michelon [DAM05]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78
Constraint-propagation-based cutting planes for
the RCPSP

So far the studied valid inequalities ignore the existence of a


tight upper bound.
Compute UB with an efficient heuristic and update distance
matrix dij through constraint propagation (where dij is a lower
bound of Sj Si ).
Cuts can be derived from such updates. dijc denotes the value of
dij if constraint c is satisfied. We consider constraints such as
k||h, k h, k  h.
k||h
Example 1 : Sj Si dij + dijkh ykh + dijkh yhk , for any 4 jobs
i, j, k, h.
Example 2 : xij xhk , i, j, h, i, dijhk pi
Demassey, A. and Michelon [DAM05]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78
Constraint-propagation-based cutting planes for
the RCPSP

So far the studied valid inequalities ignore the existence of a


tight upper bound.
Compute UB with an efficient heuristic and update distance
matrix dij through constraint propagation (where dij is a lower
bound of Sj Si ).
Cuts can be derived from such updates. dijc denotes the value of
dij if constraint c is satisfied. We consider constraints such as
k||h, k h, k  h.
k||h
Example 1 : Sj Si dij + dijkh ykh + dijkh yhk , for any 4 jobs
i, j, k, h.
Example 2 : xij xhk , i, j, h, i, dijhk pi
Demassey, A. and Michelon [DAM05]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78
Constraint-propagation-based cutting planes for
the RCPSP

So far the studied valid inequalities ignore the existence of a


tight upper bound.
Compute UB with an efficient heuristic and update distance
matrix dij through constraint propagation (where dij is a lower
bound of Sj Si ).
Cuts can be derived from such updates. dijc denotes the value of
dij if constraint c is satisfied. We consider constraints such as
k||h, k h, k  h.
k||h
Example 1 : Sj Si dij + dijkh ykh + dijkh yhk , for any 4 jobs
i, j, k, h.
Example 2 : xij xhk , i, j, h, i, dijhk pi
Demassey, A. and Michelon [DAM05]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 42 / 78
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 43 / 78
Flow and natural date variables
For one-machine and parallel machine problem, sequencing variables
yij may be replaced by flow variables fij {0, 1} stating that i is an
immediate predecessor of j in the sequence.
P
min iJ wi Si
X X
f0j = fj,n+1 = m
jJ jJ
X X
fij = fji = 1 i J
jJ \{i} jJ \{i}

Si ri i J
Sj Si + Mij (1 fij ) pi i, j J , i 6= j
Sj Si lij (i, j) E
fij {0, 1} i, j J , i 6= j
When there are no relase dates, machine assignment and subtour
elimitation constraints can be used to avoid bigM coefficients.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 44 / 78
Flow and natural date variables (variant)
Big-M constraints can be removed, by considering continuous variable
Sij 0 which equals 0 unless i is the immediate predecessor of j.
X X
min wi Sij
iJ jJ \{i}
X X
f0j = fj,n+1 = m
jJ jJ
X X
fij = fji = 1 i J
jJ \{i} jJ \{i}

ri fij Sij di fij i, j J , i 6= j


X X
Sij (Ski + pk fki ) 0 i J
jJ \{i} kJ \{i}
X X
Sjk Sik lij (i, j) E
jJ \{j} kJ \{i}

fij {0, 1}, Sij 0 i, j J , i 6= j


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

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 46 / 78
Positional date and assignment variables (1 mach)
Compact formulation without big M coefficients ? Lasserre and
Queyranne [LQ92]
Time horizon is divided in a set E of n positions (or events).

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78
Positional date and assignment variables (1 mach)
Compact formulation without big M coefficients ? Lasserre and
Queyranne [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.)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78
Positional date and assignment variables (1 mach)
Compact formulation without big M coefficients ? Lasserre and
Queyranne [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.)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78
Positional date and assignment variables (1 mach)
Compact formulation without big M coefficients ? Lasserre and
Queyranne [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.)
X
min wi Ci
eE
X
aje = 1 j J
eE
X
aje = 1 e E
jJ
X
te + pi aie = fe e E
jJ
X
te rj aje 0 e E
jJ
te te1 e E
Ci + M(1 aie ) fe i J , e E
te 0 e E
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 47 / 78
Positional date and assignment variables (RCPSP)
How many events needed ?
i J either Si = 0 or j J , Si = Sj + pj = |E| n + 1
Start/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 variables
On/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 it
still being processed immediately after event e
n2 binary variables, (n + 1) continuous variables
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 48 / 78
Positional date and assignment variables (RCPSP)
Example

e 0 1 2 3
x6e 0 1 0 0
y6e 0 0 1 0 t 2 3 4 5 6 7 8
z6e 0 1 0 0 x6t 0 1 0 0 0 0 0
x7e 0 1 0 0 x7t 0 1 0 0 0 0 0
y7e 0 0 0 1
z7e 0 1 1 0

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 49 / 78
Start/End Event-based formulation (SEE)

min tn
t0 = 0
tf te + pi xie pi (1 yif ) (e, f ) E 2 , f > e, i J
te+1 te e E, e < n
X X
xie = 1, yie = 1 i J
eE eE
Xe Xn
yiv + xiv 1 i J , e E
v =0 v =e
Xn Xe1
yie 0 + xje 0 1 (i, j) E , e E
e 0 =e e 0 =0
X
r0k = bik xi0 k R
iA
X X
rek = r(e1)k + bik xie bik yie e E, e 1, k R
iJ iJ
rek Bk e E, k R
xie {0, 1}, yie {0, 1} i J {0, n + 1}, e E
te 0, rek 0 e E, k R.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 50 / 78
On/Off Event-based formulation (OOE)

min Cmax
Cmax te + (zie zi(e1) )pi e E, i J
t0 = 0, te+1 te e 6= n 1 E
tf te + ((zie zi(e1) ) (zif zi(f 1) ) 1)pi (e, f , i) E 2 J , f > e 6= 0
e1 n1
X X
zie 0 e(1 (zie zi(e1) )), zie 0 e(1 + (zie zi(e1) )) e 6= 0 E
e 0 =0 e 0 =e
X
zie 1 i J
eE
e
X
zie + zje 0 1 + (1 zie )e e E, (i, j) E
e 0 =0
n1
X
bik zie Bk e E, k R
i=0
te 0 e E
zie {0, 1} i J , e E

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

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 52 / 78
Arc-time indexed formulations
Mixing flow-based and time-indexed formulations.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78
Arc-time indexed formulations
Mixing flow-based and time-indexed formulations.
xijt = 1 if job j starts immediately at the end of job i at time t.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78
Arc-time indexed formulations
Mixing flow-based and time-indexed formulations.
xijt = 1 if job j starts immediately at the end of job i at time t.

wj (t)xijt
X X X
min
iJ jJ \{i} tT

xijt = 1
X X
i J
jJ \{i} tT

x0i0 = m
X

iJ

xjit xijt+pi
X X
=0 i J , t T
jJ \{i} jJ \{i}

xijt {0, 1} i J , j J \ {i}, t T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78
Arc-time indexed formulations
Mixing flow-based and time-indexed formulations.
xijt = 1 if job j starts immediately at the end of job i at time t.

wj (t)xijt
X X X
min
iJ jJ \{i} tT

xijt = 1
X X
i J
jJ \{i} tT

x0i0 = m
X

iJ

xjit xijt+pi
X X
=0 i J , t T
jJ \{i} jJ \{i}

xijt {0, 1} i J , j J \ {i}, t T


At least as strong LP relaxation as time-indexed one if variables xiit
are omitted except for i = 0 (dummy depot job) [PUPR10]
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 53 / 78
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 54 / 78
Column generation for time-indexed formulations
How to deal with large-horizons when using time-indexed
formulations ? = Dantzig-Wolfe decomposition.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78
Column generation for time-indexed formulations
How to deal with large-horizons when using time-indexed
formulations ? = Dantzig-Wolfe decomposition.
XX
min wj (t)xjt (one-machine problem)
jJ tT
X
xjt = 1 j J
tT
X t
X
xjs 1 t T
jJ s=tpj +1

xjt {0, 1} j J , t T

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78
Column generation for time-indexed formulations
How to deal with large-horizons when using time-indexed
formulations ? = Dantzig-Wolfe decomposition.
XX
min wj (t)xjt (one-machine problem)
jJ tT
X
xjt = 1 j J
tT
X t
X
xjs 1 t T
jJ s=tpj +1

xjt {0, 1} j J , t T
Pt
Let PS = {x [0, 1]n+T | 1, t T }.
P
jJ s=tpj +1 xjs

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78
Column generation for time-indexed formulations
How to deal with large-horizons when using time-indexed
formulations ? = Dantzig-Wolfe decomposition.
XX
min wj (t)xjt (one-machine problem)
jJ tT
X
xjt = 1 j J
tT
X t
X
xjs 1 t T
jJ s=tpj +1

xjt {0, 1} j J , t T

Let PS = {x [0, 1]n+T | jJ ts=tpj +1 xjs 1, t T }.


P P

PS is integral as the matrix is totally unimodular [vHS00]. Set of


pseudo-schedules
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 55 / 78
Column generation for time-indexed formulations
We have x = rq=1 q aq , x extreme point of conv ({PS}) where
P
Pr q st point of PS.
q=1 q = 1, 0 and a is the q

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78
Column generation for time-indexed formulations
We have x = rq=1 q aq , x extreme point of conv ({PS}) where
P
Pr q st point of PS.
q=1 q = 1, 0 and a is the q

Equivalent LP (of equal LP relaxation value)



r
wj (t)ajtq q
X XX
min
q=1 jJ tT
r
!
X X q
ajt q = 1 j J
q=1 tT
r
X
q = 1
q=1

0 q 1 q = 1, . . . , |T |

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78
Column generation for time-indexed formulations
We have x = rq=1 q aq , x extreme point of conv ({PS}) where
P
Pr q st point of PS.
q=1 q = 1, 0 and a is the q

Equivalent LP (of equal LP relaxation value)



r
wj (t)ajtq q
X XX
min
q=1 jJ tT
r
!
X X q
ajt q = 1 j J
q=1 tT
r
X
q = 1
q=1

0 q 1 q = 1, . . . , |T |

Start with a restricted set of pseudo schedules and solve the LP


relaxation by column generation.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 56 / 78
Column generation for time-indexed formulations
r X X
wj (t)ajtq )q
X
min (
r
!
X X q q=1 jJ tT
ajt q = 1 j J
q=1 tT
r
X
q = 1
q=1

0 q 1 q = 1, . . . , |T |
Reduced cost of a pseudo schedule
wj (t)ajtq
XX
c q =
jJ tT

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78
Column generation for time-indexed formulations
r X X
wj (t)ajtq )q
X
min (
r
!
X X q q=1 jJ tT
ajt q = 1 j J (j )
q=1 tT
r
X
q = 1 ()
q=1

0 q 1 q = 1, . . . , |T |
Reduced cost of a pseudo schedule
wj (t)ajtq
XX X X q
c q = j ( ajt )
jJ tT jJ tT

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78
Column generation for time-indexed formulations
r X X
wj (t)ajtq )q
X
min (
r
!
X X q q=1 jJ tT
ajt q = 1 j J (j )
q=1 tT
r
X
q = 1 ()
q=1

0 q 1 q = 1, . . . , |T |
Reduced cost of a pseudo schedule
wj (t)ajtq
XX X X q
c q = j ( ajt )
jJ tT jJ tT

j )ajtq
XX
= (wj (t)
jJ tT

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78
Column generation for time-indexed formulations
r X X
wj (t)ajtq )q
X
min (
r
!
X X q q=1 jJ tT
ajt q = 1 j J (j )
q=1 tT
r
X
q = 1 ()
q=1

0 q 1 q = 1, . . . , |T |
Reduced cost of a pseudo schedule
wj (t)ajtq
XX X X q
c q = j ( ajt )
jJ tT jJ tT

j )ajtq
XX
= (wj (t)
jJ tT

Finding a negative reduced cost variable amounts to find a shortest path


in an acyclic graph with O(nT ) arcs.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 57 / 78
Column generation for time-indexed RCPSP (1)
How to strengthen the time-indexed formulation ? Mingozzi et al. [MM98]
XX
min wj (t)xjt
jJ tT

X
xjt = 1 j J
tT
X t
X
bjk xjs Bk t T , k R
jJ s=tpj +1
T
X T
X
txjs txis lij (i, j) E
t=0 t=0
xjt {0, 1} j J , t T

Integer Dantzig-Wolfe decomposition of resource constraints


Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 58 / 78
Column generation for time-indexed RCPSP (2)
Introduce additional
P variables
T
PjJ s=0 bjk yjs Bk , t T , k R
P

y {0, 1}n+T T
s=0 yjs = pj , j J


xjt yjt yj,t1 , j J
Perform
n an integer Danzig-Wolfe
P decomposition of o
n+T PT
PS = y {0, 1} jJ s=0 bjk yjs Bk , t T , k R

Subproblem is decomposable for each t T and each t Rn


yielding mT multidimentional knapsack problems.
Better LP relaxation than the time-indexed formulation, but
practically intractable.
Best known lower bounds for the RCPSP (before SAT results [Hor10])
where obtained by computing relaxation of this formulation ( Brucker
and Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste and
Demassey[BD04]) integrating CP-based filtering and cuts.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78
Column generation for time-indexed RCPSP (2)
Introduce additional
P variables
T
PjJ s=0 bjk yjs Bk , t T , k R
P

y {0, 1}n+T T
s=0 yjs = pj , j J


xjt yjt yj,t1 , j J
Perform
n an integer Danzig-Wolfe
P decomposition of o
n+T PT
PS = y {0, 1} jJ s=0 bjk yjs Bk , t T , k R

Subproblem is decomposable for each t T and each t Rn


yielding mT multidimentional knapsack problems.
Better LP relaxation than the time-indexed formulation, but
practically intractable.
Best known lower bounds for the RCPSP (before SAT results [Hor10])
where obtained by computing relaxation of this formulation ( Brucker
and Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste and
Demassey[BD04]) integrating CP-based filtering and cuts.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78
Column generation for time-indexed RCPSP (2)
Introduce additional
P variables
T
PjJ s=0 bjk yjs Bk , t T , k R
P

y {0, 1}n+T T
s=0 yjs = pj , j J


xjt yjt yj,t1 , j J
Perform
n an integer Danzig-Wolfe
P decomposition of o
n+T PT
PS = y {0, 1} jJ s=0 bjk yjs Bk , t T , k R

Subproblem is decomposable for each t T and each t Rn


yielding mT multidimentional knapsack problems.
Better LP relaxation than the time-indexed formulation, but
practically intractable.
Best known lower bounds for the RCPSP (before SAT results [Hor10])
where obtained by computing relaxation of this formulation ( Brucker
and Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste and
Demassey[BD04]) integrating CP-based filtering and cuts.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78
Column generation for time-indexed RCPSP (2)
Introduce additional
P variables
T
PjJ s=0 bjk yjs Bk , t T , k R
P

y {0, 1}n+T T
s=0 yjs = pj , j J


xjt yjt yj,t1 , j J
Perform
n an integer Danzig-Wolfe
P decomposition of o
n+T PT
PS = y {0, 1} jJ s=0 bjk yjs Bk , t T , k R

Subproblem is decomposable for each t T and each t Rn


yielding mT multidimentional knapsack problems.
Better LP relaxation than the time-indexed formulation, but
practically intractable.
Best known lower bounds for the RCPSP (before SAT results [Hor10])
where obtained by computing relaxation of this formulation ( Brucker
and Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste and
Demassey[BD04]) integrating CP-based filtering and cuts.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78
Column generation for time-indexed RCPSP (2)
Introduce additional
P variables
T
PjJ s=0 bjk yjs Bk , t T , k R
P

y {0, 1}n+T T
s=0 yjs = pj , j J


xjt yjt yj,t1 , j J
Perform
n an integer Danzig-Wolfe
P decomposition of o
n+T PT
PS = y {0, 1} jJ s=0 bjk yjs Bk , t T , k R

Subproblem is decomposable for each t T and each t Rn


yielding mT multidimentional knapsack problems.
Better LP relaxation than the time-indexed formulation, but
practically intractable.
Best known lower bounds for the RCPSP (before SAT results [Hor10])
where obtained by computing relaxation of this formulation ( Brucker
and Knust [BK00], Baptiste, A., Demassey Michelon [DABM04], Baptiste and
Demassey[BD04]) integrating CP-based filtering and cuts.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 59 / 78
More on Column generation for time-indexed
RCPSP

Can we combine strengthening the TI formulation and reduction


of the number of variables ? (Cut and Column generation
directly on the time-indexed formulation Sadykov and
Vanderbeck [SV11] ?)
Other decomposition schemes : partition the job in m subsets so
that 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
More on Column generation for time-indexed
RCPSP

Can we combine strengthening the TI formulation and reduction


of the number of variables ? (Cut and Column generation
directly on the time-indexed formulation Sadykov and
Vanderbeck [SV11] ?)
Other decomposition schemes : partition the job in m subsets so
that 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
Outline

1 Introduction
2 Polyhedral studies and cutting plane generation
3 (Mixed) integer programming for scheduling problems
Time-indexed variables
Total unimodularity
Sequencing and natural date variables
Flow (TSP) and natural date variables
Positional date and assignment variables
Hybrid formulations
4 Column generation
5 A few Computational results

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

Efficiency of Sousa and Wolsey/van den Akker et al. cuts for


lower 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 plane
generation with inequalities with rhs 1 (2)

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 62 / 78
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
Machine scheduling results results (3)

Positional and sequencing based formulations cannot be


discarded but have to be combined with heuristics (Hoogeveen
and van de Velde [Hv95], Danna et al. [DRL05])
Comparison of formulations for parallel machine scheduling Unlu
and Mason [UM10]
Recommendation is to use time-indexed models for small
durations and flow-based model for other cases

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 64 / 78
RCPSP results : comparison of ILP formulations vs
CP

(from Kone et al.[KALM11])

No formulation
dominates the other,
the accurate
formulation has to be
chosen depending on
instance charactristics
ILP formulations are
not dominated by CP

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 65 / 78
RCPSP results : a cyclic example, MIP vs CP
Instances n DSP hybrid/HD hybrid/GS CP ILP+ (P + ) CG (DW + ) 0

dsp hyb CPUs hyb CPUs CP ILP + CPUs CG CPUs
adpcm-st231.1 86 80 - - - - 80 - - 55 301 52
adpcm-st231.2 142 139 - - - - 139 - - 82 305 82
gsm-st231.1 30 30 29 2 28 2 28 28 256 25 8 24
gsm-st231.2 101 93 - - - - 93 - - 61 301 59
gsm-st231.5 44 36 36 10 36 17 - 36 3343 36 37 26
gsm-st231.6 30 27 27 3 27 4 27 27 7 27 3 17
gsm-st231.7 44 41 41 13 41 17 41 41 256 41 66 28
gsm-st231.8 14 12 12 0.3 12 0.3 - 12 0.6 12 <0.1 9
gsm-st231.9 34 32 32 2 34 4 32 32 62 31 12 28
gsm-st231.10 10 8 8 0.2 8 0.1 8 8 0.2 8 <0.1 6
gsm-st231.11 26 24 24 1 24 1 24 24 5 24 1.5 20
gsm-st231.12 15 13 13 0.3 13 0.4 13 13 0.7 13 <0.1 10
gsm-st231.13 46 43 43 168 42 440 43 41 11265 41 125 27
gsm-st231.14 39 34 34 6 34 10 34 33 3766 33 17 20
gsm-st231.15 15 12 12 0.3 12 0.3 12 12 0.9 12 <0.1 9
gsm-st231.16 65 59 59 145 59 144 60 58 8656 48 300 38
gsm-st231.17 38 33 33 202 - - 33 32 12786 33 19 23
gsm-st231.18 214 194 - - - - 193 - - - - 120
gsm-st231.19 19 15 15 0.4 15 0.6 15 15 1.6 15 0.2 12
gsm-st231.20 23 20 20 1 20 1.4 20 20 17 20 0.9 13
gsm-st231.21 33 30 30 6 30 6 31 30 6105 29 7 20
gsm-st231.22 31 29 29 3 29 4 29 29 51 28 7 18
gsm-st231.25 60 55 - - 55 75 57 55 11589 48 300 37
gsm-st231.29 44 42 42 13 42 15 42 42 63 42 68 28
gsm-st231.30 30 25 25 3 25 6 25 25 14 25 6 16
gsm-st231.31 44 39 39 13 39 17 39 39 833 39 59 26
gsm-st231.32 32 30 30 4 30 5 30 30 11 30 5 21
gsm-st231.33 59 52 - - - - 46 45 9697 46 300 33
gsm-st231.34 10 8 7 <0.1 7 0.1 7 7 0.2 7 <0.1 6
gsm-st231.35 18 16 14 0.4 14 0.5 14 14 4 14 0.2 11
gsm-st231.36 31 29 24 2 24 10 24 24 321 24 4 18
gsm-st231.39 26 23 21 1.5 21 3 21 21 376 20 2 15
gsm-st231.40 21 17 16 0.5 18 1.3 17 16 28 16 0.6 12
gsm-st231.41 60 50 - - 47 286 49 46 10069 46 300 34
gsm-st231.42 23 19 18 0.7 19 4 18 18 20 18 1 14
gsm-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
Conclusion
Problems of increasing size are solved by MILP models with the help
of
Strong valid inequalities
Efficient heuristics
Benefits from hybrid-methods (CP/MILP/LS)
LP Lower bounds are often still too slow : cut-and-column generation
perspective.
In retrospect it is interesting to note that the original
problem that started my research is still outstanding
namely the problem of planning or scheduling dynamically
over time, particularly planning dynamically under
uncertainty. If such a problem could be successfully solved it
could (eventually through better planning) contribute to the
well-being and stability of the world. (George Dantzig)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 67 / 78
References I

C. Artigues, M. A. Ayala, A. Benabid, and Claire Hanen, Lower


and upper bounds for the resource-constrained modulo scheduling
problem, 13th International Conference on Project Management
and Scheduling, 2012, pp. 8285.
D. Applegate and W. Cook, A computational study of job-shop
scheduling, ORSA Journal on Computing 3 (1991), no. 2,
149156.
C. Artigues, Ph. Michelon, and S. Reusser, Insertion techniques
for static and dynamic resource-constrained project scheduling,
European Journal of Operational Research 149 (2000), no. 2,
249267.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 68 / 78
References II
R. Alvarez-Valds and J. Tamarit, The project scheduling
polyhedron : Dimension, facets and lifting theorems, European
Journal of Operational Research 67 (1993), no. 2, 204220.
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. 179218.
P Baptiste and S Demassey, Tight LP bounds for resource
constrained project scheduling, OR Spectrum 26 (2004), no. 2,
251262.
P. Brucker and S. Knust, A linear programming and constraint
propagation-based lower bound for the rcpsp, European Journal
of Operational Research 127 (2000), 355362.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 69 / 78
References III

J. R. Correa and A. S. Shulz, Single machine scheduling with


precedence constraints, Integer Programming and Combinatoiral
Optimization (D. Bienstock and G. Nemhauser, eds.), Lecture
Notes in Computer Science, vol. 3064, 2004, pp. 145168.
S. Demassey, C. Artigues, P. Baptiste, and P. Michelon,
Lagrangean relaxation-based lower bounds for the RCPSP, 8th
International Workshop on Project Management and Scheduling
(Nancy,France), 2004, pp. 7679.
S. Demassey, C. Artigues, and P. Michelon, Constraint
propagation-based cutting planes : an application to the rcpsp,
INFORMS Journal on Computing 17 (2005), no. 1, 5265.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 70 / 78
References IV
E. Danna, E. Rothberg, and C. Le Pape, Exploring relaxation
induced neighborhoods to improve mip solutions, Mathematical
Programming 102 (2005), no. 1, 7190.
M.E. Dyer and L.A. Wolsey, Formulating the single machine
problem with release dates as a mixed integer program, Discrete
Applied Mathematics 26 (1990), 255270.
M. X. Goemans, M. Queyranne, A. S. Shulz, M. Skutella, and
Y. Wang, Single machine scheduling with release dates, SIAM
Journal on Discrete Mathematics 15 (2002), 165192.
J. R. Hardin, G. L. Nemhauser, and M. W. P. Savelsbergh,
Strong valid inequalities for the resource-constrained scheduling
problem with uniform resource requirements, Discrete
Optimization 5 (2008), 1935.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 71 / 78
References V
A. Horbach, A boolean satisfiability approach to the
resource-constrained project scheduling problem, Annals of
Operations Research 181 (2010), 89107.
H. Hoogeveen and S. L. van de Velde, Formulating a scheduling
problem with almost identical jobs by using positional completion
times, IPCO, 1995, pp. 292306.
O. Kon, C. Artigues, P. Lopez, and M. Mongeau, Event-based
milp models for resource-constrained project scheduling problems,
Computers and Operations Research 38 (2011), no. 1, 313.
J.B. Lasserre and M. Queyranne, Generic scheduling polyhedral
and a new mixed integer formulation for single-machine
scheduling, Proceedings of the second IPCO conference
(Carnegie-Mellon University Pittsburgh), 1992, pp. 136149.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 72 / 78
References VI

A. Mingozzi and V. Maniezzo, An exact algorithm for the


resource constrained project scheduling problem based on a new
mathematical formulation, Management Science 44 (1998),
714729.
J. A. Hoogeveen M. van den Akker, Guido Diepen, A column
generation based destructive lower bound for resource constrained
project scheduling problems, CPAIOR, 2007, pp. 376390.
G. Nemhauser and M. Savelsbergh, A cutting plane algorithm for
the single machine scheduling problem with release times,
Combinatorial Optimization : New Frontiers in the Theory and
Practice (M. Akgul, H. Hamacher, and S. Tufecki, eds.), NATO
ASI Series F : Computer and Systems Sciences, vol. 82,
Springer-Verlag, 1992, pp. 6384.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 73 / 78
References VII

C.N. Potts, An algorithm for the single machine sequencing


problem with precedence constraints, Mathematical Programming
Study 13 (1980), 7887.
A. Pessoa, E. Uchoa, M. Poggi de Arago, and R. Rodrigues,
Exact algorithm over an arc-time-indexed formulation for parallel
machine scheduling problems, Mathematical Programming
Computation 2 (2010), 259290.
M. Queyranne and A. S. Schulz, Polyhedral approaches to
machine scheduling, Tech. Report 408/1994,
TechnischeUniversittBerlin, 1994.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 74 / 78
References VIII

, Scheduling unit jobs with compatible release dates on


parallel machines with nonstationary speeds, nteger Programming
and Combinatorial Optimization (IPCO 1995) (E. Balas and
J. Clausen, eds.), Lecture Notes in Computer Science, vol. 920,
1995, pp. 307320.
M. Queyranne, Structure of a simple scheduling polyhedron,
Mathematical Programming 58 (1993), 263285.
A. S. Schulz, Polytopes and scheduling, Ph.D. thesis,
Technischen Universitt Berlin, 1996.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 75 / 78
References IX

R. Sadykov and F. Vanderbeck, Machine scheduling by


column-and-row generation on the time-indexed formulation,
10th International Workshop on Models and Algorithms for
Planning and Scheduling Problems (Nymburk, Czech Republic),
2011, pp. 5557.
J. P. Sousa and L. A. Wolsey, A time indexed formulation of
non-preemptive single machine scheduling problems,
Mathematical Programming 54 (1992), 353367.
Y. Unlu and S. J. Mason, Evaluation of mixed integer
programming formulations for non-preemptive parallel machine
scheduling problems, Computers & Industrial Engineering 58
(2010), no. 4, 785800.

Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 76 / 78
References X
J. M. van den Akker, C.P.M. Van Hoesel, and M.W.P.
Savelsbergh, A polyhedral approach to single-machine scheduling
problems, Mathematical Programming 85 (1999), 541572.
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, 111124.
M. van den Akker, J. A. Hoogeveen, and S. L. van de Velde,
Parallel machine scheduling by column generation, Operations
Research 47 (1999), no. 6, 862872.
M. van den Akker, J. A. Hoogeveen, and J. W. van Kempen,
Parallel machine scheduling through column generation :
Minimax objective functions, ESA, 2006, pp. 649659.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 77 / 78
References XI

H. Waterer, E.L. Johnson, P. Nobili, and M.W.P. Savelsbergh,


The relation of time indexed formulations of single machine
scheduling problems to the node packing problem, Mathematical
Programming (2002), no. 93, 477494.

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

S-ar putea să vă placă și