Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in...

79
Controllo e scheduling delle operazioni Paolo Detti Dipartimento di Ingegneria dell’Informazione Università di Siena

Transcript of Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in...

Page 1: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Controllo e scheduling delleoperazioni

Paolo DettiDipartimento di Ingegneria dell’Informazione

Università di Siena

Page 2: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

PRODOTTOPRODOTTO

PROCESSOPROCESSO

FLUSSO DI PRODUZIONEFLUSSO DI PRODUZIONE

ORGANIZZAZIONEORGANIZZAZIONE

COORDINAMENTOCOORDINAMENTO

PIANIFICAZIONEPIANIFICAZIONE

SCHEDULINGSCHEDULING quandoquando

che cosache cosa chichi

Organizzazione della produzione

comecome

Page 3: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Sono dati:• Un insieme di lavori (job): ognuno costituito da una o più operazioni• Un insieme di risorse (macchine) che devono essere utilizzate per eseguire i lavori

Pianificazione della produzione: schedulazione di dettaglio

Page 4: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Scheduling delle operazioni

Scelta dei tempi di inizio e fine di ogni operazione su ogni macchina

Page 5: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Consideriamo:3 lavori e 3 macchine

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

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

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

Sequenza delle operazionioperazione=(macchina, tempo)

Job

Scheduling delle operazioni

Page 6: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Diagramma di Gantt

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

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

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

Sequenza OperazioniJob

21

10

2

5

1

15 20

3

26

1

28

3

3

12 22

M3

M2

M1

Page 7: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Diagramma di Gantt

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

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

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

Sequenza OperazioniJob

M3

M2

M1 23

2

1

12

2

5

1

17 20

3

21

1

23

3

Page 8: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Classificazione dei problemi di scheduling

Caratterizzazione dei lavori:

• tempo di processamento pj (pkj)

• data di consegna (duedate o deadline) dj

• data di rilascio (release date) rj

• peso del lavoro (priorità) wj

• tempo di set-up tra due lavori sij

Page 9: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Classificazione dei problemi di scheduling

Caratterizzazione delle risorse e dell’ambiente produttivo:

• macchina singola• macchine parallele

� identiche � scorrelate� uniformi

• Flow shop• Job shop

Page 10: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Macchina singola

LAVORI M

Page 11: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Macchine parallele

LAVORI

M1

M2

M3

Page 12: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Macchine in linea (Flow shop)

LAVORI M1 M2 Mm

Page 13: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

EsempioM1 M2

IN OUT

Page 14: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

EsempioM1 M2

IN OUT

Page 15: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Job shop

LAVORI

M1 M2

M3

Page 16: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Dato il lavoro i con release date e duedate:

• 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(lavori)

Page 17: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Li < 0 di

Li > 0

Cianticipo ritardo

Ci- di

Li(Ci)

Ritardo del lavoro i : Li = Ci-di

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

Lateness(Ritardo)

Page 18: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

• somma dei tempi di completamento: ΣΣΣΣiCi

• flow time totale: ΣΣΣΣi 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(sistema)

Page 19: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Equivalenza tra misure

Misure di prestazione

( )�����=====

−+=−=n

iii

n

ii

n

ii

n

ii

n

ii drFdCL

11111

Page 20: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Misure di prestazione

{ }{ } { }{ }

{ } { }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):

Page 21: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Scheduling su singola macchina

Descrizione del problemaUn insieme di n operazioni deve essere eseguito su una macchina

DatiI tempi di processamento pi, i=1,…,n, del lavoro i sulla macchina sono noti.

ObiettivoSequenziare le operazioni sulla macchina in modo da minimizzare la somma dei tempi di completamento.

min ΣΣΣΣiCi

Page 22: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Gantt del Sequenziamento

p4 pn

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

tempoop1

C1

p1

op2

C2

p2

C3

p3

op4

C4 Cn

opn

Sequenza S

op3

Obiettivo: min ΣΣΣΣiCi

Page 23: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

pn

p4 pn

tempo

op1

C1

p1

op2

C2

p2

C3

p3

op4

C4 Cn

opnop3

op1tempoC3

op3

p3

op4

C4

p4

Cn

opn

C2

p1

C1

op2

p2

op1

se p2 < p1 allora scambiando le op. 1 e 2 si haC2< C1 e C1= C2

C2 + C1 < C2 + C1

S

S’

Page 24: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Regola SPT (shortest processing time first)

