Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: -...

63
Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività Paolo Detti Dipartimento di Ingegneria dell’Informazione e Scienze Matematiche Università di Siena

Transcript of Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: -...

Page 1: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Metodi di Ottimizzazione mod. Modelli per la pianificazione

delle attività

Paolo Detti Dipartimento di Ingegneria dell’Informazione e Scienze

Matematiche Università di Siena

Page 2: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Il corso ha lo scopo di fornire le tecniche per la formulazione e la soluzione di particolari problemi di ottimizzazione discreta, relativi alla pianificazione temporale di attività. http://www.dii.unisi.it/~detti/ModPianAttivitaMod2.htm

Docente: Paolo Detti Contatti: [email protected] http://www.dii.unisi.it/~detti/ Ricevimento su appuntamento

Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività

Page 3: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Programma

•  Introduzione ai problemi di scheduling. •  Problemi di Scheduling a macchina singola. •  Algoritmi esatti e complessità. Problemi bi-obiettivo. • Problemi di scheduling a macchine parallele:

•  Modelli di Programmazione Lineare Intera. •  Metodi esatti ed euristici per il calcolo della soluzione. •  Tecnica del Rilassamento Lagrangiano.

•  Problemi di Gestione dei Progetti. •  Definizione di progetto. •  Il problema del calcolo della durata di un progetto. •  Definizioni, modelli e metodi di soluzione per problemi di Resource Contrained Project Scheduling (RCSP). •  Metodi esatti e approcci euristici per il RCPSP. •  Utilizzo di software di ottimizzazione avanzati (CPLEX).

Page 4: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele - Appunti sul Rilassamento Lagrangiano - Appunti sulla gestione dei progetti -  Esercizi sulla gestione dei progetti - Lucidi delle lezioni. Testi di approfondimento: •  Pinedo, M., Scheduling, 1995, Wiley. •  Bianco, L., Caramia, M., Metodi quantitativi per il Project Management, 2006, Hoepli.

Testi e materiale didattico

Page 5: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

La prova d'esame prevede una prova scritta ed una orale. Al termine del corso, prima dell'appello ufficiale, si svolgono due prove scritte che comprendono esercizi e domande di teoria. A seconda del voto conseguito nelle prove, si ha diritto a superare l’esame o a sostenere un orale "ridotto".

Prova d’esame

Page 6: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Problemi di Scheduling

Per Problema di Scheduling si intende un problema decisionale in cui il fattore tempo è visto come risorsa (scarsa) da allocare in modo ottimo a determinate attività (lavori e/o operazioni).

Page 7: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Sono dati: •  Un insieme di attività (lavori, jobs), ognuna costituita da una o più operazioni •  Un insieme di risorse (macchine, machines) che devono essere utilizzate per eseguire i lavori

Problemi di Scheduling

Page 8: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Scheduling delle operazioni

Problema: Determinare i tempi di inizio e fine di

ogni operazione su ogni macchina

Obiettivo/i: Perseguire determinate misure di

performance

Page 9: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

PRODOTTO

PROCESSO

FLUSSO DI PRODUZIONE

ORGANIZZAZIONE

COORDINAMENTO

PIANIFICAZIONE

SCHEDULING quando?

che cosa? chi?

Un campo di applicazione: Organizzazione della produzione

come?

Page 10: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Nell'industria meccanica, i centri di lavorazione devono effettuare lavorazioni (taglio, fresatura, tornitura) su vari pezzi che vengono montati sui centri stessi. Diverse operazioni richiedono tempi diversi, e/o diversi tipi di utensili, che possono comportare un certo tempo per la riconfigurazione (set-up) dei centri di lavorazione. Uno dei problemi che si considerano in questo ambito consiste nel determinare l'ordinamento dei pezzi sui centri in modo da terminare tutte le lavorazioni prima possibile.

Problemi di Scheduling Esempi

