Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori...

77
Macchine parallele LAVORI M 1 M 2 M 3 J 1 J 2 J 3 J 4

Transcript of Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori...

Page 1: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Macchine parallele

LAVORI

M1

M2

M3

J1 J2

J3 J4

Page 2: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Macchine parallele

Page 3: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le macchine possono eseguire un solo lavoro alla volta. Ogni lavoro deve essere eseguito su una ed una sola macchina senza interruzione. Dati I tempi di processamento pij, i=1,…, m, del lavoro j sulla macchina i sono noti. Obiettivo Assegnare i lavori alle macchine in modo tale da minimizzare il tempo totale di completamento della macchina più carica (equivalente a minimizzare il makespan).

Scheduling su macchine parallele scorrelate R ||Cmax

Page 4: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Obiettivo Trovare un assegnamento dei lavori alle macchine che minimizza il makespan (Cmax) equivale a bilanciare il più possibile i carichi di lavoro delle macchine.

Scheduling su macchine parallele scorrelate R ||Cmax

Page 5: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esempio

1 2 3 4 51 12 17 19 15 142 30 17 16 31 173 28 27 28 23 27

Lavori

Macchine

M3

M2

M1 J1 J4

J3

t

J5

34

J2

Una soluzione ammissibile

Page 6: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esempio

1 2 3 4 51 12 17 19 15 142 30 17 16 31 173 28 27 28 23 27

Lavori

Macchine

M3

M2

M1 J1 J4

J2

t

J5

33

J3

Una soluzione ottima

Page 7: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il problema è NP-completo anche con due macchine identiche •  m=2

• 

Complessità

mipp jij ,...,1 ==

P2 | |Cmax

Page 8: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Regola LPT (Longest Processing Time): assegna alle macchine (che si rendono) disponibili i lavori non eseguiti con tempo di esecuzione più grande. Permette di trovare una soluzione che non dista più di un dato valore dall’ottimo (algoritmo approssimato)

Un algoritmo approssimato per Pm||Cmax

Page 9: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esempio regola LPT m=4

Un algoritmo approssimato per Pm||Cmax

J 1 2 3 4 5 6 7 8 9

pj 7 7 6 6 5 5 4 4 4

M3

M2

M1 J1 J7

J3

t

J2

15

J8

Soluzione LPT

M4 J4

J5

J6

J9

Page 10: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Un algoritmo approssimato per Pm||Cmax

J 1 2 3 4 5 6 7 8 9

pj 7 7 6 6 5 5 4 4 4

M3

M2

M1 J1

J7

J3

t

J2

12

J8

Soluzione Ottima

M4

J4

J5

J6

J9

Page 11: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Si può dimostrare che vale il seguente rapporto di approssimazione: Cmax(LPT): soluzione trovata con la regola LPT Cmax (OPT): soluzione ottima

Cmax(LPT )Cmax(OPT )

≤43−13m

Un algoritmo approssimato per Pm||Cmax

Page 12: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esempio regola LPT m=4

Un algoritmo approssimato per Pm||Cmax

J 1 2 3 4 5 6 7 8 9

pj 7 7 6 6 5 5 4 4 4

Cmax(LPT )Cmax(OPT )

=1512

=43−13m

=43−112

=1512

Page 13: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Consideriamo il problema di schedulare n lavori su m macchine identiche con l’obiettivo di minimizzare il makespan, e con la possibilità di interrompere l’esecuzione dei lavori. Uno stesso lavoro può quindi essere eseguito su più macchine. Il problema è formulabile come problema di Programmazione Lineare e quindi risolubile in tempo polinomiale.

Il problema con premption Pm|prmp|Cmax

Page 14: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il problema con premption Pm|prempt|Cmax

Una Formulazione di PL

Definizione delle variabili Ci , i=1,…, m, tempo di completamento della macchina i xij = tempo di lavoro j assegnato alla macchina i

{ } sistema il tutto di ntocompletame di tempo max ,...,1max imi CC ==

Page 15: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Funzione obiettivo Il tempo di completamento Ci della generica macchina i è pari a:

