Formuler un problème d’ordonnancement juste-à-temps
grâce à des inégalités de non-chevauchement
Anne-Elisabeth FALQ
encadrée parPierre FouilhouxetSafia Kedad-Sidhoum
18 Novembre 2020, en ligne avec le Gscopde Grenoble
slides et tapuscrit disponibles sur
http://perso.eleves.ens-rennes.fr/~afalq494/recherche-these.html
Outline
1. Introduction
Scheduling around a common due date Known results about UCDDP and CDDP How to encode schedules?
2. A formulation for UCDDP using natural variables 3. How to manage this kind of formulations in practice 4. How to extend this formulation
5. Conclusion
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2 A schedule:
p p p p p p p p p p p p p p p
0
|
d
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 / 25
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
3
1 4 2
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
3
1 4 2
4.5
1 / 25
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
3
1 4 2
↓ 4,5×2=9
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 4 2 3
↓ 4×2=8
1 / 25
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 4 2 3
↓ 4×2=8
↓ 4
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2
A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 4 2 3
↓ 3
↓ 7
↓ 2.5
1 / 25
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2 A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 4 2 3
↓ 3
↓ 7
↓ 2.5 3.5
↓ 3,5×2=7
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2 A schedule:
p p p p p p p p p p p p p p p
0
|
d
4 2 3
↓ 3
↓ 7
↓ 2.5 1
↓
5 →17.5
1 / 25
1- Introduction • 1.1 Scheduling around a common due date
Scheduling around a common due-date on a single machine
An instance=• a set of tasks : J={1,2,3,4}
1 2 3 4
p1=4 p2=1 p3=2 p4=3
• common due date : d=10
• unit tardiness penalties : β1=β4=5, β2=β3=2
• unit earliness penalties : ∀j∈J,αj = 2 A schedule:
p p p p p p p p p p p p p p p
0
|
d
1 4 2 3
↓ 2
↓ 6
↓ 0
↓
6 →14F
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
2 / 25
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
2 / 25
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
| αj
1
βj
1
j j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
2 / 25
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j
j j0 j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j
j j0
j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
2 / 25
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j
j
j0
j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j
j
j0
j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
2 / 25
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (UCDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• anunrestrictivecommon due-dated>P
j∈J
pj
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
αj
1
βj
1
j
j
j0
j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
1- Introduction • 1.1 Scheduling around a common due date
The Unrestrictive Common Due Date Problem (CDDP)
An instance =
• a set of tasksJ
• their processing times (pj)j∈J∈NJ
• a unrestrictive common due-date d
• their unit earliness penalties(αj)j∈J
• their unit tardiness penalties(βj)j∈J
d
0
|
j j0 j00
A solution schedule =a family of pairwise disjointprocessing intervals
The objective =minP
j∈J
αjEj+βjTj = minimize the sum ofearliness and tardiness penalties
3 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
What are dominance properties?
LetT be a solution subset of an arbitrary optimization problem.
• T is adominantset if it contains at least one optimal solution
• T is astrictly dominantset if it contains all the optimal solutions In both cases,
→ the searching space can be reduced toT
→ other solutions can be discarded
1- Introduction • 1.2 Known results about UCDDP and CDDP
What are dominance properties?
LetT be a solution subset of an arbitrary optimization problem.
• T is adominantset if it contains at least one optimal solution
• T is astrictly dominantset if it contains all the optimal solutions In both cases,
→ the searching space can be reduced toT
→ other solutions can be discarded
4 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
What are dominance properties?
LetT be a solution subset of an arbitrary optimization problem.
• T is adominantset if it contains at least one optimal solution
• T is astrictly dominantset if it contains all the optimal solutions
In both cases,
→ the searching space can be reduced toT
→ other solutions can be discarded
1- Introduction • 1.2 Known results about UCDDP and CDDP
What are dominance properties?
LetT be a solution subset of an arbitrary optimization problem.
• T is adominantset if it contains at least one optimal solution
• T is astrictly dominantset if it contains all the optimal solutions In both cases,
→ the searching space can be reduced to T
→ other solutions can be discarded
4 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance properties
• without idle time
• one on time task
(+ "V-shaped")
complexity
∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→
weakly
NP-hard
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance
properties • without idle time
• one on time task
(+ "V-shaped")
complexity
∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→
weakly
NP-hard
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance
properties • without idle time
• one on time task
(+ "V-shaped")
complexity
∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→
weakly
NP-hard
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance
properties • without idle time
• one on time task
(+ "V-shaped")
complexity ∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→
weakly
NP-hard
Kanet, 1981, Naval Research Logistics Quaterly
Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance
properties • without idle time
• one on time task
(+ "V-shaped")
complexity ∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→
weakly
NP-hard
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
j∈Jpj
dominance
properties • without idle time
• one on time task (+ "V-shaped") complexity ∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj→weakly NP-hard
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive case d>P
j∈Jpj general case dominance
properties • without idle time
• without idle time
• one on time task
• one on time task or beginning at 0
(+ "V-shaped")
V-shaped
complexity ∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard
∀j∈J, αj=βj→weakly NP-hard arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research Sourd, 2009, Informs Journal on Computing
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive case d>P
j∈Jpj general case dominance
properties • without idle time • without idle time
• one on time task • one on time task orbeginning at 0 (+ "V-shaped") V-shaped
complexity ∀j∈J, αj=βj=ω→P
∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard
∀j∈J, αj=βj→weakly NP-hard arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research
Sourd, 2009, Informs Journal on Computing
5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive case d>P
j∈Jpj general case dominance
properties • without idle time • without idle time
• one on time task • one on time task orbeginning at 0 (+ "V-shaped") V-shaped
complexity ∀j∈J, αj=βj=ω→P ∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard
∀j∈J, αj=βj→weakly NP-hard arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research
Sourd, 2009, Informs Journal on Computing
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive case d>P
j∈Jpj general case dominance
properties • without idle time • without idle time
• one on time task • one on time task orbeginning at 0 (+ "V-shaped") V-shaped
complexity ∀j∈J, αj=βj=ω→P ∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard ∀j∈J, αj=βj→weakly NP-hard
arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research
Sourd, 2009, Informs Journal on Computing
5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive case d>P
j∈Jpj general case dominance
properties • without idle time • without idle time
• one on time task • one on time task orbeginning at 0 (+ "V-shaped") V-shaped
complexity ∀j∈J, αj=βj=ω→P ∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard ∀j∈J, αj=βj→weakly NP-hard arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research
Sourd, 2009, Informs Journal on Computing 5 / 25
1- Introduction • 1.2 Known results about UCDDP and CDDP
Dominance properties and complexity
unrestrictive cased>P
jpj general case dominance
properties • without idle time • without idle time
• one on time task • one on time task or beginning at 0 (+ "V-shaped")
V-shaped
complexity ∀j∈J, αj=βj=ω→P ∀j∈J, αj=βj=ω→NP-hard
∀j∈J, αj=βj→weakly NP-hard ∀j∈J, αj=βj→weakly NP-hard
arbitrary αj, βj →NP-hard arbitraryαj, βj→Branch-and-Bound can solve up to 1000-task instances
Kanet, 1981, Naval Research Logistics Quaterly Hall and Posner, 1991, Operations research
Hoogeveen and van de Velde, 1991, European Journal of Operational research
Sourd, 2009, Informs Journal on Computing 5 / 25
1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
d
0
|
First let us discretize the time horizon
asT=[d−p(J),d+p(J)]
.
Variables: ∀i∈J, ∀t∈ T: xi,t =
1 ifi completes att
0 otherwise Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
|
First let us discretize the time horizon
asT=[d−p(J),d+p(J)]
.
Variables: ∀i∈J, ∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance6 / 25
1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p(J) p(J)
p p p p p p p p p p p p p p p p p p p p p p p
d
0
|
First let us discretize the time horizon
asT=[d−p(J),d+p(J)]
.
Variables: ∀i∈J, ∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p(J) p(J)
p p p p p p p p p p p p p p p p p p p p p p p
d
0
|
First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J, ∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance6 / 25
1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
| i
xi,tt=1 First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J,∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
| i
xi,tt=1 t0 xi,t0=0 t00
xi,t00=0
First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J,∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance6 / 25
1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
| i
xi,tt=1 t0 xi,t0=0 t00
xi,t00=0
First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J,∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
| i
xi,tt=1 t0 xi,t0=0 t00
xi,t00=0
First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J,∀t∈ T: xi,t =
1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instanceConstraints: • ∀i∈J,P
t∈T
xi,t= 1 taski is placed
• ∀t∈ T,P
i∈J
P
s∈T s∈[t,t+pi[
xi,s61 at most 1 task is in progress att
• ∀i∈J,∀t∈ T,xi,t∈Z integrity constraint
6 / 25
1- Introduction • 1.3 How to encode schedules?
Time-indexed variables
p p p p p p p p p p p p p p p p p p p p p p p
d
0
| i
xi,tt=1 t0 xi,t0=0 t00
xi,t00=0
First let us discretize the time horizon asT=[d−p(J),d+p(J)].
Variables: ∀i∈J,∀t∈ T: xi,t =1 ifi completes att 0 otherwise
Objective function: P
j∈J
P
t∈T
c
i,tx
i,t whereci,t are pre-computed from the instance+ easy to formulate as a MIP + good relaxation value
− 2n p(J) binary variables= a pseudo polynomial number
− n+n p(J) inequalities= a pseudo polynomial number
1- Introduction • 1.3 How to encode schedules?
Completion time variables
d 0
Variables: ∀j∈J,Cj∈R+is the time when task j completes
Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+7 / 25
1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
Variables: ∀j∈J,Cj∈R+is the time when task j completes
Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
Variables: ∀j∈J,Cj∈R+is the time when task j completes
Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+7 / 25
1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj Ci−d
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+7 / 25
1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj Ci−d
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj Ci−d
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+not linear!7 / 25
1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj Ci−d Cj
Ci
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+not linear!1- Introduction • 1.3 How to encode schedules?
Completion time variables
d
0 j
Cj
i Ci
d−Cj Ci−d
Variables: ∀j∈J,Cj∈R+is the time when task j completes Objective function: P
j∈J
α
j[d −C
j]
++ β
j[C
j−d]
+not linear!7 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+
Objective function: P
j∈J
α
je
j+ β
jt
j←linear function of variablese andt
On the first example:
0
| p p p p p p p p p p p p p p p
1 3 2 4
d
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j←linear function of variablese andt
On the first example:
0
| p p p p p p p p p p p p p p p
1 3 2 4
d
8 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andtOn the first example:
0
| p p p p p p p p p p p p p p p
1 3 2 4
d
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1 3 2 4
C1= 8
C3= 10
C2= 11 C4= 15 d
8 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1 3 2 4
C3= 10
C2= 11 C4= 15 d−2
d
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 3 2 4
C3= 10
C2= 11 C4= 15 d−2
e1↓= 2 t1= 0
d
8 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 3 2 4
C2= 11 C4= 15
d−2 d
e1↓= 2 t1= 0
d
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 33 2 4
C2= 11 C4= 15
d−2 d
e1↓= 2 t1= 0
e3= 0↓ t1= 0 d
8 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 33 2 4
C4= 15
d−2 d
d+1 e1↓= 2
t1= 0
e3= 0↓ t1= 0 d
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 33 22 4
C4= 15
d−2 d
d+1 e1↓= 2
t1= 0
e3= 0↓ t1= 0
e2↓= 0 t1= 1 d
8 / 25
1- Introduction • 1.3 How to encode schedules?
Earliness–Tardiness variables
d
0
| j
Cj
i Ci
ej ti
Variables: ∀j∈J,ej=[d−Cj]+andtj=[Cj−d]+ Objective function: P
j∈J
α
je
j+ β
jt
j ←linear function of variablese andt On the first example:0
| p p p p p p p p p p p p p p p
1
1 33 22 4
d−2 d
d+1 d+4
e1↓= 2 t1= 0
e3= 0↓ t1= 0
e2↓= 0 t1= 1 d