Anteprima
Vedrai una selezione di 10 pagine su 43
Sintesi programmazione e controllo della produzione Pag. 1 Sintesi programmazione e controllo della produzione Pag. 2
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 6
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 11
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 16
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 21
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 26
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 31
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 36
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Sintesi programmazione e controllo della produzione Pag. 41
1 su 43
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

WIP.

Algoritmo SPT Shortest process time (minimo completamento medio):

Per semplicità si considerano n operazioni con tempo di processamento pari a e ogni job include una sola

operazione. L’algoritmo di SPT ha come obiettivo quello di ridurre al minimo il tempo di completamento

medio: : = min

Il minimo tempo di completamento medio rispetto a tutte le sequenze S realizzabili è quello dato dalla

sequenza SPT ottenibile ordinando i lavori per tempi di processamento crescenti. Con questo algoritmo si

diminuiscono le attese, dunque il vantaggio principale è economico. Minimizzare il tempo di

, e

completamento medio implica la minimizzazione del flusso medio dell’attesa media del ritardo

medio dal momento che

= + + = + + = +

Se il tempo di rilascio è 0, minimizzare C significa minimizzare Wi dal momento che il tempo di

processamento è un valore fisso dipendente dalla schedulazione.

1 1 1

=1 =1 =1

∑ ∑ ∑

= − = = ( − ) = −

(con r si indica il ritardo)

Dove d è un valore costante dunque minimizzare C medio significa

anche minimizzare L medio, con L che può avere segno positivo o

negativo a seconda se è un anticipo o un ritardo

Algoritmo EDD: Earlest due date

Ora l’obiettivo della schedulazione è effettuare il sequenziamento in modo tale che tra tutti i lavori, quello

più in ritardo è il minimo possibile

= max =

r

: min = min max

r

L’obiettivo principale dunque è quello di effettuare le consegne più possibile in tempo. È un criterio di

efficacia ma con l’anticipo diventa anche un vantaggio economico. Si ordinano i lavori in funzione della data

di scadenza, metto prima i lavori con data anticipata, indipendentemente dalla loro lunghezza. Rendere

minimo il massimo ritardo equivale a dire massimizzare il minimo anticipo.

Algoritmo FCFS: First come first served

I job vengono lavorati secondo l’ordine di arrivo al centro di lavoro

Algoritmo CR: critical ratio

I job vengono lavorati secondo il rapporto CR= data di consegna/tempo di lavorazione, dal più piccolo al più

grande.

Algoritmo di moore:

L’obiettivo di questo algoritmo è rendere minimo il numero di job in ritardo. Si decide dunque di svolgere

internamente i lavori per cui non si realizza ritardo e esternalizzare quei job che non si riesce a concludere

entro la data di scadenza e per cui si preferisce quindi pagare un prezzo maggiore per il loro svolgimento

piuttosto di pagare la penale per il ritardo di consegna. Sequenza operazioni algoritmo:

1. Si ordinano i job secondo l’algoritmo EDD (cioè in ordine di due date) ottenendo una prima

sequenza 1

2. Si individua il primo lavoro in ritardo nella sequenza corrente definita

()

3. Si analizzano tutti i tempi di processamento dei job dai non in ritardo al primo in ritardo e si

individua quello più lungo ()

4. Si definisce una nuova sequenza escludendo e si ritorna al passo 2. Se non esiste nessun

+1 ()

lavoro in ritardo mi fermo cioè continuo in maniera iterativa finché non si arriva a generare ritardo

0.

Esempio:

JOB

JOB

JOB

5 2 3 2 0 5 2 3 2 0

1 5 10 3 6 7 8 1 2 3 8 5 0

2 3 8 2 3 8 11 4 4 9 9 0

3 6 7 4 4 9 15 1 5 10 14 4

4 4 9 1 5 10 20

5 2 3

= 5,2,4. Mentre 3,1 li esternalizzo

Algoritmo di Lawer: generalizzazione metodo EDD

In verità i vari job non sempre sono svincolati ma possono avere delle relazioni di precedenza. Finora i job

sono stati sempre considerati indipendenti. Per poter schedulare lavorazioni con vincoli di precedenza si

può far uso dell’algoritmo di Lawer che ha come obiettivo quello di minimizzare la massima penalità.

Individuate le relazioni di precedenza, si procede prima a fissare quei job svincolati. A tal fine si introduce la

funzione: = ∙

Funzione non decrescente dei completamenti , definita come prodotto tra attesa del job iesimo per la

tardness, differenza tra la somma totale dei tempi di processamento dei job, di cui ancora non è stata

definita la posizione, e la data prevista di consegna del job i-esimo.

= ∑ = −

=1

( )

min max à

Creo poi un insieme di lavori che non hanno successori e ne calcolo il valore assunto dalla funzione ,

quello che assume valore della funzione minore viene fissato come ultimo.