Ci = xijj=1

n

Cmax =max i=1,...,m Ci{ } =max i=1,...,m xijj=1

n

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

Una formulazione di PL per Pm|prempt|Cmax

Page 16: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

xiji=1

m

∑ = pj j =1,...,n

Vincoli Ogni lavoro deve essere completato

Una formulazione di PL per Pm|prempt|Cmax

Page 17: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

xiji=1

m

∑ ≤Cmax j =1,...,n

Vincoli Il tempo totale di ogni lavoro non può superare Cmax (il vincolo implica che le esecuzioni di uno stesso lavoro su diverse macchine non possono sovrapporsi)

Una formulazione di PL per Pm|prempt|Cmax

Page 18: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

xijj=1

n

∑ ≤Cmax i =1,...,m

Vincoli Il tempo totale di lavoro di ogni macchina non può superare Cmax

Una formulazione di PL per Pm|prempt|Cmax

Page 19: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

min Cmax

tale che

xiji=1

m

∑ = pj j =1,...,n

xiji=1

m

∑ ≤Cmax j =1,...,n

xijj=1

n

∑ ≤Cmax i =1,...,m

xij ≥ 0

Una formulazione di PL per Pm|prempt|Cmax

Page 20: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Una formulazione di PLI per R| |Cmax

Page 21: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Una formulazione di PLI per R||Cmax

Definizione delle variabili Ci , i=1,…, m, tempo di completamento della macchina i

{ } sistema il tutto di ntocompletame di tempo max ,...,1max imi CC ==

xij =1 se lavoro j è assegnato alla macchina i0 altrimenti

⎧⎨⎩

Page 22: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Una formulazione di PLI per R||Cmax

Funzione obiettivo Ci , i=1,…, m, tempo di completamento della macchina i

Ci = pij xijj=1

n

Cmax =max i=1,...,m Ci{ } =max i=1,...,m pij xijj=1

n

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

Page 23: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

xiji=1

m

∑ =1 j =1,...,n

Vincoli Ogni lavoro deve essere assegnato ad esattamente una macchina

Una formulazione di PLI per R||Cmax

Page 24: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

min Cmax =min max i=1,...,m Ci{ } =min max i=1,...,m pij xijj=1

n

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

tale che

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

Una formulazione di PLI per R||Cmax

Page 25: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

min Cmax =min max i=1,...,m Ci{ } =min max i=1,...,m pij xijj=1

n

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

tale che

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

Una formulazione di PLI per R||Cmax

Funzione obiettivo non

lineare

Page 26: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

min Cmax

tale che

Ci = pij xijj=1

n

∑ ≤Cmax i =1,...,m

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

Una formulazione di PLI per R||Cmax

Page 27: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Lavori

1 2 3 4 5 6 7 8 9 101 12 17 19 15 14 19 12 24 11 292 30 17 17 31 17 13 13 12 28 153 28 27 28 23 27 27 15 21 12 114 11 27 28 27 29 24 16 29 30 23

Macchine 5 16 31 31 17 18 15 28 30 27 136 28 20 23 21 13 10 10 22 24 247 20 17 28 24 30 12 16 19 21 248 14 11 15 27 17 23 30 27 12 159 26 11 28 15 22 22 29 21 21 1710 12 22 21 24 24 27 26 11 15 14

Esempio

Consideriamo un problema con 10 macchine e 10 lavori. In tabella sono riportati i tempi di processamento:

Page 28: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Formulazione con Excel

Page 29: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Formulazione con Excel

Page 30: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Formulazione con Excel

Page 31: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Soluzione del rilassamento lineare