Page 11: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Uno dei compiti di un sistema operativo è quello di disciplinare l'accesso alla CPU dei diversi programmi di calcolo. Ciascun programma può avere una certa priorità. L'obiettivo tipico del sistema operativo è quello di gestire l'insieme dei programmi in modo tale da minimizzare il tempo complessivo di attesa dei programmi, tenendo conto della loro importanza relativa (converrà privilegiare i programmi a priorità più elevata). In questa particolare applicazione, il sistema operativo potrà eventualmente decidere di interrompere certi programmi per consentire il completamento di altri. Questa modalità operativa prende il nome di preemption.

Problemi di Scheduling Esempi

Page 12: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

In un'officina di carrozzeria, vi sono quattro stazioni, dedicate rispettivamente a messa in forma, ribattitura, verniciatura, essiccatura a forno. In ciascuna stazione è attivo un operaio, che può lavorare su una sola autovettura alla volta. In una data giornata di lavoro, devono essere riparate un certo numero di autovetture, ciascuna delle quali richiede il servizio da parte di alcune stazioni, in un dato ordine (ad esempio non si può riverniciare la carrozzeria prima di avere aggiustato le parti danneggiate). Il problema consiste nel gestire le varie operazioni in modo da terminare tutte le lavorazioni nel minor tempo possibile.

Problemi di Scheduling Esempi

Page 13: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Consideriamo: 3 lavori e 3 macchine. Ogni lavoro è costituito da una sequenza di operazioni. Obiettivo: Terminare tutti i lavori nel minor tempo possibile.

Job Sequenza delle operazioni operazione=(macchina, tempo)

J1 (M1,10) (M2,5) (M3,6)

J2 (M2,5) (M1,8) -

J3 (M1,2) (M3,10) (M2,4)

Scheduling delle operazioni

Page 14: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Diagramma di Gantt Job Sequenza Operazioni

J1 (M1,10) (M2,5) (M3,6)

J2 (M2,5) (M1,8) - J3 (M1,2) (M3,10) (M2,4)

2 1

10

2

5

1

15 20

3

26

1

28

3

3

12 22

M3

M2

M1

Page 15: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Diagramma di Gantt Job Sequenza Operazioni

J1 (M1,10) (M2,5) (M3,6)

J2 (M2,5) (M1,8) - J3 (M1,2) (M3,10) (M2,4)

M3

M2

M1 2 3

2

1

12

2

5

1

17 20

3

21

1

23

3

Page 16: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Classificazione dei problemi di scheduling

Caratterizzazione delle risorse (macchine) e dell’ambiente produttivo:

•  macchina singola •  macchine parallele

§  identiche §  scorrelate §  uniformi

•  Flow shop

•  Job shop

Page 17: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Macchina singola

LAVORI M

Page 18: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Macchine parallele

LAVORI

M1

M2

M3

Page 19: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Macchine parallele

Page 20: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Macchine in linea (Flow shop)

LAVORI M1 M2 Mm

Page 21: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Flow shop

Page 22: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Esempio M1 M2

IN OUT

Page 23: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Esempio M1 M2

IN OUT

Page 24: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Job shop

LAVORI

M1 M2

M3

Page 25: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Job shop

Page 26: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Classificazione dei problemi di scheduling

Caratterizzazione dei lavori:

•  tempo di processamento pi (phi se dipende dalla

macchina h su cui è eseguito)

•  data di consegna (duedate o deadline) di

•  data di rilascio (release date) ri

•  peso del lavoro (priorità) wi

Page 27: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Classificazione dei problemi di scheduling

Altre caratteristiche: •  Tempo di set-up t ra due lavor i eseguit i consecutivamente su una macchina skj (ad es. per la riconfigurazione delle macchine). •  Preemption. In certi casi è consentito interrompere un job per permettere l'esecuzione di un lavoro più urgente. Il problema in questo caso si dice preemptive. •  Vincoli di precedenza. In molti casi esistono vincoli di precedenza tra task di un job (come accade nei casi del flow shop o del job shop), o tra diversi job.

