• Non ci sono risultati.

Formulazioni di PLI per problemi di scheduling

N/A
N/A
Protected

Academic year: 2021

Condividi "Formulazioni di PLI per problemi di scheduling"

Copied!
82
0
0

Testo completo

(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

Formulazioni di PLI per problemi di scheduling

Salvatore Nocella

[email protected]

October 26, 2006

(2)

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

(3)

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

j

C

j I

Dati 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

(4)

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

j

I

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

k

oppure t

k

+ p

k

≤ t

j

Attenzione! Siamo interessati a formulazioni di

Programmazione LINEARE Intera

(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

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

j

(6)

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

(7)

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 |

2

 variabili e vincoli

Svantaggi

I

Qualit` a del gap pessima: dovuta alla presenza del

coefficiente M

(8)

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

j

6 11 9 5

w

j

3 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

(9)

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

j

6 11 9 5

w

j

3 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

(10)

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

j

6 11 9 5

w

j

3 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

(11)

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

j

6 11 9 5

w

j

3 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

(12)

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

max

Discretizzazione

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]

(13)

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

j

U

j

I

r

j

: release date

I

U

j

∈ {0, 1}: tardy-job

I

Orizzonte di pianificazione: T ≥ r

max

+ P

j ∈J

p

j

(14)

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

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

j

x

jt

ESERCIZIO

Utilizzando la precedente variabile di decisione, scrivere

l’espressione della funzione obiettivo per il problema

1|r

j

| P w

j

C

j

(15)

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

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

j

x

jt

ESERCIZIO

Utilizzando la precedente variabile di decisione, scrivere

l’espressione della funzione obiettivo per il problema

1|r

j

| P w

j

C

j

(16)

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

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

j

x

jt

ESERCIZIO

Utilizzando la precedente variabile di decisione, scrivere

l’espressione della funzione obiettivo per il problema

1|r

j

| P w

j

C

j

(17)

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

(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

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

(19)

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

(20)

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

j

x

jt T

X

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

(21)

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

(22)

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

jt

formulare il problema 1|r

j

| P w

j

U

j

relativamente all’istanza seguente:

job 1 2 3 4

r

j

4 3 5 0

p

j

3 1 5 4

d

j

10 6 11 8

w

j

3 5 10 2

Orizzonte di pianificazione

T = 18

(23)

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

jt

formulare il problema 1|r

j

| P w

j

U

j

relativamente all’istanza seguente:

job 1 2 3 4

r

j

4 3 5 0

p

j

3 1 5 4

d

j

10 6 11 8

w

j

3 5 10 2

Orizzonte di pianificazione

T = 18

(24)

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

jt

formulare il problema 1|r

j

| P w

j

U

j

relativamente all’istanza seguente:

job 1 2 3 4

r

j

4 3 5 0

p

j

3 1 5 4

d

j

10 6 11 8

w

j

3 5 10 2

Orizzonte di pianificazione

T = 18

(25)

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

)

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

j

u

j

(41)

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

j

u

j

(42)

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

j

istanti

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

(43)

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

j

istanti

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

(44)

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

j

istanti

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

(45)

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

j

2 + 1 p

j

T

X

t=rj+1

 t − 1

2

 y

jt

I

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

(46)

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

j

2 + 1 p

j

T

X

t=rj+1

 t − 1

2

 y

jt

I

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

(47)

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

j

2 + 1 p

j

T

X

t=rj+1

 t − 1

2

 y

jt

I

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

(48)

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

(49)

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?

(50)

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

j

T

j

(51)

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

Indetical Parallel Machine: notazione

I

Si vuole formulare il seguente problema:

P

m

| | X T

j

I

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

(52)

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

Ciascuna macchina pu` o processare, al pi` u, un job per

volta

Riferimenti

Documenti correlati

Per un sistema omogeneo la prima alternativa non si realizza mai, dunque o esiste un’unica soluzione, la banale, o esistono infi- nite soluzioni.. Come conseguenza del teorema di

• tecnica time-sharing (Linux): il tempo di CPU è suddiviso in intervalli (definiti dal timer interrupt) e, in ogni intervallo, è possibile eseguire al più un processo..

• tecnica time-sharing (Linux): il tempo di CPU è suddiviso in intervalli (definiti dal timer interrupt) e, in ogni intervallo, è possibile eseguire al più un processo..

Se non conosciamo z* ma solo z’ , un LB sulle soluzioni ci aiuta a valutare la bontà di x’ (certificazione di qualità): gap piccolo soluzione “buona”. Valutazione

Anche se si può dimostrare che in molti casi il numero di turni non può essere lo stesso per tutti (esempio banale: 5 turni e 2 persone). … e bilanciamento come numero di

[r]

[r]

a La sufficienza viene raggiunta con un punteggio di almeno 20 punti in ciascuno dei due gruppi di esercizi e con un totale di almeno 51 punti; b il punteggio massimo `e 100; c