Page 32: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Formulazione con Cplex min Cmax subject to 3 x0,0 + 7 x0,1 + 35 x0,2 + 26 x0,3 + 12 x0,4 + 84 x0,5 + 40 x0,6 + 44 x0,7 + 93 x0,8 + 56 x0,9 - Cmax <= 0 85 x1,0 + 3 x1,1 + 49 x1,2 + 34 x1,3 + 55 x1,4 + 52 x1,5 + 80 x1,6 + 57 x1,7 + 55 x1,8 + 74 x1,9 - Cmax <= 0 16 x2,0 + 74 x2,1 + 15 x2,2 + 86 x2,3 + 96 x2,4 + 95 x2,5 + 46 x2,6 + 33 x2,7 + 3 x2,8 + 51 x2,9 - Cmax <= 0 43 x3,0 + 11 x3,1 + 98 x3,2 + 84 x3,3 + 95 x3,4 + 7 x3,5 + 86 x3,6 + 13 x3,7 + 7 x3,8 + 15 x3,9 - Cmax <= 0 78 x4,0 + 76 x4,1 + 62 x4,2 + 58 x4,3 + 5 x4,4 + 91 x4,5 + 40 x4,6 + 1 x4,7 + 40 x4,8 + 49 x4,9 - Cmax <= 0 94 x5,0 + 13 x5,1 + 79 x5,2 + 97 x5,3 + 19 x5,4 + 78 x5,5 + 46 x5,6 + 71 x5,7 + 59 x5,8 + 7 x5,9 - Cmax <= 0 86 x6,0 + 61 x6,1 + 24 x6,2 + 30 x6,3 + 88 x6,4 + 21 x6,5 + 73 x6,6 + 21 x6,7 + 68 x6,8 + 58 x6,9 - Cmax <= 0 44 x7,0 + 6 x7,1 + 49 x7,2 + 50 x7,3 + 69 x7,4 + 27 x7,5 + 27 x7,6 + 89 x7,7 + 74 x7,8 + 74 x7,9 - Cmax <= 0 62 x8,0 + 76 x8,1 + 77 x8,2 + 55 x8,3 + 19 x8,4 + 19 x8,5 + 45 x8,6 + 13 x8,7 + 13 x8,8 + 35 x8,9 - Cmax <= 0 98 x9,0 + 42 x9,1 + 70 x9,2 + 82 x9,3 + 52 x9,4 + 33 x9,5 + 50 x9,6 + 89 x9,7 + 68 x9,8 + 94 x9,9 - Cmax <= 0 x0,0 + x1,0 + x2,0 + x3,0 + x4,0 + x5,0 + x6,0 + x7,0 + x8,0 + x9,0 =1 x0,1 + x1,1 + x2,1 + x3,1 + x4,1 + x5,1 + x6,1 + x7,1 + x8,1 + x9,1 =1 x0,2 + x1,2 + x2,2 + x3,2 + x4,2 + x5,2 + x6,2 + x7,2 + x8,2 + x9,2 =1 x0,3 + x1,3 + x2,3 + x3,3 + x4,3 + x5,3 + x6,3 + x7,3 + x8,3 + x9,3 =1 x0,4 + x1,4 + x2,4 + x3,4 + x4,4 + x5,4 + x6,4 + x7,4 + x8,4 + x9,4 =1 x0,5 + x1,5 + x2,5 + x3,5 + x4,5 + x5,5 + x6,5 + x7,5 + x8,5 + x9,5 =1 x0,6 + x1,6 + x2,6 + x3,6 + x4,6 + x5,6 + x6,6 + x7,6 + x8,6 + x9,6 =1 x0,7 + x1,7 + x2,7 + x3,7 + x4,7 + x5,7 + x6,7 + x7,7 + x8,7 + x9,7 =1 x0,8 + x1,8 + x2,8 + x3,8 + x4,8 + x5,8 + x6,8 + x7,8 + x8,8 + x9,8 =1 x0,9 + x1,9 + x2,9 + x3,9 + x4,9 + x5,9 + x6,9 + x7,9 + x8,9 + x9,9 =1 integers x0,0 x0,1 x0,2 .... x9,8 x9,9 end

Page 33: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

La tecnica del Rilassamento Lagrangiano nella soluzione di

problemi di PLI: Un’applicazione a R||Cmax

Page 34: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il Rilassamento Lagrangiano nei problemi di PLI

Si consideri il seguente problema di PLI, P:

z* =mincxAx ≥ b (1)Cx ≥ d (2)

x ∈ 0,1{ }n,b ∈ ℜm1,d ∈ ℜm2

