Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazioni di PLI per problemi di scheduling
Salvatore Nocella
October 26, 2006
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Sommario
Problemi su singola macchina
I
Formulazione disgiuntiva
I
Formulazioni time indexed Macchine parallele identiche
I
Formulazione posizionale Formulare vincoli speciali
I
Vincoli di precedenza
I
Machine breakdown
Esercizi
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Single-machine: notazione
I
Si vuole formulare il seguente problema di scheduling:
1| | X w
jC
j IDati del problema:
I
Insieme dei job: J = {1, . . . , n}
I
Per ogni job j ∈ J
I wj costo
I pjtempo di processamento
I Cj tempo di completamento
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione disgiuntiva: 1| | P w j C j
Variabili di decisione
t
j∈ R : istante di inizio del processamento di j (∀j) Funzione obiettivo
I
C
j= t
j+ p
jI
min P
j ∈J
w
j(t
j+ p
j) Vincoli
Comunque scelgo una coppia di job distinti j , k
t
j+ p
j≤ t
koppure t
k+ p
k≤ t
jAttenzione! Siamo interessati a formulazioni di
Programmazione LINEARE Intera
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Un modello di MILP
I
Definiamo la seguente variabile di decisione:
α
jk=
( 1 se j precede k 0 altrimenti
I
Il vincolo disgiuntivo precedente si riscrive:
(1 − α
jk)M + t
k− t
j≥ p
j∀j, k ∈ J (1 − α
kj)M + t
j− t
k≥ p
k∀j, k ∈ J
I
M P
j ∈J
p
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione disgiuntiva: resume
min X
j ∈J
w
j(t
j+ p
j)
(1 − α
jk)M + t
k− t
j≥ p
j∀j, k ∈ J (1 − α
kj)M + t
j− t
k≥ p
k∀j, k ∈ J
α
jk∈ {0, 1} ∀j, k ∈ J
t
j∈ R
+∀j ∈ J
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione disgiuntiva: caratteristiche
Vantaggi
I
Dimensione del modello: O |J |
2variabili e vincoli
Svantaggi
I
Qualit` a del gap pessima: dovuta alla presenza del
coefficiente M
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
job 1 2 3 4
p
j6 11 9 5
w
j3 5 7 4
Funzione obiettivo
min 3 · (t
1+ 6) + 5 · (t
2+ 11) + 7 · (t
3+ 9) + 4 · (t
4+ 5)
Vincoli
(1,2) (1 − α
12)M + t
2− t
1≥ 6, (1 − α
21)M + t
1− t
2≥ 11
(1,3) (1 − α
13)M + t
3− t
1≥ 6, (1 − α
31)M + t
1− t
3≥ 9
(1,4) (1 − α
14)M + t
4− t
1≥ 6, (1 − α
41)M + t
1− t
4≥ 5
(2,3) (1 − α
23)M + t
3− t
2≥ 11, (1 − α
32)M + t
2− t
3≥ 9
(2,4) (1 − α
24)M + t
4− t
2≥ 11, (1 − α
42)M + t
2− t
4≥ 5
(3,4) (1 − α
34)M + t
4− t
3≥ 9, (1 − α
43)M + t
3− t
4≥ 5
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
job 1 2 3 4
p
j6 11 9 5
w
j3 5 7 4
Funzione obiettivo
min 3 · (t
1+ 6) + 5 · (t
2+ 11) + 7 · (t
3+ 9) + 4 · (t
4+ 5)
Vincoli
(1,2) (1 − α
12)M + t
2− t
1≥ 6, (1 − α
21)M + t
1− t
2≥ 11
(1,3) (1 − α
13)M + t
3− t
1≥ 6, (1 − α
31)M + t
1− t
3≥ 9
(1,4) (1 − α
14)M + t
4− t
1≥ 6, (1 − α
41)M + t
1− t
4≥ 5
(2,3) (1 − α
23)M + t
3− t
2≥ 11, (1 − α
32)M + t
2− t
3≥ 9
(2,4) (1 − α
24)M + t
4− t
2≥ 11, (1 − α
42)M + t
2− t
4≥ 5
(3,4) (1 − α
34)M + t
4− t
3≥ 9, (1 − α
43)M + t
3− t
4≥ 5
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
job 1 2 3 4
p
j6 11 9 5
w
j3 5 7 4
Funzione obiettivo
min 3 · (t
1+ 6) + 5 · (t
2+ 11) + 7 · (t
3+ 9) + 4 · (t
4+ 5)
Vincoli
(1,2) (1 − α
12)M + t
2− t
1≥ 6, (1 − α
21)M + t
1− t
2≥ 11
(1,3) (1 − α
13)M + t
3− t
1≥ 6, (1 − α
31)M + t
1− t
3≥ 9
(1,4) (1 − α
14)M + t
4− t
1≥ 6, (1 − α
41)M + t
1− t
4≥ 5
(2,3) (1 − α
23)M + t
3− t
2≥ 11, (1 − α
32)M + t
2− t
3≥ 9
(2,4) (1 − α
24)M + t
4− t
2≥ 11, (1 − α
42)M + t
2− t
4≥ 5
(3,4) (1 − α
34)M + t
4− t
3≥ 9, (1 − α
43)M + t
3− t
4≥ 5
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
job 1 2 3 4
p
j6 11 9 5
w
j3 5 7 4
Funzione obiettivo
min 3 · (t
1+ 6) + 5 · (t
2+ 11) + 7 · (t
3+ 9) + 4 · (t
4+ 5)
Vincoli
(1,2) (1 − α
12)M + t
2− t
1≥ 6, (1 − α
21)M + t
1− t
2≥ 11
(1,3) (1 − α
13)M + t
3− t
1≥ 6, (1 − α
31)M + t
1− t
3≥ 9
(1,4) (1 − α
14)M + t
4− t
1≥ 6, (1 − α
41)M + t
1− t
4≥ 5
(2,3) (1 − α
23)M + t
3− t
2≥ 11, (1 − α
32)M + t
2− t
3≥ 9
(2,4) (1 − α
24)M + t
4− t
2≥ 11, (1 − α
42)M + t
2− t
4≥ 5
(3,4) (1 − α
34)M + t
4− t
3≥ 9, (1 − α
43)M + t
3− t
4≥ 5
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Notazione
Orizzonte di pianificazione
I
periodo (finito) nel quale avviene la schedulazione dei job del problema
I
quando non viene esplicitamente definito dall’istanza ` e una stima di C
maxDiscretizzazione
I
L’orizzonte di pianificazione di lunghezza T ` e suddiviso in T periodi “atomici ” di durata unitaria
I
Il periodo t concide con l’intervallo di tempo [t − 1, t]
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Il problema
I
Si vuole formulare il problema 1|r
j| X
w
jU
jI
r
j: release date
I
U
j∈ {0, 1}: tardy-job
I
Orizzonte di pianificazione: T ≥ r
max+ P
j ∈J
p
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Variabili di decisione
x
jt=
( 1 se il job j termina il processamento all’istante t 0 altrimenti
Funzione obiettivo
min X
j ∈J T
X
t=dj+1
w
jx
jtESERCIZIO
Utilizzando la precedente variabile di decisione, scrivere
l’espressione della funzione obiettivo per il problema
1|r
j| P w
jC
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Variabili di decisione
x
jt=
( 1 se il job j termina il processamento all’istante t 0 altrimenti
Funzione obiettivo
min X
j ∈J T
X
t=dj+1
w
jx
jtESERCIZIO
Utilizzando la precedente variabile di decisione, scrivere
l’espressione della funzione obiettivo per il problema
1|r
j| P w
jC
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Variabili di decisione
x
jt=
( 1 se il job j termina il processamento all’istante t 0 altrimenti
Funzione obiettivo
min X
j ∈J T
X
t=dj+1
w
jx
jtESERCIZIO
Utilizzando la precedente variabile di decisione, scrivere
l’espressione della funzione obiettivo per il problema
1|r
j| P w
jC
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Vincoli
I
ciascun job deve essere processato esattamente una volta:
T
X
t=rj+pj
x
jt= 1 ∀j ∈ J
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
X
j ∈J t+pj−1
X
s=t
x
js≤ 1 ∀t = 1, . . . , T
I
x
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Vincoli
I
ciascun job deve essere processato esattamente una volta:
T
X
t=rj+pj
x
jt= 1 ∀j ∈ J
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
X
j ∈J t+pj−1
X
s=t
x
js≤ 1 ∀t = 1, . . . , T
I
x
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt
Vincoli
I
ciascun job deve essere processato esattamente una volta:
T
X
t=rj+pj
x
jt= 1 ∀j ∈ J
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
X
j ∈J t+pj−1
X
s=t
x
js≤ 1 ∀t = 1, . . . , T
I
x
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt : resume
min X
j ∈J T
X
t=dj+1
w
jx
jt TX
t=rj+pj
x
jt= 1 ∀j ∈ J
X
j ∈J t+pj−1
X
s=t
x
js≤ 1 ∀t = 1, . . . , T
x
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione x jt : caratteristiche
Svantaggi
I
Dimensione del modello: O (|J | · T ) variabili, O(|J | + T ) vincoli
Vantaggi
I
E’ possibile modellare facilmente diverse funzioni obiettivo ed alcune classi di vincoli (machine availability, precedenze, . . . )
I
Qualit` a del gap molto buono
I
Riconducibilit` a a problemi di ottimizzazione
combinatoria molto noti
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
Utilizzando le variabili x
jtformulare il problema 1|r
j| P w
jU
jrelativamente all’istanza seguente:
job 1 2 3 4
r
j4 3 5 0
p
j3 1 5 4
d
j10 6 11 8
w
j3 5 10 2
Orizzonte di pianificazione
T = 18
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
Utilizzando le variabili x
jtformulare il problema 1|r
j| P w
jU
jrelativamente all’istanza seguente:
job 1 2 3 4
r
j4 3 5 0
p
j3 1 5 4
d
j10 6 11 8
w
j3 5 10 2
Orizzonte di pianificazione
T = 18
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio
Utilizzando le variabili x
jtformulare il problema 1|r
j| P w
jU
jrelativamente all’istanza seguente:
job 1 2 3 4
r
j4 3 5 0
p
j3 1 5 4
d
j10 6 11 8
w
j3 5 10 2
Orizzonte di pianificazione
T = 18
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Funzione obiettivo
min3 · (x
1,11+ x
1,12+ · · · + x
1,18) + 5 · (x
2,7+ · · · + x
2,18) +
+ 10 · (x
3,12+ · · · + x
3,18) + 2 · (x
4,9+ · · · + x
4,18)
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
ciascun job deve essere processato esattamente una volta
PT
t=rj +pjxjt= 1 ∀j ∈ J
j = 1 x
1,7+ x
1,8+ · · · + x
1,18= 1
j = 2 x
2,4+ · · · + x
2,18= 1
j = 3 x
3,10+ · · · + x
3,18= 1
j = 4 x
4,4+ · · · + x
4,18= 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
ciascun job deve essere processato esattamente una volta
PT
t=rj +pjxjt= 1 ∀j ∈ J
j = 1 x
1,7+ x
1,8+ · · · + x
1,18= 1
j = 2 x
2,4+ · · · + x
2,18= 1
j = 3 x
3,10+ · · · + x
3,18= 1
j = 4 x
4,4+ · · · + x
4,18= 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
ciascun job deve essere processato esattamente una volta
PT
t=rj +pjxjt= 1 ∀j ∈ J
j = 1 x
1,7+ x
1,8+ · · · + x
1,18= 1
j = 2 x
2,4+ · · · + x
2,18= 1
j = 3 x
3,10+ · · · + x
3,18= 1
j = 4 x
4,4+ · · · + x
4,18= 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
ciascun job deve essere processato esattamente una volta
PT
t=rj +pjxjt= 1 ∀j ∈ J
j = 1 x
1,7+ x
1,8+ · · · + x
1,18= 1
j = 2 x
2,4+ · · · + x
2,18= 1
j = 3 x
3,10+ · · · + x
3,18= 1
j = 4 x
4,4+ · · · + x
4,18= 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
ciascun job deve essere processato esattamente una volta
PT
t=rj +pjxjt= 1 ∀j ∈ J
j = 1 x
1,7+ x
1,8+ · · · + x
1,18= 1
j = 2 x
2,4+ · · · + x
2,18= 1
j = 3 x
3,10+ · · · + x
3,18= 1
j = 4 x
4,4+ · · · + x
4,18= 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 10
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,10+ x1,11+ x1,12+ +x2,10+
+x3,10+ x3,11+ x3,12+ x3,13+ x3,14+ +x4,10+ x4,11+ x4,12+ x4,13≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 10
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,10+ x1,11+ x1,12+ +x2,10+
+x3,10+ x3,11+ x3,12+ x3,13+ x3,14+ +x4,10+ x4,11+ x4,12+ x4,13≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 10
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,10+ x1,11+ x1,12+ +x2,10+
+x3,10+ x3,11+ x3,12+ x3,13+ x3,14+ +x4,10+ x4,11+ x4,12+ x4,13≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 6
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,7+ x1,8+ +x2,6+ +x3,10+
+x4,6+ x4,7+ x4,8+ x4,9≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 6
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,7+ x1,8+ +x2,6+ +x3,10+
+x4,6+ x4,7+ x4,8+ x4,9≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 6
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,7+ x1,8+ +x2,6+ +x3,10+
+x4,6+ x4,7+ x4,8+ x4,9≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 16
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,16+ x1,17+ x1,18+ +x2,16+
+x3,16+ x3,17+ x3,18+ +x4,16+ x4,17+ x4,18≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 16
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,16+ x1,17+ x1,18+ +x2,16+
+x3,16+ x3,17+ x3,18+ +x4,16+ x4,17+ x4,18≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Esempio (cont’d)
Vincoli
I
l’unica macchina disponibile pu` o processare, senza interruzione, al pi` u un job per volta
I
t = 16
P j ∈J
Pt+pj −1
s=t xjs≤ 1 ∀t = 1, . . . , T
x1,16+ x1,17+ x1,18+ +x2,16+
+x3,16+ x3,17+ x3,18+ +x4,16+ x4,17+ x4,18≤ 1
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Variabili di decisione
y
jt=
( 1 se il job j viene processato nel periodo t 0 altrimenti
u
j=
( 1 se il job j termina oltre la sua due date 0 altrimenti
Funzione obiettivo
min X
j ∈J
w
ju
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Variabili di decisione
y
jt=
( 1 se il job j viene processato nel periodo t 0 altrimenti
u
j=
( 1 se il job j termina oltre la sua due date 0 altrimenti
Funzione obiettivo
min X
j ∈J
w
ju
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
ciascun job j deve essere processato in esattamente p
jistanti
T
X
t=rj+1
y
jt= p
j∀j ∈ J
I
durante il periodo t al pi` u un job pu` o essere in esecuzione
X
j ∈J
y
jt≤ 1 ∀t = 1, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
ciascun job j deve essere processato in esattamente p
jistanti
T
X
t=rj+1
y
jt= p
j∀j ∈ J
I
durante il periodo t al pi` u un job pu` o essere in esecuzione
X
j ∈J
y
jt≤ 1 ∀t = 1, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
ciascun job j deve essere processato in esattamente p
jistanti
T
X
t=rj+1
y
jt= p
j∀j ∈ J
I
durante il periodo t al pi` u un job pu` o essere in esecuzione
X
j ∈J
y
jt≤ 1 ∀t = 1, . . . , T
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
il processamento deve avvenire in periodi contigui (non
`
e ammessa preemption)
C
j= p
j2 + 1 p
jT
X
t=rj+1
t − 1
2
y
jtI
un job ` e in ritardo se termina oltre la sua due date T · u
j≥ C
j− d
j∀j ∈ J
I
y
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
I
u
j∈ {0, 1} ∀j ∈ J
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
il processamento deve avvenire in periodi contigui (non
`
e ammessa preemption)
C
j= p
j2 + 1 p
jT
X
t=rj+1
t − 1
2
y
jtI
un job ` e in ritardo se termina oltre la sua due date
T · u
j≥ C
j− d
j∀j ∈ J
I
y
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
I
u
j∈ {0, 1} ∀j ∈ J
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt
Vincoli
I
il processamento deve avvenire in periodi contigui (non
`
e ammessa preemption)
C
j= p
j2 + 1 p
jT
X
t=rj+1
t − 1
2
y
jtI
un job ` e in ritardo se termina oltre la sua due date T · u
j≥ C
j− d
j∀j ∈ J
I
y
jt∈ {0, 1} ∀j ∈ J , t = r
j+ p
j, . . . , T
I
u
j∈ {0, 1} ∀j ∈ J
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt : resume
minX
j ∈J wjuj
XT t=rj +1
yjt= pj ∀j ∈ J
X j ∈J
yjt≤ 1 ∀t = 1, . . . , T
Cj=pj 2 + 1
pj XT t=rj +1
t −1
2
yjt ∀j ∈ J
T · uj≥ Cj− dj ∀j ∈ J
yjt∈ {0, 1} ∀j ∈ J , t = rj+ pj, . . . , T
uj∈ {0, 1} ∀j ∈ J
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt : resume
minX
j ∈J wjuj
XT t=rj +1
yjt= pj ∀j ∈ J
X j ∈J
yjt≤ 1 ∀t = 1, . . . , T
Cj=pj 2 + 1
pj XT t=rj +1
t −1
2
yjt ∀j ∈ J
T · uj≥ Cj− dj ∀j ∈ J
yjt∈ {0, 1} ∀j ∈ J , t = rj+ pj, . . . , T
uj∈ {0, 1} ∀j ∈ J
DOMANDA
Come modifichereste la precedente formulazione per ammettere la
preemption?
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione y jt : resume
minX
j ∈J wjuj
XT t=rj +1
yjt= pj ∀j ∈ J
X j ∈J
yjt≤ 1 ∀t = 1, . . . , T
Cj=pj 2 + 1
pj XT t=rj +1
t −1
2
yjt ∀j ∈ J
T · uj≥ Cj− dj ∀j ∈ J
yjt∈ {0, 1} ∀j ∈ J , t = rj+ pj, . . . , T
uj∈ {0, 1} ∀j ∈ J
ESERCIZIO
Data l’istanza del problema di scheduling dell’esempio precedente,
utilizzando le variabili y
jt, formulare il problema 1|| P w
jT
jFormulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Indetical Parallel Machine: notazione
I
Si vuole formulare il seguente problema:
P
m| | X T
jI
in cui:
I
Insieme dei job: J = {1, . . . , n}
I
Insieme delle macchine (identiche): M = {1, . . . , m}
I
Per ogni job j:
I pj: tempo di processamento, indipendente dalla macchina su cui j viene eseguito
I dj: due date
Formulazioni di PLI S. Nocella
Formulazione disgiuntiva
Il problema Il modello matematico Formulazioni time-indexed
Nozioni preliminari Il problema Formulazione xjt Formulazione yjt Formulazione posizionale
Il problema Il modello matematico
Vincoli speciali Vincoli di precedenza Machine breakdown Esercizi
Formulazione posizionale: P m | | P T j
Variabili di decisione
x
jhk=
( 1 se j ` e processato sulla macchina h in posizione k 0 altrimenti
Vincoli del problema
I
Ciascun job deve essere schedulato, ininterrottamente, esattamente una volta
I