Page 28: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Dato il lavoro i con release date e duedate: •  il tempo di fine del lavoro è detto tempo di completamento, Ci •  tempo di attraversamento: Fi= Ci – ri

•  Lateness: Li= Ci – di •  Tardiness: Ti= max{ 0, Ci – di }

•  Earliness: Ei= max{ 0, di – Ci } •  Lavori in ritardo: Ui= 1 se Ci > di Ui= 0 se Ci ≤ di

Misure di prestazione sui lavori

Page 29: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Li < 0 di

Li > 0

Ci anticipo ritardo

Ci- di

Li(Ci)

Lateness del lavoro i : Li = Ci - di

di: tempo di consegna (duedate) per il lavoro i

Lateness (Ritardo/Anticipo)

Page 30: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

di

Ti ≥ 0

Ci anticipo ritardo

Ci- di

Ti(Ci)

Ritardo del lavoro i : Ti =max{0, Ci – di }

di: tempo di consegna (duedate) per il lavoro i

Tardiness (Ritardo)

Page 31: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

•  somma dei tempi di completamento

(pesata): Σi (wi ) Ci

•  flow time totale (pesato): Σi (wi )Fi

•  massima Lateness: Lmax = maxi Li •  massima Tardiness: Tmax = maxi Ti

• Tardiness totale (pesata): Σi (wi ) Ti

•  makespan: Cmax = maxi Ci •  numero di lavori in ritardo Σi Ui

Misure di prestazione del sistema (da minimizzare)

Page 32: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Equivalenza tra misure Si ha: e quindi:

Misure di prestazione

min Lii=1

n

∑ =min Cii=1

n

∑ (− dii=1

n

∑ ) =min Fii=1

n

∑ (+ ri −di( )i=1

n

∑ )

( )∑∑∑∑∑=====

−+=−=n

iii

n

ii

n

ii

n

ii

n

ii drFdCL

11111

Page 33: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

{ }{ } { }{ }

{ } { }0,max0,,...,max0,max,...,0,maxmax

0,,...,max

max1

1

1max

LLLLL

TTT

n

n

n

==

=

==

Una sol. che minimizza Lmax minimizza anche Tmax (ma, in generale, non è vero il viceversa):

Misure di prestazione

Page 34: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Nella descrizione dei problemi di scheduling si utilizza una notazione sintetica a tre campi: •  a: identifica il sistema di macchine (1=macchina singola, P,Q,R=macchine parallele identiche, uniformi o scorrelate, F=flow shop, J=job shop). •  b: le eventuali caratteristiche particolari dei lavori (preemption, ri= release date, di= due date, prec=precedenze). •  c: la funzione obiettivo del sistema.

Notazione a tre campi

cba ||

Page 35: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

• 

• 

• 

Notazione a tre campi

1| prec,ri | Cii∑

∑i

iiTwpreemptionF ||

max||CP

Page 36: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Ipotesi: •  tutti i lavori sono disponibili dall’inizio (ri=0); •  ogni lavoro può avere un peso wi

Scheduling su singola macchina

Problema: un insieme di n lavori devono essere eseguiti da una macchina

Obiettivo: minimizzare la somma (pesata) dei tempi di comp. Σi (wi)Ci

Page 37: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Scheduling su singola macchina (caso senza pesi, wi=0) 1//ΣiCi

Descrizione del problema Un insieme di n lavori deve essere eseguito su una macchina Dati I tempi di processamento pi, i=1,…,n, del lavoro i sulla macchina sono noti. Obiettivo Sequenziare i lavori sulla macchina in modo da minimizzare la somma dei tempi di completamento.

min ΣiCi

Page 38: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Gantt del Sequenziamento

p4 pn

Cn=Σi pi: tempo di completamento totale (makespan)

tempo op1

C1