c ∈ ℜn vettore riga

Page 35: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il Rilassamento Lagrangiano nei problemi di PLI

Si consideri il seguente problema di PLI, P:

z* =mincxAx ≥ b (1)Cx ≥ d (2)

x ∈ 0,1{ }n,b ∈ ℜm1,d ∈ ℜm2

c ∈ ℜn vettore riga

Supponiamo che P sia difficile da risolvere

Page 36: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Supponiamo invece che sia di facile risoluzione il problema rilassato PR:

Il Rilassamento Lagrangiano dei vincoli (1) consiste nell'inserire una combinazione pesata di tali vincoli nella funzione obiettivo

mincxCx ≥ d (2)

x ∈ 0,1{ }n

Page 37: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il Rilassamento Lagrangiano dei vincoli (1) consiste nell'inserire una combinazione pesata di tali vincoli nella funzione obiettivo. Si ottiene il seguente Problema Lagrangiano:

con λ≥0 vettore riga di dimensione m1

Supponiamo che il Problema Lagrangiano sia ancora facile da risolvere per ogni λ≥0

mincx + λ(b-Ax)Cx ≥ d (2)

x ∈ 0,1{ }n

Page 38: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

La funzione L(λ) (con λ≥0 vettore riga di dim. m1):

L(λ) =min cx + λ(b − Ax) :Cx ≥ d,x ∈ 0,1{ }n{ }

è detta funzione Lagrangiana, il vettore λ è detto vettore dei moltiplicatori di Lagrange

Page 39: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Vale la seguente proprietà: La funzione lagrangiana è un lower bound alla soluzione ottima del problema iniziale P per ogni vettore λ≥0:

L(λ) ≤ z * ∀λ ∈ ℜm1+

Page 40: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dimostrazione Infatti, per ogni vettore λ≥0 si ha:

z* =min cx : Ax ≥ b;Cx ≥ d,x ∈ 0,1{ }n{ } ≥

min cx + λ(b − Ax) : Ax ≥ b;Cx ≥ d,x ∈ 0,1{ }n{ }

Page 41: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dimostrazione(segue) Infatti, per ogni vettore λ≥0 si ha:

z* =min cx : Ax ≥ b;Cx ≥ d,x ∈ 0,1{ }n{ } ≥

min cx + λ(b − Ax) : Ax ≥ b;Cx ≥ d,x ∈ 0,1{ }n{ } ≥

min cx + λ(b − Ax) :Cx ≥ d,x ∈ 0,1{ }n{ } = L(λ)

Page 42: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Il miglior lower bound è ottenuto calcolando il Duale Lagrangiano

L(λ * ) =max L(λ) : λ ≥ 0{ }L(λ*) può essere ottenuto risolvendo un problema di ottimizzazione non differenziabile

λ

L(λ*)

L(λ)

λ*

Page 43: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Teorema. Sia z*PL il valore della soluzione otttima del rilassamento lineare di P : si ha L(λ*) ≥ z*PL

zPL =mincxAx ≥ b (1)Cx ≥ d (2)0 ≤ x ≤1

Page 44: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Teorema. Sia z*PL il valore della soluzione otttima del rilassamento lineare di P : si ha L(λ*) ≥ z*PL Dim. L(λ * ) =max min cx + λ(b − Ax) :Cx ≥ d,x ∈ 0,1{ }

n{ } : λ ≥ 0{ } ≥max min cx + λ(b − Ax) :Cx ≥ d,0 ≤ x ≤1{ } : λ ≥ 0{ }

zPL =mincxAx ≥ b (1)Cx ≥ d (2)0 ≤ x ≤1

Page 45: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Teorema. Sia z*PL il valore della soluzione otttima del rilassamento lineare di P : si ha L(λ*) ≥ z*PL Dim. L(λ * ) =max min cx + λ(b − Ax) :Cx ≥ d,x ∈ 0,1{ }

