Professional Documents
Culture Documents
7 Scheduling Artigues PDF
7 Scheduling Artigues PDF
Christian Artigues
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 1 / 78
Outline
1 Introduction
4 Column generation
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
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, d̃1 = 9, d̃2 = 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 ≤ d̃1
S2 + p2 ≤ d̃2
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 ≤ d̃1
S2 + p2 ≤ d̃2
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 ≤ d̃1
S2 + p2 ≤ d̃2
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
min S1 + S2 +p1 + p2 S2 S
conv (S)
S1 ≥ r1
S2 ≥ r2
S1 + p1 ≤ d̃1
S2 + p2 ≤ d̃2
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 ∈ Rm×n and b ∈ Rn with m finite such that
conv (S) = {x ∈ Rn |Ax ≥ b}. Hence min f (S) is a LP.
S∈conv (S)
min S1 + S2 +p1 + p2 S2 S
conv (S)
S1 ≥ r1
S2 ≥ r2
S1 + p1 ≤ d̃1
S2 + p2 ≤ d̃2
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
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
S1
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 i∈Γ−1 (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
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
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
P
The problem of minimizing S∈S 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 = S∈R
Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i, j ∈ J , i 6= j
P
The problem of minimizing S∈S 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 = S∈R
Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i, j ∈ J , i 6= j
P
The problem of minimizing S∈S 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 = S∈R
Si ≥ Sj + lij ∨ Sj ≥ Si + lji , ∀i, j ∈ J , i 6= j
P
The problem of minimizing S∈S 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
S1
3S1 + 5S2 ≥ 7
S1
S1 + 3S2 ≥ 6
S1
2S1 + 3S2 ≥ 9
S1
2S1 + 3S2 ≥ 9
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 ≤ d̃1
S2 + p2 ≤ d̃2
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 ≤ d̃1
S2 + p2 ≤ d̃2
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 ≤ d̃1
S2 + p2 ≤ d̃2
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 ≤ d̃1
S2 + p2 ≤ d̃2
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
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Case study : the resource-constrained project
scheduling problem
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78
Scheduling objectives
P
Objective min i∈J wj (Sj ) models most standard objectives
Makespan min maxi∈J Ci
Let J = {1, . . . , n + 1} with n + 1 dummy end jobs.
wi (t) = 0, ∀i ∈ J \ {n + 1}, wn+1 (t) = t
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
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
T
X T
X
txjt − txit ≥ lij ∀(i, j) ∈ E
t=0 t=0
X t
X
xjs ≤ 1 ∀t ∈ T
j∈J s=t−pj +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
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
T
X T
X
txjt − txit ≥ lij ∀(i, j) ∈ E
t=0 t=0
X t
X
xjs ≤ B ∀t ∈ T
j∈J s=t−pj +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
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
T
X T
X
txjt − txit ≥ lij ∀(i, j) ∈ E
t=0 t=0
X t
X
bjk xjs ≤ Bk ∀t ∈ T , ∀k ∈ R
j∈J s=t−pj +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 (disaggregated precedence constraints)
XX
min wj (t)xjt
X j∈J t∈T
xjt = 1 ∀j ∈ J
t∈T
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
j∈J s=t−pj +1
xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T
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
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 j∈J wj (Sj ).
P
PT
time-indexed variable zit = 1 ⇔ Si ≤ t (zit = t=0 xit )
XX
min (wj (t) − wj (t + 1)) zjt
j∈J t∈T
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
XX XX
min wj (t)xjt min wj (t)xjt
X j∈J t∈T j∈J t∈T
X
xjt = 1 ∀j ∈ J xjt = 1 ∀j ∈ J
t∈T t∈T
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
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
t∈T
X t
X
xjs ≤ 1 ∀t ∈ T
j∈J s=t−pj +1
t+∆−1
X X t
X
xjs + xis ≤ 1 ∀j ∈ J , ∀t ∈ T ,
s=t−pj +1 i6=j s=t−pi +∆
∀∆ ∈ {2, . . . , max pi }
i6=j
T
X xju 1
=
u=1
2 2
t
X X xis 1
≤
s=t−p +1
2 2
i∈J i
t+∆−1
X X xis 1
≤
2 2
i∈J s=t−pi +∆
T n t t+∆−1
X xju X X xis X X xis 3
b + + c≤b c
u=1
2 i=1 s=t−p +1
2 2 2
i i∈J s=t−pi +∆
t+∆−1
X X t
X
xjs + xis ≤ 1
s=t−pj +1 i6=j s=t−pi +∆
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 − pi + ∆1 + z + 1 u1 u2 − pi + 1 u1 + ∆1 − 1 u2 − pi + ∆2 u2 − v − 1
i ∈ J\{j1 , j2 }
L M U
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. j∈F bi > B.
Pt
s=t−pj +1 xjs ≤ |F | − 1 is a valid inequality ∀t ∈ T .
P
j∈F
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
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78
Sequencing variables : simplest case
0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case
0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case
0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 33 / 78
Sequencing variables : simplest case
0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i
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,j∈J pi wj yij + j∈J pj wj
(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,j∈J pi wj yij + j∈J pj wj
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 j∈J 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 j∈J 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
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,j∈F ,i6=j yij ≥ 1 ∀F ∈ F
P
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,j∈F ,i6=j yij ≥ 1 ∀F ∈ F
P
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 i∈J wi Si
X X
f0j = fj,n+1 = m
j∈J j∈J
X X
fij = fji = 1 ∀i ∈ J
j∈J \{i} j∈J \{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 big−M 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
i∈J j∈J \{i}
X X
f0j = fj,n+1 = m
j∈J j∈J
X X
fij = fji = 1 ∀i ∈ J
j∈J \{i} j∈J \{i}
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
e∈E
X
aje = 1 ∀j ∈ J
e∈E
X
aje = 1 ∀e ∈ E
j∈J
X
te + pi aie = fe ∀e ∈ E
j∈J
X
te − rj aje ≥ 0 ∀e ∈ E
j∈J
te ≥ te−1 ∀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
e∈E e∈E
Xe Xn
yiv + xiv ≤ 1 ∀i ∈ J , ∀e ∈ E
v =0 v =e
Xn Xe−1
yie 0 + xje 0 ≤ 1 ∀(i, j) ∈ E , ∀e ∈ E
e 0 =e e 0 =0
X
r0k = bik xi0 ∀k ∈ R
i∈A
X X
rek = r(e−1)k + bik xie − bik yie ∀e ∈ E, e ≥ 1, k ∈ R
i∈J i∈J
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(e−1) )pi ∀e ∈ E, ∀i ∈ J
t0 = 0, te+1 ≥ te ∀e 6= n − 1 ∈ E
tf ≥ te + ((zi−e − zi(e−1) ) − (zif − zi(f −1) ) − 1)pi ∀(e, f , i) ∈ E 2 × J , f > e 6= 0
e−1 n−1
X X
zie 0 ≥ e(1 − (zie − zi(e−1) )), zie 0 ≥ e(1 + (zie − zi(e−1) )) ∀e 6= 0 ∈ E
e 0 =0 e 0 =e
X
zie ≥ 1 ∀i ∈ J
e∈E
e
X
zie + zje 0 ≤ 1 + (1 − zie )e ∀e ∈ E, ∀(i, j) ∈ E
e 0 =0
n−1
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
i∈J j∈J \{i} t∈T
xijt = 1
X X
∀i ∈ J
j∈J \{i} t∈T
x0i0 = m
X
i∈J
xjit xijt+pi
X X
− =0 ∀i ∈ J , ∀t ∈ T
j∈J \{i} j∈J \{i}
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
i∈J j∈J \{i} t∈T
xijt = 1
X X
∀i ∈ J
j∈J \{i} t∈T
x0i0 = m
X
i∈J
xjit xijt+pi
X X
− =0 ∀i ∈ J , ∀t ∈ T
j∈J \{i} j∈J \{i}
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)
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
X t
X
xjs ≤ 1 ∀t ∈ T
j∈J s=t−pj +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)
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
X t
X
xjs ≤ 1 ∀t ∈ T
j∈J s=t−pj +1
xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T
Pt
Let PS = {x ∈ [0, 1]n+T | ≤ 1, ∀t ∈ T }.
P
j∈J s=t−pj +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)
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
X t
X
xjs ≤ 1 ∀t ∈ T
j∈J s=t−pj +1
xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ 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
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
0 ≤ λq ≤ 1 q = 1, . . . , |T |
0 ≤ λq ≤ 1 q = 1, . . . , |T |
Reduced cost of a pseudo schedule
wj (t)ajtq
XX
c̃ q =
j∈J t∈T
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 j∈J t∈T
ajt λq = 1 ∀j ∈ J (πj )
q=1 t∈T
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 ) − γ
j∈J t∈T j∈J t∈T
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 j∈J t∈T
ajt λq = 1 ∀j ∈ J (πj )
q=1 t∈T
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 ) − γ
j∈J t∈T j∈J t∈T
πj )ajtq
XX
= (wj (t) − −γ
j∈J t∈T
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 j∈J t∈T
ajt λq = 1 ∀j ∈ J (πj )
q=1 t∈T
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 ) − γ
j∈J t∈T j∈J t∈T
πj )ajtq
XX
= (wj (t) − −γ
j∈J t∈T
X
xjt = 1 ∀j ∈ J
t∈T
X t
X
bjk xjs ≤ Bk ∀t ∈ T , ∀k ∈ R
j∈J s=t−pj +1
T
X T
X
txjs − txis ≥ lij ∀(i, j) ∈ E
t=0 t=0
xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 60 / 78
More on Column generation for time-indexed
RCPSP
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)
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)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 63 / 78
Machine scheduling results results (3)
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 64 / 78
RCPSP results : comparison of ILP formulations vs
CP
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
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 68 / 78
References II
R. Alvarez-Valdés and J. Tamarit, The project scheduling
polyhedron : Dimension, facets and lifting theorems, European
Journal of Operational Research 67 (1993), no. 2, 204–220.
E. Balas, On the facial structure of scheduling polyhedra,
Mathematical Programming Essays in Honor of George B.
Dantzig Part I, Mathematical Programming Studies, vol. 24,
Springer, 1985, pp. 179–218.
P Baptiste and S Demassey, Tight LP bounds for resource
constrained project scheduling, OR Spectrum 26 (2004), no. 2,
251–262.
P. Brucker and S. Knust, A linear programming and constraint
propagation-based lower bound for the rcpsp, European Journal
of Operational Research 127 (2000), 355–362.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 69 / 78
References III
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, 71–90.
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), 255–270.
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), 165–192.
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), 19–35.
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), 89–107.
H. Hoogeveen and S. L. van de Velde, Formulating a scheduling
problem with almost identical jobs by using positional completion
times, IPCO, 1995, pp. 292–306.
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, 3–13.
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. 136–149.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 72 / 78
References VI
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 73 / 78
References VII
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 74 / 78
References VIII
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 75 / 78
References IX
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), 541–572.
M. van den Akker, C. A. J. Hurkens, and M. W. P. Savelsbergh,
Time-indexed formulations for machine scheduling problems :
Column generation, INFORMS Journal on Computing 12 (2000),
no. 2, 111–124.
M. van den Akker, J. A. Hoogeveen, and S. L. van de Velde,
Parallel machine scheduling by column generation, Operations
Research 47 (1999), no. 6, 862–872.
M. van den Akker, J. A. Hoogeveen, and J. W. van Kempen,
Parallel machine scheduling through column generation :
Minimax objective functions, ESA, 2006, pp. 649–659.
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 77 / 78
References XI
Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 78 / 78