p1

op2

C2

p2

C3

p3

op4

C4 Cn

opn

Sequenza S

op3

Obiettivo del sistema: min ΣiCi

Page 39: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Algoritmo di soluzione

p4 pn

tempo

op1

C1

p1

op2

C2

p2

C3

p3

op4

C4 Cn

opn op3 S

Supponiamo che p2 < p1

Page 40: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

pn

op1 tempo C3

op3

p3

op4

C4

p4

Cn

opn

C’2

p1

C’1

op2

p2

op1

se p2 < p1 allora scambiando i lavori 1 e 2 si ha C’2< C1 e C’1= C2

C’2 + C’1 < C2 + C1

S’

Algoritmo di soluzione p4 pn

tempo

op1

C1

p1

op2

C2

p2

C3

p3

op4

C4 Cn

opn op3 S

Page 41: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Algoritmo di soluzione: Regola SPT

(shortest processing time first)

SPT: sequenzia prima i lavori che hanno tempo di esecuzione più piccolo La regola SPT consente di minimizzare la somma dei tempi di completamento ΣiCi di n lavori su una macchina e quindi di risolvere all’ottimo il problema ∑

iiC||1

Page 42: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Algoritmo di soluzione: Regola SPT

(shortest processing time first)

SPT: sequenzia prima i lavori che hanno tempo di esecuzione più piccolo Complessità dell’algoritmo (per n lavori):

)log( nnO

Page 43: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Esempio

Lavori 1 2 3 4 5

pi 8 16 10 7 2

Sequenza ottima (5, 4, 1, 3, 2)

Page 44: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Scheduling su singola macchina (caso wi non nulli ) 1//ΣiwiCi

Descrizione del problema Un insieme di n lavori devono essere eseguiti su una macchina Dati I tempi di processamento pi, i=1,…,n, del lavoro i sulla macchina sono noti. Peso wi, i=1,…,n, associato ad ogni lavoro. Obiettivo Sequenziare i lavori sulla macchina in modo da minimizzare:

min ΣiwiCi

Page 45: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Algoritmo di soluzione: Regola WSPT (weighted shortest processing time)

WSPT: sequenzia prima i lavori che hanno il più piccolo rapporto:

Consente di minimizzare la somma pesata dei tempi di completamento ΣiwiCi

i

iwp

Complessità dell’algoritmo (per n lavori):

)log( nnO

Page 46: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Sia pi/ wi > pk/ wk consideriamo i due casi: 1.  Il lavoro k è sequenziato subito dopo i

Dimostrazione dell’ottimalità della regola WSPT

DpwpwpwAwwBDppAwpAwBobf

ppACpAC

kkikiiki

kikii

kikii

++++++

=++++++=

++=+=

)()()(..

e

Jk

S

Ji

Ck Ci A

Page 47: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

2. Il lavoro i è sequenziato subito dopo k

Dimostrazione dell’ottimalità della regola WSPT

C 'k = A+ pk e C 'i = A+ pk + pif .ob.= B +wk (A+ pk )+wi (A+ pk + pi )+D =

B + (wi +wk )A+wkpk +wipk +wipi +D

Ci’= Ck

Ck’

S’

Jk Ji

A

Page 48: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Jk

S

Ji

Ck Ci

Ci’= Ck

Ck’

S’

Jk Ji

Dimostrazione dell’ottimalità della regola WSPT

A

A

Page 49: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Sia pi/ wi > pk/ wk consideriamo i due casi: 1.  Il lavoro k è sequenziato subito dopo i

Dimostrazione dell’ottimalità della regola WSPT

DpwpwpwAwwBDppAwpAwBobf

ppACpAC

kkikiiki

kikii

kikii

++++++

=++++++=

++=+=

)()()(..

e

2. Il lavoro i è sequenziato subito dopo k C 'k = A+ pk e C 'i = A+ pk + pif .ob.= B +wk (A+ pk )+wi (A+ pk + pi )+D =

B + (wi +wk )A+wkpk +wipk +wipi +D

Page 50: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Se pi/ wi > pk/ wk allora wkpi > wi pk

)2.(.)1.(.

0)2.(.)1.(.

obfobf

pwpwobfobf kiik

>

>−=−

Dimostrazione dell’ottimalità della regola WSPT

Page 51: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Esempio

Sequenza ottima (4, 5, 1, 2, 3)

Lavori 1 2 3 4 5 pi 8 16 10 7 2 wi 3 5 2 7 1

pi/wi 2.67 3.20 5 1 2

Page 52: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Ipotesi: •  tutti i lavori sono disponibili dall’inizio (ri=0) •  ad ogni lavoro è assegnata una data di consegna di

Scheduling su singola macchina Problema: un insieme di n lavori devono essere eseguiti da una macchina

Obiettivo: minimizzare la massima Lateness min Lmax

Page 53: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Lr < 0 dr

Lr > 0

Cr

anticipo ritardo

Cr- dr

Lr(Cr)

Ritardo del lavoro r : Lr = Cr-dr

dr : tempo di consegna (due date) dovuto per il lavoro r

Lateness (Ritardo/Anticipo)

Page 54: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Obiettivo: minimo “ritardo” massimo (min Lmax)

Li

Cj

Lk

Lj

Ck dk di dj

Ci

Lmax = maxr Lr

Page 55: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Regola EDD (Earliest due date)

EDD: sequenzia i lavori in ordine di due date non decrescente (cioè, sequenzia prima i lavori con duedate più piccola)

Consente di minimizzare la massima lateness min Lmax e quindi risolve il problema 1/ /Lmax

Page 56: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

EDD min maxi {Li}

Ji

S

Jk

dk > di Ci Ck di

Dati due lavori i e k, supponiamo che dk > di Sia S la sequenza in cui k viene prima di i

Page 57: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Dati due lavori i e k, supponiamo che dk > di Sia S la sequenza in cui k viene prima di i

Sia S’ la sequenza in cui i viene prima di k

EDD min maxi {Li}

Ji

S

Jk

dk > di Ci Ck di

dk

Ck’= Ci

Ci’ di

S’

Ji Jk

Page 58: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

max (Lk’, Li’) = max (C’k – dk , Ci’- di)= max (Ci – dk , Ci’- di)

Ck’=Ci

dk

Ck’= Ci

Ci’ di

S’: Ji Jk

Regola EDD

Page 59: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

max (Lk’, Li’) = max (C’k – dk , Ci’- di)= max (Ci – dk , Ci’- di) ≤ Ci - di

dk> di

Ci’< Ci Ck’=Ci

dk

Ck’= Ci

Ci’ di

S’: Ji Jk

Regola EDD

Page 60: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

max (Lk’, Li’) = max (C’k – dk , Ci’- di)= max (Ci – dk , Ci’- di) ≤ Ci - di

dk> di

Ci’< Ci Ck’=Ci

dk

Ck’= Ci

Ci’ di

S’: Ji Jk

max (Lk, Li) max (Ck - dk, Ci - di) = Ci - di ≤

Regola EDD

Page 61: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Regola EDD

Dati i lavori j1 ...jn

Si hanno le seguenti date di consegna:

d2 d1 d3 d4 dn

Page 62: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

d2 d1 d3 d4 dn

j1 j2 j3 j4 jn

si sequenziano i lavori nello stesso ordine delle due date

Regola EDD

Page 63: Metodi di Ottimizzazione mod. Modelli per la ...detti/IntroSched.pdf · Dispense ed esercizi: - Appunti sui problemi di scheduling - Articolo sullo scheduling di macchine parallele

Esempio

Lavori 1 2 3 4 5

di 20 9 16 18 30

pi 10 7 6 5 20

Sequenza ottima (2, 3, 4, 1, 5)