n{ } : λ ≥ 0{ } ≥max min cx + λ(b − Ax) :Cx ≥ d,0 ≤ x ≤1{ } : λ ≥ 0{ } ≥max min cx + λ(b − Ax)+µ(d −Cx) :−x ≥ −1,x ≥ 0{ } : λ ≥ 0,µ ≥ 0{ } ≥max min cx + λ(b − Ax)+µ(d −Cx)+ν(x −1) : x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =

zPL =mincxAx ≥ b (1)Cx ≥ d (2)0 ≤ x ≤1

Page 46: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dim. (segue)

L(λ * ) ≥ ...≥

max min cx + λ(b − Ax)+µ(d −Cx)+ν(x −1) : x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =max min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =W

Page 47: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dim. (segue)

L(λ * ) ≥ ...≥

max min cx + λ(b − Ax)+µ(d −Cx)+ν(x −1) : x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =max min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =W

Se (c − λA−µC +ν) < 0⇒ per x = +∞ si ha

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = −∞Se (c − λA−µC +ν) ≥ 0⇒ la soluzione ottima è x = 0 e si ha

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = bλ +dµ −ν1

Page 48: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dim. (segue)

L(λ * ) ≥ ...≥

max min cx + λ(b − Ax)+µ(d −Cx)+ν(x −1) : x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =max min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =W

Se (c − λA−µC +ν) < 0⇒ per x = +∞ si ha

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = −∞Se (c − λA−µC +ν) ≥ 0⇒ la soluzione ottima è x = 0 e si ha

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = bλ +dµ −ν1

per cui ha senso considerare solo vettori (c − λA−µC +ν) ≥ 0 in corrispondenza dei quali si ha x = 0

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = bλ +dµ −ν1

Page 49: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dim. (segue)

L(λ * ) ≥ ...≥

max min cx + λ(b − Ax)+µ(d −Cx)+ν(x −1) : x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =max min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } : λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =W

W =max bλ +dµ −ν1: c − λA−µC +ν ≥ 0,λ ≥ 0,µ ≥ 0,ν ≥ 0{ }

per cui ha senso considerare solo vettori (c − λA−µC +ν) ≥ 0 in corrispondenza dei quali si ha x = 0

min (c − λA−µC +ν)x +bλ +dµ −ν1: x ≥ 0{ } = bλ +dµ −ν1

Page 50: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Dim. (segue) 1La penultima uguaglianza discende dalla teoria della dualità.

W =max bλ +dµ −ν1: c − λA−µC +ν ≥ 0,λ ≥ 0,µ ≥ 0,ν ≥ 0{ } =1

min cx : Ax ≥ b,Cx ≥ d,0 ≤ x ≤1{ } = Z *PL

Page 51: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Calcolo del Duale Lagrangiano L* Metodo del subgradiente

Il calcolo del duale lagrangiano L*=L(λ*) può essere effettuato attraverso il metodo del subgradiente che genera una successione di punti del tipo:

λk = λk-1 + θk dk tale che limk->+∞ L(λk)= L*

Page 52: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Calcolo del Duale Lagrangiano L* Metodo del subgradiente

Nel metodo del subgradiente si ha:

λk = λk-1 + θk dk tale che limk->+∞ L(λk)= L*

dove

θ k =α k UB −L(λk−1)|| sk ||

è il passo

dk = sk

|| sk || è una direzione di salita

Page 53: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Calcolo del Duale Lagrangiano L* Metodo del subgradiente

θ k =α k UB −L(λk−1)|| sk ||

è il passo

dk = sk

|| sk || è una direzione di salita

sk è un subgradiente di L in λk−1

0 <α k ≤ 2

Page 54: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Calcolo del Duale Lagrangiano L* Metodo del subgradiente

Può essere dimostrato che un subgradiente sk di L in λk−1 è dato da:

sk = b − Axk dove

xk è la soluzione del Problema Lagrangiano L(λk−1)

Page 55: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

L(λk−1)

Page 56: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Un’applicazione al problema R||Cmax

min Cmax

tale che

Ci = pij xijj=1

n

∑ ≤Cmax i =1,...,m (1)

xiji=1

m

∑ =1 j =1,...,n (2)

xij ∈ 0,1{ } (3)

