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

scheduling and integer linear programming
SMART_READER_LITE
LIVE PREVIEW

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

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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 S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer

1 2 3 4 5 6 J1 J2

Ci = 8 (optimal solution)

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

slide-6
SLIDE 6

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 S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer

1 2 3 4 5 6 J1 J2

  • Ci = 8

S1 S2 S

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

slide-7
SLIDE 7

The scheduling polyhedron

Convex hull conv(S)

The convex hull of S, i.e. the smallest convex set containing S :

conv(S) =

  • x ∈ Rn
  • ∃λi ∈ Rn+, x = |S|

i=1 λiSi, |S| i=1 λi = 1

  • min S1 + S2+p1 + p2

S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer

1 2 3 4 5 6 J1 J2

  • Ci = 8

S1 S2 S conv(S)

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

slide-8
SLIDE 8

The scheduling polyhedron

Optimization on S and conv(S)

Let f : Rn → R a linear function, min

S∈S f (S) =

min

S∈conv(S) f (S)

min S1 + S2+p1 + p2 S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer

1 2 3 4 5 6 J1 J2

  • Ci = 8

S1 S2 S conv(S)

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

slide-9
SLIDE 9

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

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

min S1 + S2+p1 + p2 S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer

1 2 3 4 5 6 J1 J2

  • Ci = 8

S1 S2 S conv(S)

Find a complete description

  • f conv(S) : hard in general

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

slide-10
SLIDE 10

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

S1 S2 3S1 + 5S2 ≥ 7 : a valid inequality

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

slide-11
SLIDE 11

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

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

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

slide-12
SLIDE 12

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

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

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

slide-13
SLIDE 13

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

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

A polyhedron is fully described by the set of all facet-inducing valid inequalities

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

slide-14
SLIDE 14

