Title: Minimizzazione Makespan ossia Tempi di Set-up
1Modello Macchina Singola
- Minimizzazione Makespan ossia Tempi di Set-up
- Metodo Euristico Modello di Karg e Thompson
- Ipotesi del Modello
- N job indipendenti
- date di consegna non rilevanti
- non è ammessa preemption
- tempi di set-up dipendenti dalla sequenza dei jobs
2Modello Macchina Singola Modello di Karg e
Thompson
- Passi dellAlgoritmo
- Step 1. Selezionare Casualmente due jobs.
- Step 2. Selezionare un nuovo job e provare a
disporlo nella sequenza corrente - Step 3. Per ogni posizione provata calcolare il
set-up complessivo - Step 4. Allocare il job nella posizione che
garantisce i più bassi tempi di set-up - Step 5. Se vi sono ancora job da allocare vai al
passo 2. Altrimenti fine.
3Esempio Algoritmo Euristico di Karg e Thompson
- Siano dati 7 Jobs J1, J2, J3, J4, J5, J6, J7,
con i tempi di set-up
- Step 1. Si sceglie casualmente la sequenza
(J2,J3). Set-up1 - Step 2. Si sceglie J5 e si prova a disporlo
- (J5, J2, J3)-gtSet-up516
- (J2, J5, J3)-gt Set-up213
- (J2, J3, J5)-gt Set-up145
- Step 3. Si sceglie la sequenza (J2,J5,J3)
4Modello Macchina Singola Modello di Karg e
Thompson
- Complessità computazionale bassa
- Limite Soluzione dipendente dalla scelta della
coppia iniziale di job e dall'ordine con cui
vengono inseriti gli altri job. - Soluzione E possibile rieseguirlo più volte a
partire da coppie di jobs diverse
5Modello Macchina Singola
- Minimizzazione del numero di Job in Ritardo
- Metodo Euristico Modello di Hodgson
- Ipotesi del Modello
- N job indipendenti
- date di consegna sono note e sono rilevanti
- non è ammessa preemption
- tempi di set-up nulli o indipendenti dalla
sequenza e quindi inclusi nei tempi di lavorazione
6Modello Macchina Singola Modello di Hodgson
- Dati dellAlgoritmo
- Input Tempi di lavorazione dei job, Date di
Consegna - Outputs
- ESequencing dei jobs non in ritardo
- Ll'insieme dei job in ritardo, da sequenziare
in qualsiasi ordine dopo i jobs relativi
all'insieme E - Variabili Intermedie E, L
7Modello Macchina Singola Modello di Hodgson
- Passi dellAlgoritmo
- Step 1. Creare l'insieme Eelenco dei job per
data di consegna crescente, L - Step 2. In base all'ordine di sequenziamento
individuato in E, determinare i tempi di
completamento di ciascun job, ed individuare i
job in ritardo - Step 3. Se in E non vi sono job in ritardo
allora E E e LL. STOP. - Se in E vi è almeno un job in ritardo, sia k il
primo job in ritardo nella sequenza. - Step 4. Identificare il job con tempo di
lavorazione più alto entro i primi k job (job k
compreso) della sequenza E. Rimuovere questo job
e metterlo in L. GOTO Step 2.
8Esempio dell'Algoritmo Euristico di Hodgson
- Step 1. E1,2,3,5,4, L
- Prima Iterazione
- Step 2. Job 1 (1), Job 2 (6), Job 3 (9), Job 5
(16), Job 4 (25) - Step 3. Primo job in ritardo, Job k3
- Step 4. E1,3,5,4, L2
- Seconda Iterazione
- Step 2. Job 1 (1), Job 3 (4), Job 5 (10), Job 4
(19). - Step 3. Primo job in ritardo, Job k4
- Step 4. E1, 3, 5, L2, 4
9Esempio dell'Algoritmo Euristico di Hodgson
- Terza Iterazione
- Step 2. Job 1 (1), Job 3 (4), Job 5 (10)
- Step 3. Nessun Job in ritardo. STOP
- Soluzione di Schedulazione E1,3,5, L2,4
- Possibili schedulazioni 1,3,5,2,4 o 1,3,5,4,2
10Modello Macchina Singola
- Minimizzazione del Flowtime Medio
- Ipotesi del Modello
- N job indipendenti
- date di consegna non rilevanti
- non è ammessa preemption
- tempi di set-up sono nulli od indipendenti dalla
sequenza - Metodo di Ottimizzazione Algoritmica
- I jobs vengono ordinati in ordine crescente in
base ai tempi di lavorazione (complessità O(N2)) - Soluzione Ottima
- Regola di Carico per i Job Shop
11Modello Macchine Parallele Identiche
- Minimizzazione Makespan
- Metodo di Ottimizzazione Algoritmica Modello di
Mc Naughton - Ipotesi del Modello
- M macchine identiche parallele
- N job indipendenti
- date di consegna non sono rilevanti
- è ammessa preemption
- tempi di set-up nulli o indipendenti dalla
sequenza e quindi inclusi nei tempi di
lavorazione - un job non può essere lavorato contemporaneamente
su più macchine
12Modello Macchine Parallele Identiche Modello di
Mc Naughton
- Risultato teorico su cui si basa la soluzione
algoritmica - sotto le ipotesi del modello, il minimo makespan
è
- Caratteristiche dell'Algoritmo
- L'algoritmo ammette più di una soluzione
- In ogni caso la soluzione fornita è ottima
13Modello Macchine Parallele Identiche Modello di
Mc Naughton
- J1(5), J2(6), J3(4), J4(3)
14Modello Macchine Parallele Identiche Modello di
Mc Naughton
- J1(2), J2(11), J3(4), J4(3)
15Modello Macchine Parallele Identiche Modello di
Mc Naughton
- Passi dell'Algoritmo
- Step 1. Selezionare un job da iniziare sulla
macchina 1 al tempo 0 - Step 2. Se la macchina corrente è occupata per un
tempo pari a M, allora terminare la
schedulazione sulla macchina, e GOTO Step 3. In
caso contrario, alla fine della lavorazione
corrente, segliere uno tra i job rimasti e
schedularlo sulla stessa macchina, senza lasciare
tempi morti. GOTO Step 2. - Step 3. Se tutti i job sono stati schedulati,
ossia non vi sono più macchine, allora STOP.
Altrimenti, asegnare il tempo di processo
rimanente del job su cui si è operata la
preemption, alla macchina successiva a partire
dall'istante 0.
16Esempio dell'Algoritmo di Mc Naughton
- J1(5), J2(6), J3(4), J4(3)
- due Macchine
- Una soluzione fornita dall'algoritmo
17Modello Macchine Parallele Identiche
- Minimizzazione Makespan in assenza di preemption
- Metodo di Ottimizzazione Analitico
- Ipotesi del Modello
- M macchine identiche parallele
- N job indipendenti
- date di consegna non sono rilevanti
- non è ammessa preemption
- tempi di set-up nulli o indipendenti dalla
sequenza e quindi inclusi nei tempi di lavorazione
18Modello Macchine Parallele Identiche
- Soluzione Programmazione Lineare Intera
Assenza di preemption
- dove
- yMakespan
- xji1 se il job j è assegnato alla macchina i,
xji0 altrimenti - tjtempo di lavorazione del job j.
- MN vincoli
- MN1 variabili
19Flow Shop
- Minimizzazione del Makespan
- Metodo Euristico Algoritmo Euristico di
Campbell, Dudek e Smith - Si basa sullalgoritmo di ottimizzazione di
Johnson - Metodo di Ottimizzazione Algoritmico Specifico
20Flow Shop Modello di Johnson
- Il sistema è un flow shop con
- 2 macchine
- N job
- date di consegna non rilevanti
- non è ammessa preemption dei job
- tempi di set-up nulli o indipendenti dalla
sequenza e dunque inglobati nei tempi di
lavorazione - non sono ammessi sorpassi
- Obiettivo Minimizzazione del Makespan
- Metodo di Ottimizzazione Algoritmico basata su
Teorema di Johnson
21Teorema di Johnson
- Ipotesi Dato un Routing fisso
- Macchina1, Macchina2
- Teorema Il job X precede il job Y in una
sequenza ottima se viene verificata la
condizione - mintX1,tY2?mintX2,tY1
- tji tempo di lavorazione del job j sulla
macchina i
22Esempio Teorema Johnson
- J1(M1(1),M2(2))
- J2(M1(3),M2(6))
- mint11,t22min1,61
- mint12,t21min2,32
- mintX1,tY2?mintX2,tY1
- mint11,t22ltmint12,t21
- mint21,t12min3,22
- mint22,t11min6,11
- mintX1,tY2?mintX2,tY1
- mint21,t12gtmint22,t11
23Esempio Teorema Johnson
- J1(M1(8),M2(2))
- J2(M1(5),M2(1))
- mint21,t12min5,22
- mint22,t11min1,81
- mintX1,tY2?mintX2,tY1
- mint21,t12gtmint22,t11
- mint11,t22min8,11
- mint12,t21min2,52
- mintX1,tY2?mintX2,tY1
- mint11,t22ltmint12,t21
24Algoritmo di Ottimizzazione di Johnson
- Step 0. Considerare un insieme S contenente tutti
i job non ancora schedulati. Inizialmente la
sequenza di schedulazione è SP - Step 1. Trovare il minj tj1,tj2 tra tutti i Job
j di S (j1,..,N) - Step 2. Se il minimo tempo è sulla macchina 1,
allora inserire il relativo job j nella prima
posizione disponibile della sequenza di
schedulazione SP. Goto 4 - Step 3. Se il minimo tempo è sulla macchina 2,
allora inserire il job j nellultima posizione
disponibile della sequenza di schedulazione SP - Step 4. Rimuovere il job j da S. Se S non è vuoto
goto 1. Altrimenti fine. - Le situazioni di parità vengono sempre gestite in
modo casuale - Lalgoritmo fornisce sempre la soluzione ottima
25Esempio Algoritmo di Johnson
- J1(M1(3),M2(6))
- J2(M1(5),M2(2))
- J3(M1(1),M2(2))
- J4(M1(6),M2(6))
- J5(M1(7),M2(5))
- Step 0. SJ1,J2,J3,J4,J5, SP
- Step.1 minj tj1,tj2t31 tra tutti i job j di S
- Step.2. Il job 3 viene inserito nella prima
posizione disponibile di SPJ3 - Step 3. SJ1,J2,J4,J5)
- Step 4. minj tj1,tj2t22
- Step 5. Il job 2 viene inserito nellultima
posizione disponibile di SPJ3, ..,J2 - Step 6. SJ1,J4,J5)
- Step 7. minj tj1,tj2t12
- Step 8. Il job 1 viene inserito nella prima
posizione disponibile di SPJ3, J1,..,J2
26Esempio Algoritmo di Johnson
- Step 9. SJ4,J5)
- Step 10. minj tj1,tj2t52
- Step.11. Il job 5 viene inserito nellultima
posizione disponibile di SPJ3, J1,,J5,J2 - Step 12. SJ4)
- Step 13. minj tj1,tj2t41
- Step.11. Il job 4 viene inserito nella prima
posizione disponibile di SPJ3, J1,J4,J5,J2 - Soluzione Finale Makespan 24
27Algoritmo Euristico di Campbell, Dudek e Smith
- Il sistema è un flow shop con
- M macchine
- N job
- date di consegna non rilevanti
- non è ammessa preemption dei job
- tempi di set-up nulli o indipendenti dalla
sequenza - non sono ammessi sorpassi
- Obiettivo Minimizzazione del Makespan
28Algoritmo Euristico di Campbell, Dudek e Smith
- Si compone di L (L1, 2,.., M-1) passi
- Ad ogni passo L, viene generata una schedulazione
completa per la quale viene calcolato il makespan - Tra tutte le M-1 schedulazioni complete viene
scelta quella con il makespan migliore
29Algoritmo Euristico di Campbell, Dudek e Smith
- Calcolo della Schedulazione Completa al passo L
- Applicazione dellalgoritmo di Johnson a N job e
2 macchine fittizie. I tempi di processamento dei
job j (j1,..,N) sulle due macchine fittizie sono
dati da
j1,..,N
30Esempio Algoritmo Euristico di Campbell, Dudek e
Smith
- J1(M1(3),M2(9),M3(4))
- J2(M1(5),M2(8),M3(8))
- J3(M1(9),M2(3),M3(7))
- J4(M1(7),M2(5),M3(6))
- J5(M1(4),M2(12),M3(6))
-
- M3, Numero di Passi L1,2
31Esempio Algoritmo Euristico di Campbell, Dudek e
Smith
- t319, t327
- t417, t426
- t514, t526
- Applicando lalgoritmo di Johnson si ottiene
- J1, J5, J2, J3, J4
- Makespan53
32Esempio Algoritmo Euristico di Campbell, Dudek e
Smith
- t2113, t2216
- t3112, t3210
- t4112, t4211
- t5116, t5218
- Applicando lalgoritmo di Johnson si ottiene
- J1, J2, J5, J4, J3
- Makespan51
- Soluzione Finale
33Job Shop
- Problema estremamente complesso
- Regole di Carico Scegliere il job da caricare su
una macchina (quando si libera) tra quelli in
attesa di essere lavorati - Differenza con i precedenti approcci la regola
di carico non implica necessariamente un
sequencing, ma solo il dispatching del job con
priorità più bassa o più alta.
34Job Shop
- Vantaggi dellApproccio basato sulle Regole di
Carico - può essere applicato a qualunque impianto, con
qualunque numero di job, di macchine e qualunque
tipo di routing - può essere esteso anche ad altri modelli (flow
shop, open shop, e macchine singole/parallele) - è semplice
- permette di personalizzare la valutazione delle
priorità - Svantaggi dellApproccio basato sulle Regole di
Carico - difficoltà nella scelta delle priorità in
relazione alla funzione da minimizzare - non è possibile avere una stima sugli istanti di
completamento dei job
35Regole di Carico
- Modalità Operative
- Regole Statiche. I parametri su cui la regola
opera (assegnazione della priorità) non variano
nel tempo - Regole Dinamiche. Hanno senso solo in impianti
monitorati da calcolatore - Visibilità
- Regole Locali. Utilizza informazioni relative
unicamente alla macchina su cui fare il
dispatching - Regole Globali. Utilizzano informazioni relative
ad altre macchine dell'impianto (lunghezza delle
code di attesa, tempo di processamento rimanente,
etc.)
36Regole di Carico
- Regole che considerano il tempo di lavorazione o
il tempo di set-up - Regola SPT (Shortest Processing Time) viene
caricato il job che ha tempo di lavorazione più
breve sulla macchina. - Regola TSPT (Truncated SPT) viene applicata la
regola SPT, ma quando un job rimane in attesa in
coda per un tempo superiore di una soglia, esso
viene caricato. - Regole che considerano la data di consegna
- Regola EDD (Earliest Due Date) viene caricato il
job che ha data di consegna più vicina.
37Regole di Carico
- Regole che considerano il tempo di accesso e la
data di consegna - Regola S/OPN (Slack per Operation) viene
caricato il job che ha il minimo valore del
rapporto
- slack data consegna - istante attuale - tempo
lavorazione rimanente - Regola SPTEX (SPT with Expediting) i job sono
distinti in due classi di priorità. Nella prima
classe sono inclusi i job soggetti ad anticipo di
consegna o già in ritardo. Vengono schedulati
(con la regola SPT) tutti i job della prima
classe, e solo in assenza di essi, la regola SPT
viene applicata ai job della seconda classe.
38Regole di Carico
- Regole che considerano la situazione
dell'impianto - Regola NINQ (Number In Next QUEUE) viene
caricato il job che ha la lavorazione successiva
sulla macchina con il minor numero di job in
coda. - Regola WINQ (Work In Next QUEUE) viene caricato
il job che ha la lavorazione successiva sulla
macchina con la coda di attesa più breve in
termini di carico di lavoro (non come numero di
job !).
39Regole di Carico
- Regole che considerano la situazione dei job
- Regola FIFO
- Regola LIFO
- Regola FROP (Fewest Remaining Operations) viene
caricato il job con il minor numero di operazioni
ancora da eseguire (più vicino al completamento). - Regola MROP (Most Remaining Operations) viene
caricato il job con il maggior numero di
operazioni ancora da eseguire. - Regole che considerano fattori economici
- Regola COVERT viene caricato il job che ha il
massimo valore del rapporto(costo di
ritardo)/(tempo rimanente).
40Regole di Carico
- Combinazioni Lineari di Regole di Carico
- L'impiego di regole composte è di scarsa
rilevanza pratica - è necessario tarare i coefficienti nella
combinazione lineare - i coefficienti potrebbero non essere costanti ma
dipendere da alcune caratteristiche del job - diversi studi hanno dimostrato che i benefici
ottenibili dall'uso delle combinazioni lineari
tra le regole di carico sono molto ridotti.
41Programmazione della Produzione Just in Time
(JIT)
- Caratteristiche Principali
- Sviluppato dalla Toyota Motor Corporation
- Gestione di Produzione di tipo Pull
- Ordini di Produzione a Valle del Sistema
Produttivo - Riduzione delle scorte (si spostano verso i
fornitori)
42Programmazione della Produzione Just in Time
(JIT)
43Descrizione di un Sistema Kanban a 2 Cartellini
44Descrizione di un Sistema Kanban a 2 Cartellini
- Cartellino (Kanban) di Produzione
- Cartellino (Kanban) di Prelievo
- Passi Operativi
- Nel reparto Ri si e verificata la necessità di
un prodotto fornito dal reparto Ri-1 - Un kanban di Prelievo indica il prodotto
richiesto. - Un contenitore vuoto con associato il kanban di
Prelievo viene inoltrato al magazzino del reparto
Ri-1 a monte (1). - Viene cercato un contenitore pieno con cartellino
di produzione corrispondente al kanban di
prelievo (2). Il cartellino di produzione viene
staccato e sostituito con quello di prelievo. - il kanban di produzione viene posto in una
cassetta di raccolta (3), secondo una certa
priorità. - il contenitore vuoto viene lasciato in una
apposita area (4). - il contenitore pieno viene trasferito al reparto
Ri a valle che ha fatto richiesta (5) - i kanban di produzione vengono prelevati secondo
una certa priorità dal cassetto di raccolta. Essi
costituiscono gli ordini di produzione del
reparto Ri-1 (6) - i prodotti completati dal reparto Ri-1 vengono
messi nei contenitori vuoti in attesa di essere
prelevati (7)
45Programmazione della Produzione JIT
- Vantaggi del Sistema JIT
- Assenza di Schedulazione di Breve Periodo
- Produzione del Numero di Prodotti Richiesto
- Nessun Accumulo (WIP). Le scorte sono ridotte al
minimo sufficiente a garantire le richieste dei
reparti a valle. - Nessuna Contesa sulle Risorse
- Il meccanismo kanban permette di far fronte a
piccole variazioni delle richieste di produzione. - Imprese giapponesi che usano il JIT da più di 5
anni hanno osservato - incremento della produttività del 30
- riduzione degli investimenti in scorte del 60
- riduzione dello spazio occupato del 15
46Programmazione della Produzione JIT
- Limiti dei Sistemi Kanban (JIT)
- Necessità di Livellamento della Produzione (non
sono ammessi flussi produttivi irregolari) - Vicinanza dei Fornitori (Reparti a Monte)
- Criticità del Sistema di Trasporto
- Tempi di Regime Elevati (5-10 anni)
- Rigidità della produzione e dei ritmi produttivi
(Il meccanismo kanban non è in grado di far
fronte a forti variazioni di richieste di
produzione)
47Programmazione della Produzione JIT
- Applicazioni di Sistemi Kanban
- Toyota Motor Corporation (ideatori e primi
utilizzatori) - General Motors (riduzione delle giacenze da 8 a 2
miliardi per anno) - Kawasaki (Nebraska). Successo del kanban system
dal 1980. - Yamaha (Giappone) (riduzione del tempo di
produzione da 20 a 10 giorni)