Page 57: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

L(λ) =min Cmax + λii=1

m

∑ ( pijj=1

n

∑ xij −Cmax)

tale che

xiji=1

m

∑ =1 j =1,...,n (2)

xij ∈ 0,1{ } (3)

Rilassamento Lagrangiano dei vincoli (1)

Page 58: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Rilassamento Lagrangiano dei vincoli (1)

L1(λ) + L2(λ) =

min (1− λii=1

m

∑ )Cmax : Cmax ≥ 0⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪ +

min λi pijj=1

n

∑ xij : xiji=1

m

∑ =1 ∀j, xij ∈ 0,1{ } ∀i, ji=1

m

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

=min (1− λii=1

m

∑ )Cmax + λi pijj=1

n

∑ xij : (2), (3)i=1

m

∑⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪=

L(λ) =min Cmax + λii=1

m

∑ ( pijj=1

n

∑ xij −Cmax) : (2), (3)⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪=

Page 59: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Soluzione del problema L(λ)

1.  Se Σiλi>1 ⇒ Cmax = +∞ ⇒ L1(λ) = -∞ ⇒ L(λ) = -∞ non significativo!

2. Se Σiλi ≤ 1 ⇒ L1(λ) = 0 ⇒ L(λ) = L2(λ)

Si possono distinguere i due seguenti casi:

Nel calcolo di L( λ* ) posso considerare solo il caso 2.

Page 60: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

2. Se Σiλi ≤ 1

L λ( ) = L2 λ( ) =

min λi pijj=1

n

∑ xij i=1

m

xiji=1

m

∑ =1 ∀j =1,...,n

xij ∈ 0,1{ } ∀i =1,...m; j =1,...,n

Soluzione del problema L(λ)

Il problema lagrangiano diventa quindi:

Page 61: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

L λ( ) = L2 λ( ) =min λi piji=1

m

∑ xijj=1

n

∑"#$

%$

&'$