(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

slide-15
SLIDE 15

(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

slide-16
SLIDE 16

(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

slide-17
SLIDE 17

(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

slide-18
SLIDE 18

(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

slide-19
SLIDE 19

(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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

A scheduling problem that can be solved by LP

Project scheduling SPS

  • Precedence constraints E.
  • lij : minimum distance between the start
  • f job i (Si) and the start of job j (Sj).

SPS = {S ∈ R+n|Sj − Si ≥ lij, ∀(i, j) ∈ E}

1 2 3 4 5 1 3 2 2 1 −1

find the shortest schedule minSn+1 Sj − Si ≥ lij ∀(i, j) ∈ E S0 = 0 Sj ≥ 0 ∀j ∈ J max

  • (i,j)∈E

lijxij

  • i∈Γ−1(j)

xij =

  • i∈Γ(j)

xji ∀j ∈ J \ {0}

  • i∈Γ(0)

x0i = 1 x0i ≥ 0 (longest path model)

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

slide-22
SLIDE 22

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||

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

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.

  • therwise x∗ ∈ B(f ). Solve the problem with the following

greedy algorithm

  • x∗

1 = f ({1})

x∗

j = f ({1, . . . , j}) − f ({1, . . . , j − 1}),

j = 2, . . . , n.

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

slide-23
SLIDE 23

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||

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

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.

  • therwise x∗ ∈ B(f ). Solve the problem with the following

greedy algorithm

  • x∗

1 = f ({1})

x∗

j = f ({1, . . . , j}) − f ({1, . . . , j − 1}),

j = 2, . . . , n.

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

slide-24
SLIDE 24

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-25
SLIDE 25

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-26
SLIDE 26

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-27
SLIDE 27

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-28
SLIDE 28

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-29
SLIDE 29

A scheduling supermodular polyhedron [Que93]

Single-machine scheduling SSM

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

  • C ∈ RJ
  • Ci ≥ pi,

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

  • Queyranne [Que93] showed that

conv(SSM) = {C ∈ RJ |

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

g(A) = 1

2

  • j∈A pj

2 +

j∈A p2 j

  • .

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

i∈J wiCi is obtained by sorting jobs in non

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

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

slide-30
SLIDE 30

A scheduling supermodular polyhedron [Que93]

Each inequality

j∈S pjCj ≥ g(S) defines a facet for conv(Q).

conv(SSM) is a supermodular polyhedron and the greedy algorithm for minimizing

i∈J wiCi coincides with the Smith’s

rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra :

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

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

slide-31
SLIDE 31

A scheduling supermodular polyhedron [Que93]

Each inequality

j∈S pjCj ≥ g(S) defines a facet for conv(Q).

conv(SSM) is a supermodular polyhedron and the greedy algorithm for minimizing

i∈J wiCi coincides with the Smith’s

rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra :

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

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

slide-32
SLIDE 32

A scheduling supermodular polyhedron [Que93]

Each inequality

j∈S pjCj ≥ g(S) defines a facet for conv(Q).

conv(SSM) is a supermodular polyhedron and the greedy algorithm for minimizing

i∈J wiCi coincides with the Smith’s

rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra :

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

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

slide-33
SLIDE 33

A scheduling supermodular polyhedron [Que93]

Each inequality

j∈S pjCj ≥ g(S) defines a facet for conv(Q).

conv(SSM) is a supermodular polyhedron and the greedy algorithm for minimizing

i∈J wiCi coincides with the Smith’s

rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra :

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

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

slide-34
SLIDE 34

A scheduling supermodular polyhedron [Que93]

Each inequality

j∈S pjCj ≥ g(S) defines a facet for conv(Q).

conv(SSM) is a supermodular polyhedron and the greedy algorithm for minimizing

i∈J wiCi coincides with the Smith’s

rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra :

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

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

slide-35
SLIDE 35

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

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

  • S ∈ RJ
  • Si ≥ ri,

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

  • The problem of minimizing

S∈S wiSi is NP-hard =

⇒ no chance to have a complete characterization of conv(SSMR) 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 = j, (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij 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

slide-36
SLIDE 36

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

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

  • S ∈ RJ
  • Si ≥ ri,

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

  • The problem of minimizing

S∈S wiSi is NP-hard =

⇒ no chance to have a complete characterization of conv(SSMR) 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 = j, (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij 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

slide-37
SLIDE 37

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

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

  • S ∈ RJ
  • Si ≥ ri,

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

  • The problem of minimizing

S∈S wiSi is NP-hard =

⇒ no chance to have a complete characterization of conv(SSMR) 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 = j, (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij 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

slide-38
SLIDE 38

Valid inequalities for NP-hard scheduling problems

Single-machine scheduling with release dates SSMR

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

  • S ∈ RJ
  • Si ≥ ri,

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

  • The problem of minimizing

S∈S wiSi is NP-hard =

⇒ no chance to have a complete characterization of conv(SSMR) 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 = j, (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij 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

slide-39
SLIDE 39

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.

S1 S2

Optimum has been found after adding Balas inequality (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij Separation is NP-hard in general = ⇒ the optimum cannot be found quickly by pure cutting plane generation.

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

slide-40
SLIDE 40

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.

S1 S2 3S1 + 5S2 ≥ 7

Optimum has been found after adding Balas inequality (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij Separation is NP-hard in general = ⇒ the optimum cannot be found quickly by pure cutting plane generation.

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

slide-41
SLIDE 41

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.

S1 S2 S1 + 3S2 ≥ 6

Optimum has been found after adding Balas inequality (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij Separation is NP-hard in general = ⇒ the optimum cannot be found quickly by pure cutting plane generation.

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

slide-42
SLIDE 42

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.

S1 S2 2S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij Separation is NP-hard in general = ⇒ the optimum cannot be found quickly by pure cutting plane generation.

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

slide-43
SLIDE 43

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.

S1 S2 2S1 + 3S2 ≥ 9

Optimum has been found after adding Balas inequality (lij + ri − rj)Si + (lji + rj − ri)Sj ≥ dijdji + Lidji + Ljdij Separation is NP-hard in general = ⇒ the optimum cannot be found quickly by pure cutting plane generation.

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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

Principle of (mixed)-integer programming

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

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

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

slide-46
SLIDE 46

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 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 − S1 + Mx ≥ p1 S1 − S2 + M(1 − x) ≥ p2 S1, S2 integer x ∈ {0, 1}

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

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

slide-47
SLIDE 47

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 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 − S1 + Mx ≥ p1 S1 − S2 + M(1 − x) ≥ p2 S1, S2 integer x ∈ {0, 1}

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

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

slide-48
SLIDE 48

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 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 − S1 + Mx ≥ p1 S1 − S2 + M(1 − x) ≥ p2 S1, S2 integer x ∈ {0, 1}

S1 S2 S

Left node x = 1

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

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

slide-49
SLIDE 49

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 ≥ r2 S1 + p1 ≤ ˜ d1 S2 + p2 ≤ ˜ d2 S2 − S1 + Mx ≥ p1 S1 − S2 + M(1 − x) ≥ p2 S1, S2 integer x ∈ {0, 1}

S1 S2 S

Right node x = 0

0 1 2 3 4 5 6 J1 J2

  • Ci = 8

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

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

slide-50
SLIDE 50

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

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

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

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

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

slide-51
SLIDE 51

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

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

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

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

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

slide-52
SLIDE 52

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

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

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

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

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

slide-53
SLIDE 53

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

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

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

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

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

slide-54
SLIDE 54

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

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

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

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

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

slide-55
SLIDE 55

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

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

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

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

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

slide-56
SLIDE 56

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

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

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

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

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

slide-57
SLIDE 57

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

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

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

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

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

slide-58
SLIDE 58

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

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

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

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

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

slide-59
SLIDE 59

Scheduling objectives

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 Maximum lateness min maxi∈J Ci − di Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi − di Earliness-tardiness costs min

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

wi(t) = αi max(0, di − t − pi) + βi max(0, t + pi − di) (weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J ) Weighted number of late jobs

i∈J wiUi

wi(t) =

  • 0 if t + pi ≤ di

wi otherwise

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

slide-60
SLIDE 60

Scheduling objectives

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 Maximum lateness min maxi∈J Ci − di Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi − di Earliness-tardiness costs min

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

wi(t) = αi max(0, di − t − pi) + βi max(0, t + pi − di) (weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J ) Weighted number of late jobs

i∈J wiUi

wi(t) =

  • 0 if t + pi ≤ di

wi otherwise

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

slide-61
SLIDE 61

Scheduling objectives

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 Maximum lateness min maxi∈J Ci − di Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi − di Earliness-tardiness costs min

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

wi(t) = αi max(0, di − t − pi) + βi max(0, t + pi − di) (weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J ) Weighted number of late jobs

i∈J wiUi

wi(t) =

  • 0 if t + pi ≤ di

wi otherwise

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

slide-62
SLIDE 62

Scheduling objectives

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 Maximum lateness min maxi∈J Ci − di Same modeling by adding arc (i, n + 1) in E with li,n+1 = pi − di Earliness-tardiness costs min

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

wi(t) = αi max(0, di − t − pi) + βi max(0, t + pi − di) (weighted completion time if, in addition, di = 0 ∧ αi = 0, ∀i ∈ J ) Weighted number of late jobs

i∈J wiUi

wi(t) =

  • 0 if t + pi ≤ di

wi otherwise

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

MILP Formulations with time-indexed variables

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

T

t=0 txit

Single machine min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • t=0

txjt −

T

  • t=0

txit ≥ lij ∀(i, j) ∈ E

  • j∈J

t

  • s=t−pj+1

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

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

slide-65
SLIDE 65

MILP Formulations with time-indexed variables

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

T

t=0 txit

Parallel machines min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • t=0

txjt −

T

  • t=0

txit ≥ lij ∀(i, j) ∈ E

  • j∈J

t

  • s=t−pj+1

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

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

slide-66
SLIDE 66

MILP Formulations with time-indexed variables

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

t=0 txit

RCPSP min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • t=0

txjt −

T

  • t=0

txit ≥ lij ∀(i, j) ∈ E

  • j∈J

t

  • s=t−pj+1

bjkxjs ≤ Bk ∀t ∈ T , ∀k ∈ R xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T nT variables, |E| precedence constraints, |R|T resource constraints.

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

slide-67
SLIDE 67

MILP Formulations with time-indexed variables

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

t=0 txit

RCPSP (disaggregated precedence constraints) min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • s=t

xis +

t+lij−1

  • s=0

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

  • j∈J

t

  • s=t−pj+1

bjkxjs ≤ Bk ∀t ∈ T , ∀k ∈ R xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T

nT variables, |E|T precedence constraints, |R|T resource constraints.

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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≥bcx 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

slide-70
SLIDE 70

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).

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

t=0 xit)

min

  • j∈J
  • t∈T

(wj(t) − wj(t + 1)) zjt zjT = 1 ∀j ∈ 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

slide-71
SLIDE 71

Comparison between formulations

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

min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • s=t

xis +

t+lij −1

  • s=0

xjs ≤ 1 ∀(i, j) ∈ E, ∀t ∈ T xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T Totally unimodular matrix, integer polyhedron min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

T

  • t=0

txjs −

T

  • t=0

txis ≥ lij ∀(i, j) ∈ E xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T Polyhedron is not integer !

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

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

slide-72
SLIDE 72

MILP Formulations with time-indexed variables : facets

Facet-inducing inequalities for the single-machine polyhedron (without precedence constraints) [SW92]

  • t∈T

xjt ≤ 1 ∀j ∈ J

  • j∈J

t

  • s=t−pj+1

xjs ≤ 1 ∀t ∈ T

t+∆−1

  • s=t−pj+1

xjs +

  • i=j

t

  • s=t−pi+∆

xis ≤ 1 ∀j ∈ J , ∀t ∈ T , ∀∆ ∈ {2, . . . , max

i=j pi}

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

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

slide-73
SLIDE 73

Sousa and Wolsey valid inequalities [SW92]

T

  • u=1

xju 2 = 1 2

  • i∈J

t

  • s=t−pi+1

xis 2 ≤ 1 2

  • i∈J

t+∆−1

  • s=t−pi+∆

xis 2 ≤ 1 2 ⌊

T

  • u=1

xju 2 +

n

  • i=1

t

  • s=t−pi+1

xis 2 +

  • i∈J

t+∆−1

  • s=t−pi+∆

xis 2 ⌋ ≤ ⌊3 2⌋

t+∆−1

  • s=t−pj+1

xjs +

  • i=j

t

  • s=t−pi+∆

xis ≤ 1

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

slide-74
SLIDE 74

Sousa and Wolsey valid inequalities [SW92]

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

j i ∈ J \ {j} ≤ 1 t − pj + 1 t + ∆ − 1 t − pi + ∆ t

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

slide-75
SLIDE 75

van den Akker et al. valid ineqalities [vHS99]

j1 j2 i ∈ J\{j1, j2} ≤ 2 u1 − pj1 + 1 u1 + ∆1 − 1 u2 − pj1 − v u1 + ∆1 + z u2 − pj1 + 1 u2 + ∆2 − 1 u1 − pj2 + ∆1 u1 max{u2 − v, u1 + ∆1} − pj2 min{u1 + ∆1 + z, u2} u2 − pj2 + ∆2 u2 u1 − pi + ∆1 + z + 1 u1 u2 − pi + 1u1 + ∆1 − 1 u2 − pi + ∆2u2 − v − 1 L M U

With the same principle all facet-inducing inequalities with rhs = 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

slide-76
SLIDE 76

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq + t+v s=t−pj+1 xjs ≤ |F| − 1 is a valid

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.

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

slide-77
SLIDE 77

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq + t+v s=t−pj+1 xjs ≤ |F| − 1 is a valid

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.

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

slide-78
SLIDE 78

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq + t+v s=t−pj+1 xjs ≤ |F| − 1 is a valid

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.

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

slide-79
SLIDE 79

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq +

t+v

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

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.

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

slide-80
SLIDE 80

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq +

t+v

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

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.

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

slide-81
SLIDE 81

Valid inequalities for the time-indexed RCPSP ILP

Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e.

  • j∈F bi > B.
  • j∈F

t

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

Consider now a “special” task j ∈ F and an interval v ≥ 0

  • i∈F\{j}

t

s=t−pj+1+v xiq +

t+v

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

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.

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

slide-82
SLIDE 82

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

slide-83
SLIDE 83

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

  • rderings :

If there are no release dates and in the 1-machine case Cj =

i∈D\{j} yijpi + pj

Not possible to consider start dependent costs = ⇒ objective

  • i∈J wiCi

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

slide-84
SLIDE 84

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

  • rderings :

If there are no release dates and in the 1-machine case Cj =

i∈D\{j} yijpi + pj

Not possible to consider start dependent costs = ⇒ objective

  • i∈J wiCi

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

slide-85
SLIDE 85

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

  • rderings :

If there are no release dates and in the 1-machine case Cj =

i∈D\{j} yijpi + pj

Not possible to consider start dependent costs = ⇒ objective

  • i∈J wiCi

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

slide-86
SLIDE 86

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

  • rderings :

If there are no release dates and in the 1-machine case Cj =

i∈D\{j} yijpi + pj

Not possible to consider start dependent costs = ⇒ objective

  • i∈J wiCi

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

slide-87
SLIDE 87

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

  • rderings :

If there are no release dates and in the 1-machine case Cj =

i∈D\{j} yijpi + pj

Not possible to consider start dependent costs = ⇒ objective

  • i∈J wiCi

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

slide-88
SLIDE 88

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence constraints) Consider yij for i < j = ⇒ Cj =

i<j yijpi + i>j(1 − yji)pi + pj

  • j wjCj =

1≤i<j≤n(wjpi − wipj)yij + 1≤i<j≤n wipj + j∈J wjpj

The objective is easily optimized by LP : min

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

0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise = ⇒ WSPT rule [QS94].

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

slide-89
SLIDE 89

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence constraints) Consider yij for i < j = ⇒ Cj =

i<j yijpi + i>j(1 − yji)pi + pj

  • j wjCj =

1≤i<j≤n(wjpi − wipj)yij + 1≤i<j≤n wipj + j∈J wjpj

The objective is easily optimized by LP : min

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

0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise = ⇒ WSPT rule [QS94].

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

slide-90
SLIDE 90

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence constraints) Consider yij for i < j = ⇒ Cj =

i<j yijpi + i>j(1 − yji)pi + pj

  • j wjCj =

1≤i<j≤n(wjpi − wipj)yij + 1≤i<j≤n wipj + j∈J wjpj

The objective is easily optimized by LP : min

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

0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise = ⇒ WSPT rule [QS94].

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

slide-91
SLIDE 91

Sequencing variables : simplest case

Simple case (one-machine, no release dates, no precedence constraints) Consider yij for i < j = ⇒ Cj =

i<j yijpi + i>j(1 − yji)pi + pj

  • j wjCj =

1≤i<j≤n(wjpi − wipj)yij + 1≤i<j≤n wipj + j∈J wjpj

The objective is easily optimized by LP : min

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

0 ≤ yij ≤ 1 ∀i ∈ J , ∀ ∈ J , j > i It suffices to fix yij = 1 if wjpi − wipj ≤ 0 and to 0 otherwise = ⇒ WSPT rule [QS94].

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

slide-92
SLIDE 92

Sequencing variables : one machine, precedence constraints (1)

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

  • i,j∈J piwjyij +
  • j∈J pjwj

yij + yji = 1 ∀i, j ∈ J , i = j yij + yjk − yik ≤ 1 ∀i, j, k ∈ J , i = j = k yij = 1 ∀(i, j) ∈ E yij = 0 ∀(j, i) ∈ E yij ∈ {0, 1} ∀i, j ∈ J , i = j (NP-hard)

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

slide-93
SLIDE 93

Sequencing variables : one machine, precedence constraints (2)

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

i,j∈J piwjyij + j∈J pjwj

yij + yji ≥ 1 ∀i, j ∈ J , i = 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 = 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

slide-94
SLIDE 94

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

slide-95
SLIDE 95

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 : Sj ≥ (ri + pi)yij +

  • k=i,j

pkyikykj ∀i, j ∈ J , i = j

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

slide-96
SLIDE 96

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 : Sj ≥ (ri + pi)yij +

  • k=i,j

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

j∈J wjSj

Sj ≥ (ri+pi)yij+

k<i,k=j pk(yik−yjk)+ k>i,k=j pkykj

∀i, j ∈J , i =j Sj ≥ ri ∀i ∈ J yij + yji = 1 ∀1 ≤ i < j ≤ n yij + yjk − yik ≤ 1 ∀i, j, k ∈ J , i = j = k δjk ∈ {0, 1} ∀i, j ∈ J , i = j

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

slide-97
SLIDE 97

Sequencing and natural date variables : the general disjunctive scheduling problem

min

  • j∈J wjSj

Sj ≥ ri ∀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 = j = 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

slide-98
SLIDE 98

Sequencing and natural date variables : RCPSP

Forbidden set F ∈ F : ∃k ∈ R,

j∈F bjk > Bk. min j∈J wjSj

MIP issued from [AVT93] Sj ≥ ri ∀i ∈ J Sj − Si + Mij(1 − yij) ≥ pi ∀(i, j) ∈ D

  • i,j∈F,i=j

yij ≥ 1 ∀F ∈ F yij + yji ≤ 1 ∀i, j ∈ J yij + yji = 1 ∀(i, j) ∈ D yij + yjk − yik ≤ 1 ∀(i, j), (j, k), (ki) ∈ D, i = j = 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

slide-99
SLIDE 99

Sequencing and natural date variables : compact model for the RCPSP

Replace exponential number of constraints

  • i,j∈F,i=j yij ≥ 1

∀F ∈ F by resource flow networks (0 dummy source job and n + 1 dummy sink job)

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

slide-100
SLIDE 100

Sequencing and natural date variables : compact model for the RCPSP

Replace exponential number of constraints

  • i,j∈F,i=j yij ≥ 1

∀F ∈ F by resource flow networks (0 dummy source job and n + 1 dummy sink job)

  • j∈J

f0jk =

  • j∈J

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

  • j=i

fijk =

  • j=i

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

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

slide-101
SLIDE 101

Sequencing and natural date variables : compact model for the RCPSP

Replace exponential number of constraints

  • i,j∈F,i=j yij ≥ 1

∀F ∈ F by resource flow networks (0 dummy source job and n + 1 dummy sink job)

  • j∈J

f0jk =

  • j∈J

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

  • j=i

fijk =

  • j=i

fjik = bik ∀i ∈ J , ∀k ∈ R 0 ≤ fijk ≤ min(bik, bjk)yij ∀i, j ∈ J , i = j, ∀k ∈ R A compact model is obtained A. et al. [AMR00].

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

slide-102
SLIDE 102

(Facet-inducing) valid inequalities for the RCPSP polyhedron

Polyhedral study for the forbidden set-based formulation, Alvarez-Valdés et al. [AVT93] let Q = conv({(S, y) ∈ Rn2|(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) ∈ |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) ∈ {(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

slide-103
SLIDE 103

(Facet-inducing) valid inequalities for the RCPSP polyhedron

Polyhedral study for the forbidden set-based formulation, Alvarez-Valdés et al. [AVT93] let Q = conv({(S, y) ∈ Rn2|(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) ∈ |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) ∈ {(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

slide-104
SLIDE 104

(Facet-inducing) valid inequalities for the RCPSP polyhedron

Polyhedral study for the forbidden set-based formulation, Alvarez-Valdés et al. [AVT93] let Q = conv({(S, y) ∈ Rn2|(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) ∈ |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) ∈ {(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

slide-105
SLIDE 105

(Facet-inducing) valid inequalities for the RCPSP polyhedron

Polyhedral study for the forbidden set-based formulation, Alvarez-Valdés et al. [AVT93] let Q = conv({(S, y) ∈ Rn2|(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) ∈ |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) ∈ {(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

slide-106
SLIDE 106

(Facet-inducing) valid inequalities for the RCPSP polyhedron

Polyhedral study for the forbidden set-based formulation, Alvarez-Valdés et al. [AVT93] let Q = conv({(S, y) ∈ Rn2|(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) ∈ |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) ∈ {(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

slide-107
SLIDE 107

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 Sj ≥ rj +

  • i∈C

yijpi ∀C ∈ C, ∀j ∈ C Sj ≥ rk +

  • i∈C\{j}

yijpi −

  • i∈C

yik(rl − rj) ∀C ∈ C, ∀j ∈ C, Alvarez-Valdés et al. [AVT93] also proposed such cuts for the

  • RCPSP. Let Γ−1(i) (Γ(i)) be the set of ancestors (descendants)
  • f i in E.

Sj ≥ Si +pi +

  • k∈Γ(i)

pkykj +

  • k∈Γ−1(j)

pkyik +

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

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

pk(yik +ykj −1)

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

slide-108
SLIDE 108

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 Sj ≥ rj +

  • i∈C

yijpi ∀C ∈ C, ∀j ∈ C Sj ≥ rk +

  • i∈C\{j}

yijpi −

  • i∈C

yik(rl − rj) ∀C ∈ C, ∀j ∈ C, Alvarez-Valdés et al. [AVT93] also proposed such cuts for the

  • RCPSP. Let Γ−1(i) (Γ(i)) be the set of ancestors (descendants)
  • f i in E.

Sj ≥ Si +pi +

  • k∈Γ(i)

pkykj +

  • k∈Γ−1(j)

pkyik +

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

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

pk(yik +ykj −1)

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

slide-109
SLIDE 109

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. dc

ij denotes the value of

dij if constraint c is satisfied. We consider constraints such as k||h, k ≺ h, k ≻ h.

Example 1 : Sj − Si ≥ dk||h

ij

+ dk≺h

ij

ykh + dk≻h

ij

yhk, for any 4 jobs i, j, k, h. Example 2 : xij ≥ xhk, ∀i, j, h, i, dh≺k

ij

≥ pi

Demassey, A. and Michelon [DAM05]

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

slide-110
SLIDE 110

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. dc

ij denotes the value of

dij if constraint c is satisfied. We consider constraints such as k||h, k ≺ h, k ≻ h.

Example 1 : Sj − Si ≥ dk||h

ij

+ dk≺h

ij

ykh + dk≻h

ij

yhk, for any 4 jobs i, j, k, h. Example 2 : xij ≥ xhk, ∀i, j, h, i, dh≺k

ij

≥ pi

Demassey, A. and Michelon [DAM05]

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

slide-111
SLIDE 111

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. dc

ij denotes the value of

dij if constraint c is satisfied. We consider constraints such as k||h, k ≺ h, k ≻ h.

Example 1 : Sj − Si ≥ dk||h

ij

+ dk≺h

ij

ykh + dk≻h

ij

yhk, for any 4 jobs i, j, k, h. Example 2 : xij ≥ xhk, ∀i, j, h, i, dh≺k

ij

≥ pi

Demassey, A. and Michelon [DAM05]

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

slide-112
SLIDE 112

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. dc

ij denotes the value of

dij if constraint c is satisfied. We consider constraints such as k||h, k ≺ h, k ≻ h.

Example 1 : Sj − Si ≥ dk||h

ij

+ dk≺h

ij

ykh + dk≻h

ij

yhk, for any 4 jobs i, j, k, h. Example 2 : xij ≥ xhk, ∀i, j, h, i, dh≺k

ij

≥ pi

Demassey, A. and Michelon [DAM05]

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

slide-113
SLIDE 113

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. dc

ij denotes the value of

dij if constraint c is satisfied. We consider constraints such as k||h, k ≺ h, k ≻ h.

Example 1 : Sj − Si ≥ dk||h

ij

+ dk≺h

ij

ykh + dk≻h

ij

yhk, for any 4 jobs i, j, k, h. Example 2 : xij ≥ xhk, ∀i, j, h, i, dh≺k

ij

≥ pi

Demassey, A. and Michelon [DAM05]

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

slide-114
SLIDE 114

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

slide-115
SLIDE 115

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. min

i∈J wiSi

  • j∈J

f0j =

  • j∈J

fj,n+1 = m

  • j∈J \{i}

fij =

  • j∈J \{i}

fji = 1 ∀i ∈ J Si ≥ ri ∀i ∈ J Sj − Si + Mij(1 − fij) ≥ pi ∀i, j ∈ J , i = j Sj − Si ≥ lij ∀(i, j) ∈ E fij ∈ {0, 1} ∀i, j ∈ J , i = 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

slide-116
SLIDE 116

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. min

  • i∈J
  • j∈J \{i}

wiSij

  • j∈J

f0j =

  • j∈J

fj,n+1 = m

  • j∈J \{i}

fij =

  • j∈J \{i}

fji = 1 ∀i ∈ J rifij ≤ Sij ≤ ˜ difij ∀i, j ∈ J , i = j

  • j∈J \{i}

Sij −

  • k∈J \{i}

(Ski + pkfki) ≥ 0 ∀i ∈ J

  • j∈J \{j}

Sjk −

  • k∈J \{i}

Sik ≥ lij ∀(i, j) ∈ E fij ∈ {0, 1}, Sij ≥ 0 ∀i, j ∈ J , i = j

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

slide-117
SLIDE 117

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

slide-118
SLIDE 118

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

slide-119
SLIDE 119

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

slide-120
SLIDE 120

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

slide-121
SLIDE 121

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.)

min

  • e∈EwiCi
  • e∈E aje = 1

∀j ∈ J

  • j∈J aje = 1

∀e ∈ E te +

  • j∈J piaie = fe

∀e ∈ E te −

  • j∈J rjaje ≥ 0

∀e ∈ E te ≥ te−1 ∀e ∈ E Ci + M(1 − aie) ≥ fe ∀i ∈ J , ∈ ∀e ∈ E te ≥ 0 ∀e ∈ E aie ∈ {0, 1} ∀i ∈ J , ∈ ∀e ∈ E

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

slide-122
SLIDE 122

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

slide-123
SLIDE 123

Positional date and assignment variables (RCPSP)

Example

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

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

slide-124
SLIDE 124

Start/End Event-based formulation (SEE)

min tn t0 = 0 tf ≥ te + pixie − pi(1 − yif ) ∀(e, f ) ∈ E2, f > e, ∀i ∈ J te+1 ≥ te ∀e ∈ E, e < n

  • e∈E

xie = 1,

  • e∈E

yie = 1 ∀i ∈ J

e

v=0

yiv +

n

v=e

xiv ≤ 1 ∀i ∈ J , ∀e ∈ E

n

e′=e

yie′ +

e−1

e′=0

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

  • i∈A

bikxi0 ∀k ∈ R rek = r(e−1)k +

  • i∈J

bikxie −

  • i∈J

bikyie ∀e ∈ E, e ≥ 1, k ∈ R 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

slide-125
SLIDE 125

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 = n − 1 ∈ E tf ≥ te + ((zi−e − zi(e−1)) − (zif − zi(f −1)) − 1)pi ∀(e, f , i) ∈ E2 × J , f > e = 0

e−1

  • e′=0

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

n−1

  • e′=e

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

  • e∈E

zie ≥ 1 ∀i ∈ J zie +

e

  • e′=0

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

n−1

  • i=0

bikzie ≤ Bk ∀e ∈ E, ∀k ∈ R te ≥ 0 ∀e ∈ E zie ∈ {0, 1} ∀i ∈ J , ∀e ∈ E

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

slide-126
SLIDE 126

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

slide-127
SLIDE 127

Arc-time indexed formulations

Mixing flow-based and time-indexed formulations.

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

slide-128
SLIDE 128

Arc-time indexed formulations

Mixing flow-based and time-indexed formulations. x t

ij = 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

slide-129
SLIDE 129

Arc-time indexed formulations

Mixing flow-based and time-indexed formulations. x t

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

min

  • i∈J
  • j∈J \{i}
  • t∈T

wj(t)x t

ij

  • j∈J \{i}
  • t∈T

x t

ij = 1

∀i ∈ J

  • i∈J

x 0

0i = m

  • j∈J \{i}

x t

ji −

  • j∈J \{i}

x t+pi

ij

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

ij ∈ {0, 1}

∀i ∈ J , ∀j ∈ J \ {i}, ∀t ∈ T

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

slide-130
SLIDE 130

Arc-time indexed formulations

Mixing flow-based and time-indexed formulations. x t

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

min

  • i∈J
  • j∈J \{i}
  • t∈T

wj(t)x t

ij

  • j∈J \{i}
  • t∈T

x t

ij = 1

∀i ∈ J

  • i∈J

x 0

0i = m

  • j∈J \{i}

x t

ji −

  • j∈J \{i}

x t+pi

ij

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

ij ∈ {0, 1}

∀i ∈ J , ∀j ∈ J \ {i}, ∀t ∈ T At least as strong LP relaxation as time-indexed one if variables x t

ii

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

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

slide-131
SLIDE 131

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

slide-132
SLIDE 132

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

slide-133
SLIDE 133

Column generation for time-indexed formulations

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

  • j∈J
  • t∈T

wj(t)xjt (one-machine problem)

  • t∈T

xjt = 1 ∀j ∈ J

  • j∈J

t

  • s=t−pj+1

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

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

slide-134
SLIDE 134

Column generation for time-indexed formulations

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

  • j∈J
  • t∈T

wj(t)xjt (one-machine problem)

  • t∈T

xjt = 1 ∀j ∈ J

  • j∈J

t

  • s=t−pj+1

xjs ≤ 1 ∀t ∈ T xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T Let PS = {x ∈ [0, 1]n+T|

j∈J

t

s=t−pj+1 xjs ≤ 1, ∀t ∈ T }.

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

slide-135
SLIDE 135

Column generation for time-indexed formulations

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

  • j∈J
  • t∈T

wj(t)xjt (one-machine problem)

  • t∈T

xjt = 1 ∀j ∈ J

  • j∈J

t

  • s=t−pj+1

xjs ≤ 1 ∀t ∈ T xjt ∈ {0, 1} ∀j ∈ J , ∀t ∈ T Let PS = {x ∈ [0, 1]n+T|

j∈J

t

s=t−pj+1 xjs ≤ 1, ∀t ∈ T }.

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

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

slide-136
SLIDE 136

Column generation for time-indexed formulations

We have x = r

q=1 λqaq, ∀x extreme point of conv({PS}) where

r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.

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

slide-137
SLIDE 137

Column generation for time-indexed formulations

We have x = r

q=1 λqaq, ∀x extreme point of conv({PS}) where

r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.

Equivalent LP (of equal LP relaxation value) min

r

  • q=1

 

j∈J

  • t∈T

wj(t)aq

jt

  λq

r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J

r

  • q=1

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

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

slide-138
SLIDE 138

Column generation for time-indexed formulations

We have x = r

q=1 λqaq, ∀x extreme point of conv({PS}) where

r

q=1 λq = 1, λ ≥ 0 and aq is the qst point of PS.

Equivalent LP (of equal LP relaxation value) min

r

  • q=1

 

j∈J

  • t∈T

wj(t)aq

jt

  λq

r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J

r

  • q=1

λq = 1 0 ≤ λq ≤ 1 q = 1, . . . , |T | Start with a restricted set of pseudo schedules and solve the LP relaxation by column generation.

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

slide-139
SLIDE 139

Column generation for time-indexed formulations

min

r

  • q=1

(

  • j∈J
  • t∈T

wj(t)aq

jt)λq r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J

r

  • q=1

λq = 1 0 ≤ λq ≤ 1 q = 1, . . . , |T | Reduced cost of a pseudo schedule ˜ cq =

  • j∈J
  • t∈T

wj(t)aq

jt

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

slide-140
SLIDE 140

Column generation for time-indexed formulations

min

r

  • q=1

(

  • j∈J
  • t∈T

wj(t)aq

jt)λq r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J (πj)

r

  • q=1

λq = 1 (γ) 0 ≤ λq ≤ 1 q = 1, . . . , |T | Reduced cost of a pseudo schedule ˜ cq =

  • j∈J
  • t∈T

wj(t)aq

jt −

  • j∈J

πj(

  • t∈T

aq

jt) − γ

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

slide-141
SLIDE 141

Column generation for time-indexed formulations

min

r

  • q=1

(

  • j∈J
  • t∈T

wj(t)aq

jt)λq r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J (πj)

r

  • q=1

λq = 1 (γ) 0 ≤ λq ≤ 1 q = 1, . . . , |T | Reduced cost of a pseudo schedule ˜ cq =

  • j∈J
  • t∈T

wj(t)aq

jt −

  • j∈J

πj(

  • t∈T

aq

jt) − γ

=

  • j∈J
  • t∈T

(wj(t) − πj)aq

jt − γ

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

slide-142
SLIDE 142

Column generation for time-indexed formulations

min

r

  • q=1

(

  • j∈J
  • t∈T

wj(t)aq

jt)λq r

  • q=1
  • t∈T

aq

jt

  • λq = 1

∀j ∈ J (πj)

r

  • q=1

λq = 1 (γ) 0 ≤ λq ≤ 1 q = 1, . . . , |T | Reduced cost of a pseudo schedule ˜ cq =

  • j∈J
  • t∈T

wj(t)aq

jt −

  • j∈J

πj(

  • t∈T

aq

jt) − γ

=

  • j∈J
  • t∈T

(wj(t) − πj)aq

jt − γ

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

slide-143
SLIDE 143

Column generation for time-indexed RCPSP (1)

How to strengthen the time-indexed formulation ? Mingozzi et al. [MM98] min

  • j∈J
  • t∈T

wj(t)xjt

  • t∈T

xjt = 1 ∀j ∈ J

  • j∈J

t

  • s=t−pj+1

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

T

  • t=0

txjs −

T

  • t=0

txis ≥ lij ∀(i, j) ∈ E 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

slide-144
SLIDE 144

Column generation for time-indexed RCPSP (2)

Introduce additional variables y ∈ {0, 1}n+T

    

  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

T

s=0 yjs = pj, ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J Perform an integer Danzig-Wolfe decomposition of PS =

  • y ∈ {0, 1}n+T
  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

  • Subproblem is decomposable for each t ∈ T and each t ∈ 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

slide-145
SLIDE 145

Column generation for time-indexed RCPSP (2)

Introduce additional variables y ∈ {0, 1}n+T

    

  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

T

s=0 yjs = pj, ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J Perform an integer Danzig-Wolfe decomposition of PS =

  • y ∈ {0, 1}n+T
  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

  • Subproblem is decomposable for each t ∈ T and each t ∈ 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

slide-146
SLIDE 146

Column generation for time-indexed RCPSP (2)

Introduce additional variables y ∈ {0, 1}n+T

    

  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

T

s=0 yjs = pj, ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J Perform an integer Danzig-Wolfe decomposition of PS =

  • y ∈ {0, 1}n+T
  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

  • Subproblem is decomposable for each t ∈ T and each t ∈ 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

slide-147
SLIDE 147

Column generation for time-indexed RCPSP (2)

Introduce additional variables y ∈ {0, 1}n+T

    

  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

T

s=0 yjs = pj, ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J Perform an integer Danzig-Wolfe decomposition of PS =

  • y ∈ {0, 1}n+T
  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

  • Subproblem is decomposable for each t ∈ T and each t ∈ 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

slide-148
SLIDE 148

Column generation for time-indexed RCPSP (2)

Introduce additional variables y ∈ {0, 1}n+T

    

  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

T

s=0 yjs = pj, ∀j ∈ J

xjt ≥ yjt − yj,t−1, ∀j ∈ J Perform an integer Danzig-Wolfe decomposition of PS =

  • y ∈ {0, 1}n+T
  • j∈J

T

s=0 bjkyjs ≤ Bk, ∀t ∈ T , ∀k ∈ R

  • Subproblem is decomposable for each t ∈ T and each t ∈ 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

slide-149
SLIDE 149

More on Column generation for time-indexed RCPSP

Can we combine strengthening the TI formulation and reduction

  • f 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

slide-150
SLIDE 150

More on Column generation for time-indexed RCPSP

Can we combine strengthening the TI formulation and reduction

  • f 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

slide-151
SLIDE 151

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

slide-152
SLIDE 152

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

slide-153
SLIDE 153

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

slide-154
SLIDE 154

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

slide-155
SLIDE 155

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

slide-156
SLIDE 156

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

slide-157
SLIDE 157

Conclusion

Problems of increasing size are solved by MILP models with the help

  • f

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

  • ver 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

slide-158
SLIDE 158

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. 82–85.

  • D. Applegate and W. Cook, A computational study of job-shop

scheduling, ORSA Journal on Computing 3 (1991), no. 2, 149–156.

  • 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, 249–267.

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

slide-159
SLIDE 159

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

  • f Operational Research 127 (2000), 355–362.

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

slide-160
SLIDE 160

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. 145–168.

  • 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. 76–79.

  • 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, 52–65.

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

slide-161
SLIDE 161

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

slide-162
SLIDE 162

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

slide-163
SLIDE 163

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), 714–729.

  • 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. 376–390.

  • 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. 63–84.

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

slide-164
SLIDE 164

References VII

C.N. Potts, An algorithm for the single machine sequencing problem with precedence constraints, Mathematical Programming Study 13 (1980), 78–87.

  • A. Pessoa, E. Uchoa, M. Poggi de Aragão, and R. Rodrigues,

Exact algorithm over an arc-time-indexed formulation for parallel machine scheduling problems, Mathematical Programming Computation 2 (2010), 259–290.

  • M. Queyranne and A. S. Schulz, Polyhedral approaches to

machine scheduling, Tech. Report 408/1994, TechnischeUniversitätBerlin, 1994.

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

slide-165
SLIDE 165

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. 307–320.

  • M. Queyranne, Structure of a simple scheduling polyhedron,

Mathematical Programming 58 (1993), 263–285.

  • A. S. Schulz, Polytopes and scheduling, Ph.D. thesis,

Technischen Universität Berlin, 1996.

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

slide-166
SLIDE 166

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. 55–57.

  • J. P. Sousa and L. A. Wolsey, A time indexed formulation of

non-preemptive single machine scheduling problems, Mathematical Programming 54 (1992), 353–367.

  • 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, 785–800.

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

slide-167
SLIDE 167

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

slide-168
SLIDE 168

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, 477–494.

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