=1

=

1. Calcolo della

2. Individuo i lavori senza successori e calcolo il valore della per questi lavori

3. Fisso in ultima posizione il lavoro che ha valore minimo di , ciò dà minima penalità

4. Aggiorno il tempo di completamento T sottraendo al valore precedenza calcolato il tempo di

processamento del lavoro fissato in ultima posizione

5. Si ritorna al punto 2 e si continua in maniera iterativa fino a fissare tutti i job

Esempio: =1

JOB = = 15

1)

(15

= = 4 − 12) = 12

1 8 4 2 5 5 5

{5,6 }

→ {

2)

2 12 3 1 = = 3(15 − 13) = 6 ← à

6 6 6

3 8 2 2 3) 6 =1

= = 15 − 1 = 14

4 8 4 1 4)

5 12 1 4 (14

= = 4 − 12) = 8

5 5 5

6 13 1 3 {5,3,4} = = 2(14 − 8) = 12

→ {

5) 3 3 3

= = 1(14 − 8) = 6 ← à

4 4 4

Si continua così in maniera iterativa fino a fissare tutti i job.

Algoritmo di Jhonson:

Questo algoritmo viene implementato quando si devono effettuare lavorazioni su più macchine. Finora

infatti la macchina era unica ora si definiscono le seguenti ipotesi di partenza:

 Numero macchine=2

 Job indipendenti tra loro, non ci sono relazioni di precedenza

 →

Schema di lavorazione fisso

1 2

 Tempi di lavorazione dei job indipendenti e costanti

Si definiscono le seguenti grandezze:

= =

1 2

Si costruisce il sequenziamento delle attività partendo dalle posizioni esterne e muovendosi verso il centro.

Il sequenziamento viene fatto con l’obiettivo di ridurre le attese a monte e a valle, cioè rendere l’attesa

media più piccola possibile. Data la tabella dei JOB, si individua di volta in volta il tempo di lavorazione più

piccolo e se questo corrisponde allora il Job viene posto in testa, se corrisponde a viene posto in

1 2

coda. Esempio:

< >

JOB

1 2 1

5 5

< >

4 3 2

8 9

2 7

6 8

12 15

Con il diagramma di Gantt verifico le finestre temporali in cui ho inattività ( lì ad esempio si può inserire

manutenzione) e si può determinare il makespan complessivo:

Alle stesse conclusioni si può giungere in forma tabellare, si sviluppa la forma tabellare per le

sottosequenze:

D A E C F B D E C F A B

2 5 6 8 12 4 2 6 8 12 5 4

1 1

2 7 13 21 33 37 2 8 16 28 33 37

1 1

7 5 8 9 15 3 7 8 9 15 5 3

2 2

9 14 22 31 48 51 9 17 26 43 48 51

2 2

Stringa per descrivere il tipo di schedulazione: ///

° /° ℎ/ /

: /1// ; : /1//, , , ; : /1//° ;

: /1// ; : /2//

Se le macchine su cui lavorano i job sono 3 si utilizza Jhonson che permetterà di selezionare tra le sequenze

possibili quella avente makespan minore. Si ci riconduce a due macchine individuando la macchina con

tempi di processamento minore e utilizzando l’algoritmo di Jhonson sulle macchine rimanenti oppure

sommando i tempi di processamento di una macchina alle altre due e calcolando l’effetto congiunto.

Esempio: = 3, 4, 1, 2, 5

1

[ ]:

; {

JOB 1 3

1 2 3 4 5 = 4, 3, 1, 2, 5

2

6 9 7 7 6

JOB

1 1 2 3 4 5

2 1 5 3 4 + 8 10 12 10 10

2 1 2

[ ]:

+ ; = 3,4,1,5,2

1 2 3 3 + 6 4 11 9 5

4 3 6 6 1 3 2

3

Si va poi a verificare qual è la sequenza a t minore, confrontando il makespan totale e i tempi morti tra le

operazioni, in questo esempio si evidenzia come s3 termini prima e abbia meno tempi morti:

S3 3 4 1 2 5

S1 3 4 1 2 5 7 7 6 9 6

7 7 6 9 6 1

1 7 14 20 29 35

7 14 20 29 35

1

1 5 3 2 4 1

5 3 2 1 4 2

2 12 17 22 30 36

12 17 22 30 39

2

2 6 6 4 1 3

6 6 4 3 1 3

3 18 24 28 31 39

18 24 28 33 40

3

3

Schedulazione per Job shop:

Se si devono process

Dettagli
Publisher
A.A. 2017-2018
43 pagine
3 download
SSD Ingegneria industriale e dell'informazione ING-IND/35 Ingegneria economico-gestionale

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher lucia23111995 di informazioni apprese con la frequenza delle lezioni di Programmazione e controllo della produzione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Gisario Annamaria.