($

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

{ } mix

x

xp

ik

m

iik

ik

m

iiki

,...,1 1,0

1

min

1

1

=∈

=

⎭⎬⎫

⎩⎨⎧

=

=

λ

L(λ) puo’ essere decomposto in n sottoproblemi, uno per ogni lavoro. Per il lavoro k si ha:

Soluzione del problema L(λ)

Page 62: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

{ } nix

x

xp

ik

m

iik

ik

m

iiki

,...,1 1,0

1

min

1

1

=∈

=

⎭⎬⎫

⎩⎨⎧

=

=

λ

L(λ) può essere decomposto in n sottoproblemi-lavori. Per il lavoro k si ha:

Soluzione del problema L(λ)

Page 63: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

La soluzione del sottoproblema associato al lavoro k consiste nell’assegnare k alla macchina i per cui è minimo il prodotto λi pik.

{ } nix

x

xp

ik

m

iik

ik

m

iiki

,...,1 1,0

1

min

1

1

=∈

=

⎭⎬⎫

⎩⎨⎧

=

=

λ

L(λ) può essere decomposto in n sottoproblemi-lavori. Per il lavoro k si ha:

Soluzione del problema L(λ)

Page 64: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Sia λ : 0 < Σiλi < 1, e sia λ’:

λ 'i = λi / λi

i=1

m

∑ i =1,...,m ⇒ λ 'i

i=1

m

∑ =1

Siano X e X ' i corrispondenti assegnamenti in L(λ) e

L(λ'), si ha:

•  X =X '

•  λ’ > λ ⇒ L(λ') > L(λ)

Osservazione 1: è sufficiente considerare solo moltiplicatori Lagrangiani tali che Σiλi = 1

Infatti:

Soluzione del problema L(λ)

Page 65: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Osservazione 2: ∀ λ vettore, λi ≥ 0 ∀ i, si ha: •  L(λ) è un Lower Bound della soluzione ottima.

Soluzione del problema L(λ)

Page 66: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Osservazione 2: ∀ λ vettore, λi ≥ 0 ∀ i, si ha: •  L(λ) è un Lower Bound della soluzione ottima.

•  Ogni soluzione ammissibile del problema Lagrangiano è un assegnamento dei lavori alle macchine, ed è quindi anche ammissibile per il problema originale R||Cmax , fornisce, cioé un Upper Bound della soluzione ottima di R||Cmax

Soluzione del problema L(λ)

Page 67: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Metodo del subgradiente Per una fissata iterazione it e vettore λit-1, sia xit la soluzione del problema Lagrangiano L(λit-1) Sia Cmax

it il massimo tempo di completamento relativo a xit Nota: in realtà, in L(λ), Cmax può assumere qualsiasi valore maggiore o uguale 0

Page 68: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Metodo del subgradiente Un subgradiente sit all’iterazione it è: Il nuovo vettore dei moltiplicatori è:

λiit =max 0,λi

it−1+θ itsiit

sit

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪, θ it = α

Cmaxit -L(λ it−1)sit

, 0 <α ≤ 2

i =1,...,m

siit = pij xij

it

j=1

n

∑ −Cmaxit =Ci

it −Cmaxit i =1,...,m

Page 69: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

Page 70: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Dove xij e pari ad 1 se il lavoro j e assegnato alla macchina i e 0 altrimenti. Si scriva

per esteso la formulazione del problema utilizzando i dati di Tabella 2. Si e↵ettui il

rilassamento lagrangiano dei vincoli

5Pj=1

pijxij D , per i = 1, . . . , 3. Si calcoli il valore

della funzione lagrangiana L(�) in corrispondenza del vettore dei moltiplicatori �, con

componenti

�1 = 1/7, �2 = 4/7 e �3 = 2/7.

2

λ1 = 3/7 λ2 = 2/7 λ3 = 2/7

Page 71: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Soluzione del problema lagrangiano: Il lavoro j è assegnato alla macchina i per cui è minimo il prodotto λi pij

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

L λ( ) = L2 λ( ) =min λi piji=1

m

∑ xijj=1

n

∑"#$

%$

&'$

($

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

λ1 = 3/7 λ2 = 2/7 λ3 = 2/7

Page 72: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Soluzione del problema lagrangiano: Il lavoro j è assegnato alla macchina i per cui è minimo il prodotto λi pij j1 è assegnato alla macchina 2 j2 è assegnato alla macchina 3 j3 è assegnato alla macchina 1 j4 è assegnato alla macchina 1 j5 è assegnato alla macchina 2 L(λ)=(3(25+10)+2(15+10)+2*20)/7=195/7=27,85 e quindi: LB=28

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

L λ( ) = L2 λ( ) =min λi piji=1

m

∑ xijj=1

n

∑"#$

%$

&'$

($

xiji=1

m

∑ =1 j =1,...,n

xij ∈ 0,1{ }

λ1 = 3/7 λ2 = 2/7 λ3 = 2/7

Page 73: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

La soluzione del problema lagrangiano è un assegnamento ammissibile per R| |Cmax. j1 è assegnato alla macchina 2 j2 è assegnato alla macchina 3 j3 è assegnato alla macchina 1 j4 è assegnato alla macchina 1 j5 è assegnato alla macchina 2 Si ha quindi:

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

Cmax =C1 = p13 + p14 = 35

λ1 = 3/7 λ2 = 2/7 λ3 = 2/7

Page 74: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

j1 è assegnato alla macchina 2 j2 è assegnato alla macchina 3 j3 è assegnato alla macchina 1 j4 è assegnato alla macchina 1 j5 è assegnato alla macchina 2 Subgradiente s:

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

s1it = p1 j x1 j

it

j=1

5

∑ −Cmaxit =C1

it −Cmaxit = 35−35 = 0

s2it = p2 j x2 j

it

j=1

5

∑ −Cmaxit =C2

it −Cmaxit = 25−35 = −10

s3it = p3 j x3 j

it

j=1

5

∑ −Cmaxit =C3

it −Cmaxit = 20−35 =-15

λ1 = 3/7 λ2 = 2/7 λ3 = 2/7

Page 75: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Quanto vale la soluzione ottima del problema originale?

min Cmax subject to 40 x0,0 + 30 x0,1 + 25 x0,2 + 10 x0,3 + 30 x0,4 - Cmax <= 0 15 x1,0 + 40 x1,1 + 50 x1,2 + 30 x1,3 + 10 x1,4 - Cmax <= 0 50 x2,0 + 20 x2,1 + 45 x2,2 + 30 x2,3 + 20 x2,4 - Cmax <= 0 x0,0 + x1,0 + x2,0 =1 x0,1 + x1,1 + x2,1 =1 x0,2 + x1,2 + x2,2 =1 x0,3 + x1,3 + x2,3 =1 x0,4 + x1,4 + x2,4 =1 x0,5 + x1,5 + x2,5 =1 integers x0,0 x0,1 x0,2 x0,3 x0,4 x1,0 x1,1 x1,2 x1,3 x1,4 x2,0 x2,1 x2,2 x2,3 end

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

Page 76: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Quanto vale la soluzione ottima del problema originale?

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1

Nodes Cuts/ Node Left Objective IInf Best Integer Best Bound ItCnt Gap * 0+ 0 165.0000 25.0000 7 84.85%* 0+ 0 135.0000 25.0000 7 81.48% 0 0 28.5135 4 135.0000 28.5135 7 78.88%* 0+ 0 35.0000 28.5135 7 18.53% 0 0 cutoff 35.0000 28.5135 7 18.53%Elapsed time = 0.05 sec. (0.15 ticks, tree = 0.00 MB, solutions = 3) Root node processing (before b&c): Real time = 0.03 sec. (0.09 ticks)Parallel b&c, 4 threads: Real time = 0.03 sec. (0.01 ticks) Sync time (average) = 0.00 sec. Wait time (average) = 0.00 sec.

MIP - Integer optimal solution: Objective = 3.5000000000e+01 Solution time = 0.08 sec. Iterations = 7 Nodes = 0

Page 77: Macchine parallele - dii.unisi.itdetti/Lucidi_mac_par.pdf · Descrizione del problema n lavori devono essere processati da m macchine diverse (unrelated) disposte in parallelo. Le

Esercizio (segue)

Quanto vale la soluzione del Rilassamento Lineare?

min Cmax subject to 40 x0,0 + 30 x0,1 + 25 x0,2 + 10 x0,3 + 30 x0,4 - Cmax <= 0 15 x1,0 + 40 x1,1 + 50 x1,2 + 30 x1,3 + 10 x1,4 - Cmax <= 0 50 x2,0 + 20 x2,1 + 45 x2,2 + 30 x2,3 + 20 x2,4 - Cmax <= 0 x0,0 + x1,0 + x2,0 =1 x0,1 + x1,1 + x2,1 =1 x0,2 + x1,2 + x2,2 =1 x0,3 + x1,3 + x2,3 =1 x0,4 + x1,4 + x2,4 =1 x0,5 + x1,5 + x2,5 =1 end

Cmax= 28,51

Nome.........................................

Cognome......................................

Prova scritta di Metodi di Ottimizzazione (Mod. Modelli per la

pianificazione delle attivita) del 28/6/2012

1

Si consideri la seguente istanza del problema 1|rj|Lmax

Table 1: dati dell’istanza

j pj rj dj1 5 0 6

2 4 1 5

3 6 4 15

4 3 11 14

Si determini la soluzione ottima applicando un opportuno algoritmo.

2

Si consideri la seguente istanza di R||Cmax con 3 macchine, M1, M2, ed M3, e 5 lavori,

j1, j2, j3, j4, j5. I tempi di processamento, pij, di ogni job j su ogni macchina i sono

riportati nella tabella seguente.

Table 2: Tempi di processamento pij

pij j1 j2 j3 j4 j5M1 40 30 25 10 30M2 15 40 50 30 10M3 50 20 45 30 20

Una formulazione del problema e la seguente

minD5P

j=1pijxij D for i = 1, . . . , 3

3Pi=1

xij = 1 for j = 1, . . . , 5

xij 2 {0, 1} for j = 1, . . . , 5 and i = 1, . . . , 3

1