SPT: sequenzia prima le operazioni che hanno tempo di esecuzione più piccolo

Consente di minimizzare la somma dei tempi di completamento ΣΣΣΣiCi di n operazioni (lavori) su una macchina

Page 25: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Esempio

2710168pi

54321Lavori

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

Page 26: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Scheduling su singola macchinaDescrizione del problemaUn insieme di n operazioni devono essere eseguiti su una macchina

DatiI tempi di processamento pi, i=1,…,n, del lavoro i sulla macchina sono noti.Peso wi, i=1,…,n, associato ad ogni lavoro.

ObiettivoSequenziare le operazioni sulla macchina in modo da minimizzare:

min ΣΣΣΣiwiCi

Page 27: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

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 ΣΣΣΣwiCi

i

iwp

Page 28: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

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

2. Il lavoro i è sequenziato subito dopo k

Regola WSPT

DpwpwpwAwwBppAwpAwBobf

ppACpAC

iikikkki

ikikk

ikikk

++++++=+++++=

++=+=

)()()(..

' e '

DpwpwpwAwwBDppAwpAwBobf

ppACpAC

kkikiiki

kikii

kikii

++++++=++++++=

++=+=

)()()(..

e

Page 29: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

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

Regola WSPT

)2.(.)1.(.

0)2.(.)1.(.

obfobf

pwpwobfobf kiik

>�

>−=−

Page 30: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Macchine parallele

LAVORI

M1

M2

M3

J1 J2

J3 J4

Page 31: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Descrizione del probleman lavori devono essere processati da m macchine diverse (unrelated) disposte parallelo.Le macchine possono eseguire un solo lavoro alla volta. Ogni lavoro deve essere eseguito su una ed una sola macchina senza interruzione.

DatiI tempi di processamento pij, i=1,…, m, del lavoro j sulla macchina i sono noti.

ObiettivoAssegnare 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

Page 32: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

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 33: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

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 34: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Il problema è NP-completo anche con due macchine identiche

• m=2

Complessità

mipp jij ,...,1 ==

Page 35: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Definizione delle variabili

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

Una formulazione di PLI

���

=altrimenti 0

macchina alla assegnato è lavoro il se 1 ij xij

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

Nota: il tempo di completamento della macchina più carica corrisponde al tempo di completamento del lavoro che finisce per ultimo

Page 36: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Definizione delle variabili

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

Formulazione del Problema

�=

=n

jijiji xpC

1

{ }���

���

== �=

==

n

jijijmiimi xpCC

1,...,1,...,1max maxmax

Page 37: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Una formulazione del Problema

{ }

{ }1,0

1 1

che tale

maxminmin

1

1,...,1max

==

��

��

���

���

=

=

==

ij

m

iij

n

jijijmi

x

,...,njx

xpC

Page 38: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Una formulazione di PLI

{ }1,0

1 1

1

che tale min

1

1

==

=≤=

=

=

ij

m

iij

n

jijiji

x

,...,njx

,...,miWxpC

W

Page 39: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI

CAPI DI ABBIGLIAMENTO

Page 40: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Lo scenario produttivo

• La PAL ZILERI produce capi diabbigliamento per l’alta moda

• Ogni capo è costituito da vari pezzidi tessuto (figure)

• Le figure vanno tagliate da un nastroche scorre a velocità costante v0

Page 41: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Lo scenario produttivo

• La disposizione delle figure sulnastro è nota a priori (cutting stockrisolto a monte)

• Il taglio delle figure è effettuato da un insieme di macchine identichedisposte in linea

• Ciascuna macchina ha un’area dilavoro di lunghezza Ws

Page 42: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Piazzamento

Page 43: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Lo scenario produttivo

Ws

figure

Stazioni di lavoro

1

Area di lavoro

•V0 = 12.5 cm/sec• Ws = 2.5 m

2 m

Page 44: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Il problema decisionale

• Il problema è quello di assegnare le figure alle macchine, e di sequenziare i tagli suciascuna macchina

• Ciascun taglio deve avvenire entro unadeterminata finestra temporale (diversa a seconda della macchina cui è assegnatala figura) di ampiezza Ws/v0

Page 45: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Il problema decisionale

• Tra il taglio di una figura e la successiva intercorre un tempo diswitch dipendente dalla sequenza

• Gli obiettivi:– minimizzare il numero di macchine– bilanciare i carichi di lavoro

Page 46: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Il problema decisionale

• L’insieme delle figure relative a unostesso capo e la loro disposizione sultessuto (piazzamento) giungono in tempo reale

• L’assegnamento va deciso in pocotempo (30 sec.)

• Problema decisionale on line

Page 47: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Modello combinatorio

1

11

2

2

23

3

3

4

4

455

66

6

6

Page 48: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Modello combinatorio

Page 49: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Modello combinatorio

Page 50: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Metodologie di soluzione

• Due approcci risolutivi• Approccio esatto, basato su metodi

di programmazione a numeri interi• Approccio euristico, basato su

algoritmi di instradamento push epull

Page 51: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Approccio esatto

• Il problema è simile a un problema divehicle routing con time windows

• Generalizzazione del problema del commesso viaggiatore

• Problema difficile

Page 52: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Approccio esatto

• Sia m l’insieme di tutti i sottoinsiemi di figure che possono essere tagliati da una solamacchina entro la propria finestra temporale(itinerari)

• Ad ogni itinerario è associato un dato insiemedi figure da tagliare

• xk è una variabile di decisione che è pari a 1 se l’itinerario k è assegnato ad una macchina

• La somma Σk xk esprime il numero di itinerari, ossia il numero di macchine

Page 53: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Sia {1,…, n} l’insieme di figure di un piazzamento.

Sia A = {A1,…,Am} una matrice n × m, in cui la generica colonna Ak descrive un itinerario possibile per una macchina. A ha componenti:

Una formulazione di set covering

1 se la figura j è assegnata all’itinerario kajk=

0 altrimenti

Page 54: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

{ } ,..., mkx

,..., njxa

x

k

m

kkjk

m

kk

1 1,0

1 1

min

1

1

=∈

=≥�

=

=

Sia xk pari a 1 se la colonna Ak è selezionata e 0 altrimenti. Una formulazione del problema è:

(Barnhart C. et al., 1994; Chen, Z.L. and Powell,W.B., 1999; Van den AkkerJ.M. et al., 1999)

Una formulazione di set covering

Page 55: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Approccio esatto

• m è il numero (elevatissimo) dipossibili itinerari

• Anche enumerandoli tutti, occorrerisolvere un problema intero dielevatissime dimensioni>>> generazione di colonne

Page 56: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

,...,mkx,...,mkx

,...,njxa

x

k

k

m

kkjk

m

kk

1 0 1 1

1 1

min

1

1

=≥=≤

=≥�

=

=

Primale Duale

Generazione di Colonne

1 0

1 1

max

1

1

,...,nju

,...,mkua

u

j

n

jjjk

n

jj

=≥

=≤�

=

=

Sia u* la soluzione del problema duale (ristretto).

Un vincolo duale è violato dalla corrente soluzione duale se:

11

* >�=

n

jjk j

ua

Page 57: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Problema di separazione per generare un vincolo duale violatodalla corrente soluzione duale

Un metodo di generazione di colonne

{ }

macchina una su tutte eseguite essere

possono 1)( scelte figure le

1,0

max1

*

=

�=

j

j

n

jj

a

achetale

uaj

Page 58: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Il problema di separazione per generare un vincoloduale violato e quindi una nuova colonna del primaleè:

Un metodo di generazione di colonne

||1*jj

jjijj

uw

Uwsr

=�

Nota che rj e dj sono agreeable (le finestre temporali diogni figura sono tutte lunghe Ws/σ), cioè:

ijij ddrr ≤⇔≤

Page 59: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Problema di separazione senza tempi di set-up (1|rj|ΣwjUj )

Esiste un algoritmo di programmzione dinamica(Lawler and Moore, 1969) per il risolvere il problema1||ΣwjUj

Tale algoritmo può essere esteso al problema1|rj|ΣwjUj se release date e duedate dei lavori sonoagreeable

Page 60: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Un algoritmo di programmazione dinamica

Supponiamo di ordinare i job in modo che d1 ≤≤≤≤ d2 ≤≤≤≤ … ≤≤≤≤ dn (r1 ≤≤≤≤r2 ≤≤≤≤ … ≤≤≤≤ rn)

Sia P(j, t) la soluzione ottima del problema 1|rj|ΣwjUj in cui sonoconsiderati solo i primi j job, ed in cui il tempo totale dicompletamento dei job in tempo è al più t

( )( )

( ) ( ){ }( )

t ,

,1; ,1max

,1

, *

>≤≤+−+−−

+<−=

jj

jjjjj

jj

ddjPdtprtjPuptjP

prttjP

tjP

Page 61: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Metodologie di soluzione

Approccio euristico basato sualgoritmi di instradamento push epull

Page 62: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Applicazione euristica push

1. Si individua la prossima figura daassegnare

2. La figura seleziona una macchina3. La macchina inserisce la figura nel

proprio schedule

Page 63: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

push: ordinamento delle figure

• LPT in ordine decrescente di tempo di taglio

• EDD in ordine di uscita dal sistema• ERD in ordine di entrata nel sistema

Page 64: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

• ti istante in cui Mi diviene disponibile• Sij = max{rij, ti + cij}

primo istante in cui può iniziare la figura j se assegnata a Mi

• Qij = Sij - ti (idle)

Page 65: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

tti

Set-up

Idle: Qij = Sij - ti

Ultima figura tagliata

Sij

Earliest start time per la figura j

ti+cij

Page 66: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

push: selezione della macchina

La figura j corrente sceglie la macchina:

• min Ci che si libera prima• min Wi con il minimo carico di lavoro• min Qij che è in grado di tagliare la figura

j col minimo idle

Page 67: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Applicazione euristica pull

1. Si individua la prossima macchina a cui allocare un lavoro

2. La macchina seleziona una figura3. La macchina inserisce la figura nel

proprio schedule

Page 68: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

pull: ordinamento delle macchine

La macchina che opera la scelta è quella:

• min Ci che si libera prima

Page 69: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

pull: selezione della figura

La macchina Mi corrente sceglie la figura, tra quelle non allocate:

• EDD che uscirà prima dal sistema• ERD che entrerà prima nel sistema• min Qij la figura j che è in grado di tagliare col minimo idle

Page 70: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Inserimento della figura

• In ambedue gli approcci, quando sidetermina un accoppiamentofigura/macchina, la figura deveessere inserita nello schedule corrente della macchina

Page 71: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Inserimento della figura

• INS1 (EDD) le figure sono tagliate in ordine di entrata nel sistema

• INS2 (FIFO) le figure sono tagliate nell’ordine in cui sono state allocate

Page 72: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Ordinamentodelle figure

Selezione macchina Inserim.

Push1 LPT min WiEDD

Push2 EDD min Qij FIFO

Push3 EDD min CiFIFO

Push4 EDD min WiFIFO

Push5 ERD min WiEDD

Euristiche push

Page 73: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Euristiche pull

Ordinamento dellemacchine

Selezione figure Inserim.

Pull 1 min Ci EDD FIFO

Pull 2 min Ci min Qij FIFO

Pull 3 min Ci ERD FIFO

Page 74: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

)( jkjjj ptDE +−=

Indici di performance

earliness della figura fjprocessata sulla macchina Mk

jBf EEj ∈

= minmin

n

E

E Bfj

j

�∈=

tempo di completamento del piazzamento

( )imi CC ,..,1maxmax ==

minima earliness del piazzamento

earliness media del piazzamento

m numero di macchine

Page 75: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

Istanze reali

• Istanza R1: 624 figure raggruppate in 12 piazzamenti

• Istanza R2: 896 figure raggruppate in 16 piazzamenti

Page 76: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

7

Push1 Push2 Push3 Push4 Push5

Emin 1.7 5.9 6.2 1.4

E 10.1 11.7 13.5 11.4 9.8

Cmax 31.5 28.2 28.4 29.2 30.8

m 6 6 6 6 6

Algoritmi push per l’istanza R1

Page 77: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

7.4

Pull1 Pull2 Pull3

Emin 6.9 5.9

E 11.2 15 13.5

Cmax 28.5 29.1 28.3

m 6 7 6

Algoritmi pull per l’istanza R1

Page 78: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

6.5

Push1 Push2 Push3 Push4 Push5

Emin 1.3 6.2 5.3 0.9

E 10.7 12.4 14.2 12.1 10.4

Cmax 35 29.2 29.3 32.3 34.7

m 7 7 7 7 7

Algoritmi push per l’istanza R2

Page 79: Controllo e scheduling delle operazioni - diism.unisi.itdetti/ContrdiProcDetti.pdf · • Lavori in ritardo U i= 1 se C i > d i U ... I tempi di processamento p ij, i=1,…, m, del

6.1

Pull1 Pull2 Pull3

Emin 6.3 6.2

E 11.4 14.3 14.1

Cmax 29 30.1 29.5

m 7 7 7

Algoritmi pull per l’istanza R2