71
UNIVERSITA’ DEGLI STUDI ROMA TRE Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale e dell’Automazione Metodi e Modelli per la Simulazione Simulazioni e Analisi di euristiche di scheduling su macchine parallele per la minimizzazione del makespan Ambra Consolo Manuel Ottaviani Valerio Voci

UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

UNIVERSITA’ DEGLI STUDI ROMA TRE

Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale e dell’Automazione

Metodi e Modelli per la Simulazione

Simulazioni e Analisi di euristiche di scheduling su macchine parallele per la minimizzazione del makespan Ambra Consolo Manuel Ottaviani Valerio Voci

Page 2: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

2

Indice

1. Introduzione al problema .......................................................................................... 3

2. Definizione del problema di Scheduling su macchina parallele ........... 5

2.1Scheduling su macchine parallele ...................................................................................... 5

2.2 Formulazione PLI ................................................................................................................... 6

3. Caratteristiche del Sistema ....................................................................................... 7

4. Descrizione delle Euristiche ..................................................................................... 8

4.1 Euristica Min-Min(B) ............................................................................................................. 8

4.2 Euristica Max-Min(A) ......................................................................................................... 10

4.3 Euristica Assegnazione macchina meno carica(C) .................................................. 11

4.4 Euristica di Miglioramento: Scambi (S) ...................................................................... 13

5. Scelta degli input per le simulazioni ................................................................. 16

6. Risultati delle esecuzioni ....................................................................................... 19

6.1 Indici di prestazione ............................................................................................................. 19

6.2 Risultati esecuzioni .............................................................................................. 20

6.2.1 Offline R=0 ............................................................................................................................. 20

6.2.2 Offline R≠0 ............................................................................................................................ 23

6.2.3 Online ..................................................................................................................................... 28

6.2.4 Lotti R=0 ................................................................................................................................. 33

6.2.5 Lotti R≠0 ................................................................................................................................ 36

7. Analisi degli Output ................................................................................................... 42

7.1 Offline R=0 .............................................................................................................................. 42

7.2 Offline R≠0 .............................................................................................................................. 49

7.3 Online ........................................................................................................................................ 54

7.4 Lotti R=0………………………………………………………………………………………………………..57 7.4.1 Tempi di setup molto piccoli…………………………………………………………………….57 7.4.2 Tempi di setup molto maggiori rispetto ai tempi di processamento ………………….61

7.5 Lotti Offline R≠0 .................................................................................................................... 63

7.6 Lotti Online ............................................................................................................................. 66

8. Conclusioni .................................................................................................................... 67

Page 3: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

3

1. Introduzione al Problema

L’obiettivo affrontato in questa tesina è stato quello di analizzare i risultati di scheduling

ottenuti da un modello da noi creato per lo studio di macchine parallele. Per poter

analizzare il problema in tutte le sue sfaccettature, si è dovuto quindi costruire un buon

modello, principalmente per poter rappresentare la realtà all’interno del sistema scelto

con sufficiente dettaglio e permettere di rappresentare tutti i dati correlati con

sufficiente aderenza alla realtà stessa e con sufficiente approssimazione.

Inoltre, l’utilizzo degli strumenti di simulazione ci ha fornito la possibilità di effettuare in

tempi ragionevoli un gran numero di analisi dando un’indicazione sull’opportunità o la

convenienza di una certa decisione o scelta algoritmica, nell’affrontare nel nostro caso

“problemi di scheduling”.

Con il termine “problemi di scheduling” si intende una vasta classe di problemi, molto

diversi tra loro per complessità e struttura. Tutt’oggi per la soluzione di problemi di

questo tipo non è possibile indicare un unico approccio risolutivo. Possiamo comunque

definire come problemi di scheduling tutti quei problemi decisionali in cui riveste

particolare importanza il fattore “tempo“ visto come risorsa da allocare in modo ottimo

a determinate attività. In generale, uno “schedule”, è un’allocazione su uno o più

intervalli di tempo delle attività per espletare un certo job.

La schedulazione su macchine parallele in particolare è importante sia dal punto di vista

teorico che pratico. Dal punto di visto teorico questo caso è una generalizzazione dello

scheduling su macchina singola, mentre dal punto di vista pratico è rilevante in quanto

l’esistenza di risorse parallele in comune si verifica nella realtà.

Per ottenere dei risultati da confrontare ed analizzare, sono stati implementate tre

euristiche per la schedulazione iniziale, a cui viene successivamente applicata una

quarta euristica di miglioramento, basata sulla ricerca locale. Per “procedimento

euristico” si intende un metodo di approccio alla soluzione dei problemi che non segue

un chiaro percorso, ma che si affida all’intuito e allo stato temporaneo delle circostanze,

al fine di favorire la scoperta di nuovi risultati scientifici. L’algoritmo euristico “ideale”

dovrebbe essere in grado di determinare sempre la soluzione ottimale di un problema.

In generale si vorrebbe però che l’algoritmo fosse almeno in grado di determinare

sempre una “buona” soluzione ammissibile, dove per “buona” qui si intende una

soluzione il cui valore è abbastanza vicino al valore della soluzione ottima.

Page 4: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

4

Esistono essenzialmente due modi per studiare l’efficacia di un algoritmo:

Sperimentale: si seleziona un sottoinsieme “rilevante” di istanze del problema,

tali che siano rappresentative delle istanze da risolvere in una o più applicazioni

pratiche, si esegue l’algoritmo su quelle istanze misurando l’errore relativo

ottenuto e poi se ne esaminano le caratteristiche statistiche (media, massimo,

minimo e varianza). Si noti però, che per fare ciò è necessario essere in grado di

calcolare il valore ottimo della funzione obiettivo (o una sua buona

approssimazione) per le istanze di test.

Teorico: si dimostrano matematicamente relazioni che forniscono valutazioni sul

massimo errore compiuto dall’algoritmo quando questo viene applicato ad

istanze con caratteristiche date.

Le due metodologie di valutazione non sono alternative, ma complementari. Lo studio

teorico risulta in genere meno accurato nel valutare l’errore compiuto nelle istanze reali,

ma fornisce valutazioni generali valide per grandi classi di istanze ed aiuta a

comprendere meglio il comportamento dell’algoritmo (eventualmente suggerendo

come modificarlo per renderlo più efficace). D’altro canto lo studio sperimentale

permette di valutare esattamente l’errore compiuto sulle istanze e di estrapolare con

ragionevole accuratezza l’errore che ci si può attendere su istanze simili, ma non

fornisce alcuna garanzia specialmente per istanze con caratteristiche diverse (o troppo

diverse) da quelle effettivamente testate.

Page 5: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

5

2. Definizione del problema di Scheduling su macchine parallele

2.1 Scheduling su macchine parallele

Il processo di scheduling nel nostro caso è quello di allocare n diversi job su diverse macchine (unrelated) disposte in parallelo. Le macchine possono eseguire un solo lavoro alla volta e ogni lavoro deve essere eseguito su una ed una sola macchina senza interruzione.

Dati I tempi di processamento , 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).

Page 6: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

6

2.2 Formulazione PLI

Definizione delle variabili , i=1,…, m, tempo di completamento della macchina i = 1 se il lavoro j è assegnato alla macchina i

0 altrimenti = , } tempo di completamento di tutto il sistema Nota: il tempo di completamento della macchina più carica corrisponde al tempo di completamento del lavoro che finisce per ultimo

=

= , = ,

Funzione Obiettivo

= ,

tale che

= = ,… ,

,

Page 7: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

7

3. Caratteristiche del sistema

Le specifiche del nostro sistema possono essere riassunte come di seguito:

Macchine parallele

Coda infinita

No preemption

La caratterizzazione delle operazioni (tempi di processamento) dipende dalla

assegnazione job-macchina

Tempi di Setup nella gestione delle macchine per job organizzati a lotti

Casistiche

- i job arrivano tutti insieme (scheduling offline)

- i job arrivano distribuiti nel tempo (release date diverse da zero), caso offline e caso online

- i job arrivano in lotti (non un solo job ma blocchi di diversi job)

Variabili e parametri

• n: numero dei job;

• m: numero delle macchine;

• : tempo di processamento del job i sulla macchina j, variabile aleatoria distribuita in

maniera uniforme;

• : release date del job i-esimo, variabile aleatoria distribuita uniformemente;

• tempo di completamento sulla macchina m;

• tempo di set-up necessario alla macchina per passare dal lotto di tipo A al lotto di

tipo B, è una variabile aleatoria distribuita uniformemente

Page 8: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

8

4. Descrizione delle euristiche

Nel seguito verranno descritte le 3 euristiche che sono state implementate per ottenere

una soluzione di scheduling, che verrà definita come “soluzione iniziale” per l’euristica di

miglioramento.

4.1 Euristica MinMin(B):

L’euristica parte dall’idea degli algoritmi SPT (shortest processing time), in cui i job

vengono ordinati in ordine crescente per tempi di processamento (quelli più corti per

primi), ma si sviluppa prendendo in considerazione di volta in volta i tempi di

completamento, perché i tempi di processamento dei job sono diversi per macchina.

Solo nel primo passo dell’algoritmo i tempi di processamento e di completamento di un

generico job su una macchina coincidono ( = ) poiché all’inizio non è ancora

stato assegnato nessun job alle macchine. Quindi, per calcolare la soluzione di

scheduling, si parte dai tempi di processamento dei vari job sulle macchine e mano a

mano si prendono in considerazione i loro tempi di completamento che vengono

rappresentati, per semplicità, in una matrice che contiene sulle righe i vari job e sulle

colonne le macchine a disposizione. Dopo aver scelto il job più idoneo, la matrice viene

aggiornata; nello specifico viene sommato, ai valori di completamento della colonna

della macchina a cui è stato assegnato il job, il valore del suo tempo di processamento

. Per ogni job scegliamo dunque la macchina per cui il tempo di completamento

risulta essere minore, dopo di che, tra tutti i job si sceglie quello che si completa prima,

schedulandolo sulla rispettiva macchina. In questo modo, ad ogni passo riusciamo a

bilanciare il carico sulle macchine e ad assegnare ogni volta i job considerando la

minimizzazione dei tempi di completamento e quindi una sorta di “minimizzazione

graduale” della funzione obiettivo.

Nel caso Offline con release uguali e zero, non essendoci vincoli di arrivo e quindi di

precedenza, l’applicazione dell’algoritmo viene fatta indistintamente su tutti i job ancora

da schedulare; nel caso Offline con release diverse da zero invece, essendoci dei vincoli

di precedenza e allo stesso tempo potendo sfruttare la loro piena conoscenza,

l’applicazione dell’algoritmo è stata gestita nel seguente modo: ad ogni assegnazione di

job si considera il massimo valore di completamento tra tutte le macchine (maskepan

momentaneo) e si provano a fare schedulazioni temporanee con l’algoritmo MinMin, tra

tutti i job con release minori di questo valore. Nella tabella, se su alcune macchine il

tempo di completamento è minore della release della schedulazione temporanea, si

Page 9: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

9

ipotizza di sommare i processamenti non più ai tempi di completamento ma alle

rispettive release ( , con il rischio di creare dei “tempi morti” ) in

quanto è possibile che le macchine che non sono giunte ancora a quel tempo di

completamento massimo, possano schedulare il job solo nel momento in cui arriva, da

qui l’idle-time. Tra tutte le prove di schedulazione di job, si sceglierà quello con tempo di

completamento minore. Se ci troviamo nella condizione per cui non ci sono altri job, il

completamento di tutte le macchine, se minore della release, viene aggiornato al valore

della release successiva.

Per quanto riguarda il caso Online, ad ogni iterazione viene fatta una schedulazione

temporanea con l’algoritmo MinMin su tutti i job della release “attuale” e tra questi,

vengono schedulati definitivamente i job che partono prima della release successiva.

Viene, in questo modo, creata e gestita una coda contenente i job restanti che verranno

schedulati successivamente insieme agli altri che arriveranno.

Ci aspettiamo che il caso peggiore dell’algoritmo si presenti nel caso in cui l’ultimo job

schedulato sia molto più grande degli altri tempi di processamento, in quanto determina

il . Qui di seguito presentiamo un esempio in cui l’algoritmo viene messo in crisi,

per il motivo appena descritto.

Page 10: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

10

4.1 Euristica MaxMin: (A)

L’euristica, in questo caso, parte dall’idea degli algoritmi LPT (Longest Processing Time)

in cui i lavori vengono assegnati in ordine non crescente dei tempi di processamento

(quelli più “lunghi” per primi) e iterativamente assegnati alla macchina meno carica . Nel

nostro caso la scelta del job da processare avviene nel seguente modo : si verifica ogni

volta , per ogni job, quale è il tempo di completamento minimo tra le varie

macchine che lo possono processare e tra tutti questi tempi di completamento si

sceglierà quello che ha il valore massimo.

Quindi la nostra euristica cerca di assegnare i job più lunghi, non dal punto di vista dei

tempi di processamento, ma da quello dei tempi di completamento mano a mano che i

job vengono assegnati, questo perché non sempre i tempi minimi ( )

corrispondono alla macchina più scarica; infatti seguendo l’idea LPT di assegnare ogni

volta il job sulla macchina più scarica si cadrebbe nell’errore (soprattutto nel caso di

grossa disparità tra i tempi di processamento di uno stesso job sulle varie macchine) di

scegliere un tempo di processamento molto più grande per un job che potrebbe essere

processato in un tempo minore su una altra macchina.

La distinzione tra i casi Online, Offline con release nulle e diverse da zero avviene nello

stesso modo dell’algoritmo Min-min precedentemente descritto. Come nell’algoritmo

Min-min, anche qui tra le soluzioni temporanee calcolate per ogni rilascio viene scelta

quella minima, perché scegliere la massima renderebbe l’algoritmo ancora meno

efficiente. Se si decidesse di scegliere la soluzione massima tra quelle proposte per i

rispettivi rilasci, i tempi di completamento verrebbero incrementati dei massimi idle-

time creati dagli ultimi tempi di rilascio.

Viene mostrato di seguito un’applicazione che mostra l’efficienza dell’algoritmo, dove la

soluzione trovata coincide con la soluzione ottima. La prima tabella, come già spiegato

per l’algoritmo B, contiene i tempi di processamento , che serviranno per

l’aggiornamento delle altre tabelle (ciascuna associata a ogni iterazione per la schedula

di ogni job) con i tempi di completamento ( ), al fine di assegnare il massimo tempo di

completamento tra quelli minimi. Notiamo come l’algoritmo, seguendo l’idea dell’ LPT,

riesce ad ottenere, al termine della schedulazione, un buon bilanciamento del carico e

del numero dei job assegnati alle macchine disponibili, anche se in realtà si potrebbe

bilanciare meno per far lavorare meno le altre macchine. Vedremo però, in seguito,

come l’algoritmo, proprio per questo motivo, viene messo in serie difficoltà

dall’aumento del numero di job e quindi all’aumentare delle iterazioni dell’algoritmo

stesso.

Page 11: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

11

4.3 Euristica Assegnazione a macchina meno carica:(C)

Questa euristica, a differenza di quelle precedentemente descritte, non schedula i job in

base ai tempi di completamento sulle varie macchine, ma determina ad ogni iterazione

la macchina meno carica dal punto di vista della funzione obiettivo e assegna a questa, il

job che può processare nel minor tempo possibile (quindi in sostanza alla macchina

meno carica assegna il job, tra tutti quelli disponibili, col tempo di processamento

minore).

Nel caso Offline con release nulle, l’euristica viene applicata a tutti i job, in quanto

disponibili subito e senza vincoli di precedenza temporale. Per quanto riguarda invece il

Page 12: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

12

caso Offline con release diverse da zero, ogni volta il job viene scelto con la

consapevolezza di conoscere i rilasci dei job, e quindi nella scelta del minor tempo di

processamento vengono considerati anche quelli rilasciati dopo il temporaneo

makespan della macchina meno carica, aggiungendo però l’idle temporale che si viene a

creare tra questo e il rilascio del job (se ho un job i-esimo con e per j intendo la

macchina meno carica ,considero non solo del job ma anche il tempo morto ).

Per quanto riguarda l’Online invece è stato, come gli altri, gestiti attraverso una coda a

cui viene applicata l’euristica a ogni rilascio di nuovi job/lotti .

Questo algoritmo, non prendendo in considerazione i tempi di completamento ma solo i

tempi di processamento dei job sulla macchina meno carica, può risultare inefficiente

nel caso precedentemente accennato, per cui i tempi di processamento dei job sono

molto eterogenei fra loro e soprattutto quando ci sono tante risorse disponibili

(macchine) per pochi job. Infatti è possibile che la macchina meno carica si trovi a

schedulare un job in un tempo molto grande rispetto a un’altra macchina che invece

potrebbe processarlo in un tempo molto più piccolo. Nell’esempio che viene proposto si

può osservare come al 5° passo il job F venga assegnato alla macchina che impiega più

tempo per processarlo ma in quel momento la meno carica, mettendo in risalto come in

presenza di pochi job ancora da schedulare l’algoritmo perda di efficienza.

Page 13: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

13

4.4 Euristica di Miglioramento: SCAMBI (S)

E’ stata poi implementata un’euristica di miglioramento basata sulla ricerca locale,

applicabile agli algoritmi di schedulazioni proposti.

Gli algoritmi di ricerca locale, in generale, partono da una soluzione ammissibile e

cercano iterativamente di migliorarla effettuando semplici modifiche alla soluzione

iniziale: tali procedure di modifica, dette “MOSSE”, permettono di trovare un insieme di

soluzioni, che compongono il cosiddetto “VICINATO”, e di scegliere tra queste quella

migliore dal punto di vista della funzione obiettivo, che diventerà la nuova soluzione da

migliorare. Tali algoritmi terminano quando non esistono più modifiche del tipo

prescelto in grado di migliorare la soluzione corrente. Nel nostro caso la mossa in grado

di trovare di volta in volta soluzioni migliori, e quindi in grado di minimizzare il ,

consiste nello scambio tra due job diversi assegnati a macchine differenti. Più nel

dettaglio: a ogni iterazione viene scelta la macchina critica, e cioè quella con il tempo di

completamento maggiore, e per ogni job di questa macchina viene considerata la

possibilità di scambiarlo con i job delle altre macchine. Lo scambio viene effettuato se il

tempo di completamento della macchina più carica diminuisce e allo stesso tempo se

quello dell’altra macchina non assume un valore di completamento maggiore o uguale a

quello della macchina critica (praticamente se il miglioramento della macchina critica

non viene annullato dal peggioramento dell’altra). Nel caso Offline con release diverse

da zero vengono considerati anche i vincoli di release dei due job da scambiare cosi

come presa in considerazione la presenza di possibili buchi. I vincoli di release sono

legati al fatto che i due job presi in considerazione devono avere una release minore o

uguale rispetto all’inizio che avranno nelle macchine una volta scambiati. Per i tempi

morti ci sono molto vincoli, del tipo che se c’è la presenza di un idle-time nella macchina

critica a seguito del job che si intende scambiare, siccome sappiamo che quell’idle si è

creato per la presenza di un vincolo di rilascio, ne deduciamo che il makespan generale

non potrà migliorare anche se il nuovo job ha un minor tempo di processamento su tale

macchina.

Non avendo un criterio ben preciso di miglioramento ma essendo un insieme di prove

per trovare via via una soluzione migliore, è difficile prevedere come si comporterà e in

quale caso sarà più o meno efficiente. Chiaramente ci aspettiamo che siano fatti più

scambi là dove l’euristica di partenza sia poco efficiente e quindi dia come risultato una

soluzione molto lontana dall’ottimo.

Dal punto di vista del tempo di esecuzione, presenta degli incrementi proporzionali al

numero di job da scambiare.

Page 14: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

14

Per il miglioramento dei lotti, visto la presenza dei set-up, si è deciso di non considerare

più lo scambio tra singoli job perché il suddividere ulteriormente i lotti separati

nell’euristica di partenza avrebbe introdotto troppi set-up che non avrebbero alla fine,

secondo il nostro punto di vista, portato a ulteriori miglioramenti. Dunque abbiamo

modificato l’algoritmo considerando lo scambio di sequenze di job uguali nel tentativo,

laddove fosse efficiente nel minimizzare il , di ricompattare i lotti.

Esempio scambio per singoli job:

Iterazione 1

1) Provo C <--> E NO Miglioramento 2) Provo C <--> D NO Miglioramento 3) Provo C <--> A NO Miglioramento 4) Provo C <--> B NO Miglioramento 5) Provo F <--> E SI Miglioramento(36-13= 23)

SI Peggioramento(23-3= 20) newMakespan2= 8+23= 31 < =41 SI SCAMBIO F con E

Page 15: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

15

Iterazione 2

1) Provo A <--> C 2) Provo A <--> E 3) Provo A <--> F 4) Provo A <--> D 5) Provo B <--> C SI Miglioramento(28-26= 2)

SI Peggioramento(38-5= 33) newMakespan1= 38+13= 51 < =36 NO SCAMBIO B con C

6) Provo B <--> E SI Miglioramento(28-21= 7)

SI Peggioramento(38-13= 25) newMakespan1= 5+38= 43 < =36 NO SCAMBIO B con E

7) Provo B <--> F SI Miglioramento(28-18= 10) NO Peggioramento(38-13= 25) SI SCAMBIO B con F

Come visto precedentemente la soluzione ottima è proprio =26 che qui abbiamo

trovato dopo 2 iterazioni dell’algoritmo scambi applicato alla soluzione di partenza. Per

questo motivo evitiamo di continuare con le iterazioni, perché da qui in poi sappiamo

che gli scambi che verranno effettuati non modificheranno il uguale 26, e così al

primo scambio ritornando lo stesso tempo massimo di completamento terminerà

l’esecuzione dell’algoritmo.

Page 16: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

16

5. Scelta degli Input per le Simulazioni

Per analizzare le simulazioni delle euristiche proposte si è scelto di considerare due

profili (PICCOLO e GRANDE) riguardo il numero di job da schedulare e il numero di

macchine disponibili in parallelo.

A tali profili sono stati preventivamente associati dei valori (20 /80 per i job e 3/9 per le

macchine) per verificare il comportamento delle euristiche e i rispettivi miglioramenti, a

seconda dell’aumentare della numerosità delle istanze da analizzare, e quindi al

sovraccarico di job sulle macchine e all’aumentare delle risorse disponibili.

I tempi di processamento vengono generati con una distribuzione uniforme all’interno

di due intervalli predefiniti, in modo tale che in questi la probabilità di uscita dei tempi

sia uguale per tutti i job. Si è deciso di non scegliere una distribuzione gaussiana per il

fatto che se i tempi venissero generati secondo una media ,si avrebbero dei tempi quasi

uguali e di conseguenza si assisterebbe a un’ assegnazione circolare dei job che non ci

permetterebbe di osservare il comportamento delle nostre euristiche.

La scelta degli intervalli segue l’idea di rendere i tempi di processamento dei vari job

Omogenei ed Eterogenei tra loro, per cercare di osservare il sistema in diverse situazioni

che poi rispecchiano la realtà.

OMOGENEI; l’intervallo è stato scelto tra 2 e 10 per generare dei tempi molto

simili tra loro.

ETEROGENEI; l’intervallo scelto è compreso tra 2 e 50 per generare tempi

abbastanza dissimili.

Le release sono variabili aleatorie, come i tempi di processamento, scelte tramite un

distribuzione uniforme, e strettamente dipendenti dal numero di job da assegnare alle

varie macchine e dai loro tempi di processamento. Abbiamo cercato di evitare di

scegliere release troppo grandi, soprattutto rispetto ai tempi di processamento e di

creare degli intervalli che permettessero di far arrivare i job quando le macchine sono

ancora occupate, perché altrimenti tutta la schedulazione degli algoritmi proposti

dipenderebbe esclusivamente dall’arrivo degli ultimi job, ritornando al caso di release

uguale a zero. Per ovviare a questo inconveniente e cercare di ridurre l’attesa delle

macchine (buchi) sono stati scelti intervalli per le release secondo un criterio molto

arbitrario: si prende la media per difetto dei job su ogni macchina e la media sempre per

difetto dei tempi di processamento e si moltiplicano. Inoltre si è deciso di considerare

Page 17: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

17

per i vari casi release distanti tra loro e release ravvicinate. Questo perché release

ravvicinate permettono di avere meno job vincolati dai loro arrivi, e quindi ci permette

di avere a determinati istanti di tempo più job da considerare nella schedulazione e

soprattutto più possibilità di scambi per l’euristica di miglioramento .Nel momento

invece che vengono scelte release distanti possiamo analizzare le prestazioni degli

algoritmi in una situazione più critica e più vincolata, con la consapevolezza che la

conoscenza dei rilasci ha poco interesse ,quasi come se ci trovassimo di fronte a una

situazione online. Per scegliere l’intervallo delle release ravvicinate abbiamo preso per

ogni istanza un terzo dei rispettivi intervalli per release distanti.

5.1 Studio caso dei lotti

Per lo studio dei lotti abbiamo deciso di considerare le stesse numerosità di macchine e

di job per fare un raffronto immediato sull’ influenza dei tempi di set-up e il

bilanciamento del carico sulle varie macchine ,con quello già fatto per job singoli. Il

numero di job viene ripartito in un numero di lotti dipendente da una media e una

varianza scelta a priori . Quindi, come nel nostro caso, scegliendo una media di 5 job a

lotto , ne deriva che 80 job vengono ripartiti in 16 tipologie di lotti tramite una

distribuzione gaussiana ( = , = ). La media è stata scelta in base al numero di

lotti che ci sembrava adeguato per l’analisi che dovevamo effettuare, la varianza è stata

scelta in base ad una serie di prove sperimentali: considerare sempre lo stesso numero

di job per lotto o considerare lotti con pochi job, non è stato ritenuto un dato

rappresentativo per lo studio, infatti la scelta della gaussiana è stata fatta per assegnare

ad ogni lotto un numero di job che, discostandosi dalla media ma non di troppo né

troppo spesso, avrebbe permesso uno studio più approfondito del caso.

[Esempio di 80 job distribuiti in 16 lotti con distribuzione Gaussiana = =

6,9,2,4,6,4,3,5,3,7,2,5,8,6,5,5]

Per l’analisi dei lotti sono stati scelti, in un primo momento, dei tempi di set-up non

troppo grandi, in quanto il loro incremento, e quindi, l’avvicinarsi di questi ai tempi di

processamento dei job appartenenti al lotto, avrebbero portato a processare il lotto

interamente senza suddividerlo tra le varie macchine. Abbiamo dunque considerato i

tempi di set-up come variabili aleatorie distribuite uniformemente nell’intervallo [1,6],

intervallo scelto per poter essere più influente per tempi omogenei e di poco interesse

per quelli eterogenei.

In un secondo momento abbiamo considerato i tempi di set-up due o anche tre volte

maggiori rispetto ai tempi di processamento dei job, questo per analizzare il

comportamento del sistema anche nel caso in cui le macchine, per passare da un tipo di

job all’altro, risultano avere un elevato tempo di inattività dovuto alla preparazione.

Page 18: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

18

Per non complicare troppo le cose, si è deciso di considerare gli stessi tempi per tutte le

macchine e che, per ogni macchina, il tempo di set-up per passare da una lavorazione ad

un’altra (ad esempio da un job di tipo A ad un job di tipo B) fosse differente dal processo

inverso (cioè da B ad A). Per semplicità possiamo immaginarli rappresentati su una

matrice quadrata che ha come dimensioni quella del numero di job e sulla diagonale

tutti zeri, rappresentante i tempi nulli per il passaggio a due tipologie identiche.

Riassumiamo i profili scelti per le simulazioni: NUMERO DEI JOB (n): • Piccolo: 20 • Grande: 80 NUMERO DELLE MACCHINE (m):

• Piccolo: 3 • Grande : 9 DISTRIBIZIONE JOB SU LOTTI •Piccolo: 20 job distribuiti, con distribuzione Gaussiana ( = , = ), in 4 lotti •Grande: 80 job distribuiti, con distribuzione Gaussiana ( = , = ) in 16 lotti TEMPI DI PROCESSAMENTO • Omogenei , Distribuiti uniformemente nell‘ intervallo (2-10) • Eterogenei, Distribuiti uniformemente nell’ intervallo [2-50) RELEASE DATE • Ravvicinate dipendenti dal numero di job e numero macchina di ogni istanza • Distanti dipendenti dal numero di job e numero macchina di ogni istanza TEMPI SETUP • Distribuiti uniformemente intervallo *1-6] • Distribuiti uniformemente intervallo [20-30] e [50-100]

Page 19: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

19

6. Risultati delle esecuzioni

In questo capitolo vengono presentate le tabelle delle simulazioni fatte sulle varie

euristiche implementate. Le tabelle sono state etichettate con dei codici relativi

all’istanza presa in considerazione, e contenenti appunto i risultati in termini numerici

delle esecuzioni che verranno da noi analizzati più in dettaglio nel prossimo capitolo. È

stato possibile ottenere dei risultati significativi grazie alla scelta degli indici di

prestazioni che permettono di cogliere determinate caratteristiche del sistema e di

studiare i vari casi che si presentano nell’applicazione delle euristiche.

6.1 Indici di prestazione

Funzione obiettivo media: Viene calcolato per tutte le euristiche proposte, e non è

altro che la media su n esecuzione del tempo di completamento ,

,che ci

permette di osservare l’efficienza degli algoritmi proposti nella minimizzazione del

makespan:

Miglioramento Euristiche percentuale: Indica il miglioramento in percentuale della

funzione obiettivo attraverso l’applicazione dell’euristica di miglioramento.

Numero Scambi: Questo indice calcola la media del numero di scambi che vengono

fatti dopo aver applicato l’euristica di miglioramento “SCAMBI”. È proporzionale

all’indice miglioramento Euristiche percentuale in quanto all’aumentare degli scambi

diminuisce il e di conseguenza migliora la funzione obiettivo. Questi due indici

relativi agli algoritmi con le rispettive funzioni obiettivo messi in relazione tra di loro

ci permettono di osservare sia il grado di miglioramento dell‘euristica Scambi ma

anche di avere una visione generale della bontà delle soluzioni di partenza e quindi

degli algoritmi.

Numero Job su Macchina più carica/meno carica: indica il numero di job assegnati

alla macchina più/meno carica, in percentuale rispetto al numero totale di job ;serve

a rilevare se il carico di lavoro è stato distribuito in modo equo oppure una macchina

lavora più delle altre.

Valore medio : Questo indice misura il bilanciamento del carico di

lavoro tra le macchine non più in termini di numero di job ma in termine di funzione

obiettivo; più precisamente misura quanto è lo scarto medio tra il e il

delle n esecuzioni. Viene calcolato come

Distanza dal minimo: dopo aver trovato su n esecuzione il valore minimo di

viene calcolata di quanto ogni esecuzione si discosta da questo valore. Questo valore

Page 20: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

20

ci permette di osservare di quanto le soluzioni trovate tramite un’euristica si

discostano dal valore migliore ottenuto dall’euristica stessa.

Tempo di esecuzione: è il tempo totale diviso per il numero di esecuzioni (n=50) e

indica la complessità di ogni esecuzione comprendente le tre euristiche e i relativi

miglioramenti. Aumenta proporzionalmente al numero di job ripartiti tra le varie

macchine e l’inefficienza dell’algoritmo di partenza che determina il numero di

scambi applicabile ad esso

6.2 Risultati delle esecuzioni

Qui di seguito viene illustrato il codice che identifica le tabelle e distingue i vari gruppi di

istanze aventi caratteristiche e risultati differenti, come precedentemente illustrato.

Il valore in prima posizione rappresenta il numero di job ( 1=Piccolo 2=Grande).

Il valore in seconda posizione rappresenta il numero di Macchine ( 1=Piccolo

2=Grande).

Il valore in terza posizione indica se i tempi di processamento sono Omogenei (o) o

Eterogenei(e).

Il valore in quarta posizione indica se le release, quando presenti, sono fra loro

distanti(D) o ravvicinate(R).

6.2.1 Offline R=0

Page 21: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

21

Page 22: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

22

Page 23: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

23

6.2.2 Offline R≠0

Page 24: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

24

Page 25: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

25

Page 26: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

26

Page 27: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

27

Page 28: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

28

Page 29: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

29

6.2.3 Online

Page 30: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

30

Page 31: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

31

Page 32: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

32

Page 33: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

33

Page 34: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

34

6.2.4 Lotti Offline R=0

Page 35: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

35

Page 36: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

36

6.2.5 Lotti Offline R≠0:

Page 37: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

37

Page 38: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

38

Page 39: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

39

Page 40: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

40

Page 41: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

41

Page 42: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

42

7 Analisi degli output In questo capitolo verranno analizzati i risultati ottenuti dalle simulazioni effettuate

secondo le istanze prescelte e descritte nei capitoli precedenti. Cercheremo di verificare

che questi risultati ottenuti, confrontati fra di loro, rispecchino i risultati attesi e le

aspettative su quanto riguarda l’applicazione delle euristiche .

7.1 Offline R=0

Analisi Istanze Con tempi omogenei

Come è possibile osservare nel grafico del Makespan, l’euristica che si comporta in

modo meno efficiente è l’algoritmo A (MaxMin) che peggiora all’aumentare del numero

di job da schedulare. In realtà l’algoritmo si comporta differentemente da come

avevamo previsto, infatti: la scelta del massimo, non essendo sui tempi di

processamento ma su quelli di completamento, all’aumentare del numero di job

differenti tra loro, incrementa il completamento degli altri job su quella macchina,

andando via via ad aumentare il valore del . Come vedremo, tale euristica non ha

mostrato particolare interesse dal punto di vista della funzione obiettivo, ma nonostante

ciò è stato deciso di analizzare i suoi risultati per mettere in evidenza l’efficacia

11o 12o 21o 22o

A 39 10,8 164,16 43,4

AS 27,88 9,64 104,48 31,84

B 29,3 9,9 105,74 30,68

BS 27,46 9,38 103,72 29,34

C 29,56 12,4 105,82 31,38

CS 27,32 9,52 103,7 28,96

0

20

40

60

80

100

120

140

160

180

Cm

ax

Makespan

Page 43: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

43

dell’euristica Scambi che negli altri due algoritmi non è possibile osservare ,in quanto

entrambe presentano un andamento molto efficiente e sembrano avvicinarsi alla

soluzione ottima.

Osserviamo che, con tempi eterogenei, nel caso offline non cambia quasi nulla a parte il

fatto che aumentano i valori del makespan e che la differenza tra l’euristica A prima e

dopo il miglioramento è maggiore per tempi di processamento eterogenei associati ai

job che permettono di ottenere dopo gli scambi, migliori minimizzazioni dei tempi di

completamento; infine assistiamo ad un peggioramento dell’euristica C come era stato

previsto nella descrizione dell’algoritmo stesso.

11e 12e 21e 22e

A 152,26 28,62 663,58 125,06

AS 105,84 26,26 377,6 72,8

B 111,36 28,96 383,68 74,92

BS 103,3 26,66 374,16 68,56

C 112,94 39,92 384,74 84,1

CS 104,06 27,38 374,4 68,46

0

100

200

300

400

500

600

700C

max

Makespan

-20

30

80

130

180

230

280

11o 12o 21o 22o 11e 12e 21e 22e

A-B

A-B

Page 44: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

44

Quanto detto all’inizio, viene rilevato dal confronto tra l’algoritmo A e B che sono molto

simili tra loro tranne per il fatto che uno sceglie ad ogni iterazione il minimo dei minimi

tempi di completamento e l’altro i massimi. I due algoritmi tendono ad essere molto

simili nel caso 12e e 12o proprio perché l’algoritmo A(MaxMin) si trova ad avere pochi

job da assegnare a tante macchine, quindi in questo simula maggiormente l’algoritmo

B(MinMin )e si avvicina all’idea dell’algoritmo LPT (che ,soprattutto nel caso di tempi di

processamento eterogenei , trova l’efficienza nel poter schedulare prima i job lunghi e

poi disporre alla fine quelli più corti). Come vediamo il MaxMin si allontana dal MinMin

all’aumentare del numero di job e al diminuire delle macchine (si veda la somiglianza tra

il rapporto 11o/11e e 22o/22e)

L’analisi delle euristiche A-C è molto simile a quello precedente, e segue i casi in cui A è

peggiore o migliore. L’unica cosa che viene messa in risalto dal grafico è il

peggioramento di C nei casi in cui A è maggiormente efficiente, ovvero nei casi 12o e

12e, in cui ci sono molte macchine con pochi job da schedulare. Come era stato previsto

e descritto in precedenza l’algoritmo C si trova in difficoltà in questo caso perché con

pochi job da assegnare ci sarà una maggiore probabilità di avere diverse macchine

scariche e poca scelta tra i processamenti dei job che porterà ad alzare la probabilità di

scegliere per tutti i job dei tempi di processamento relativi alla macchina scarica molto

maggiori rispetto al processamento sulle altre macchine. Vediamo, infatti, nel confronto

tra B e C che quest’ultimo peggiora in proporzione alla differenza dei tempi di

processamento , proprio nei casi in cui ci sono tante macchine, 22 e 12 ,con prevalenza

per quest’ultimo.

-20

30

80

130

180

230

280

11o 12o 21o 22o 11e 12e 21e 22e

A-C

A-C

Page 45: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

45

Come detto precedentemente, il miglioramento portato dall’euristica Scambi(S) dipende

molto dal numero di job da scambiare cosi come dall’efficienza dell’algoritmo che dà la

soluzione di partenza. Infatti, come possiamo osservare dai seguenti grafici, il più alto

valore percentuale di miglioramento è associato all’algoritmo meno efficiente, ovvero

MaxMin, soprattutto nei casi in cui i tempi di processamento sono eterogenei. Basta

tornare indietro e osservare come nel caso 22o la soluzioni migliorata non si avvicini

come nel caso 22e alle altre due soluzioni migliorate.

I miglioramenti di B e C invece cambiano molto poco tra tempi omogenei ed eterogenei

visto l’andamento simile del , come se la percentuale di miglioramento non sia

proporzionale alla distanza e alla grandezza dei tempi di processamento.

0

5

10

15

20

11o 12o 21o 22o 11e 12e 21e 22e

C-B

C-B

0,00

20,00

40,00

60,00

80,00

100,00

11

e

11

o

12

e

12

o

21

e

21

o

22

e

22

o

Miglioramento Percentuale Euristica A

Miglioramento Percentuale Euristica A

Page 46: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

46

Nell’algoritmo C assistiamo a un maggior miglioramento nei casi in cui l’algoritmo si

rileva peggiore e cioè nei casi in cui ci sono tante macchine e i tempi sono eterogenei

(ricordiamo 12o 12e e 22e) .

La distanza dal minimo ha un andamento altalenante dipendente dal numero di

macchine. Più macchine sono a disposizione e più le soluzioni trovate sono molto vicine

al valor medio del tempo di completamento, mentre tendono ad all’allontanarsi

all’aumentare dei job e all’aumentare dell’eterogeneità dei tempi di processamento,

0

20

40

60

80

100

11e 11o 12e 12o 21e 21o 22e 22o

Miglioramento Percentuale Euristica B

Miglioramento Percentuale Euristica B

0

20

40

60

80

100

11e 11o 12e 12o 21e 21o 22e 22o

Miglioramento Percentuale Euristica C

Miglioramento Percentuale Euristica C

0

50

100

150

11o 12o 21o 22o 11e 12e 21e 22e

Distanza media dal minimo Cmax

A

B

C

Page 47: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

47

Per quanto riguarda il bilanciamento del carico di lavoro, in termini di tempo di

completamento tra le varie macchine, dai seguenti grafici possiamo affermare che

quella che bilancia meglio, è l’euristica peggiore MaxMin. L’unico particolare

peggioramento dopo gli scambi , lo osserviamo proprio nel caso in cui A migliorato (AS)

non si avvicina alle soluzioni BS e CS, caso 22o, come se per raggiungere ancora un

tempo di completamento minore sia necessario uno spostamento di un job da una

macchina a un’altra, cosa che non permette l’euristica scambi.

Molto efficiente è il bilanciamento portato dagli scambi per quanto riguarda il caso 21o

e 21e; infatti tra la macchina più carica e quella meno carica come differenza non c’è

neanche il tempo di processamento di un job. Era anche prevedibile visto che la quantità

di job permette una maggior possibilità di scambi , ma allo stesso tempo la piccola

0

20

40

60

80

100

11o 12o 21o 22o 11e 12e 21e 22e

Distanza media dal minimo Cmax

AS

BS

CS

2 4 6 8 10

11o

12o

21o

22o

Cmax-Cmin

CS

C

BS

B

AS

A

2 12 22 32 42

11e

12e

21e

22e

Cmax-Cmin

CS

C

BS

B

AS

A

Page 48: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

48

quantità di macchine facilita il bilanciamento del tempo di completamento tra la

macchina più carica e quella meno. Di solito l’euristiche B e C vanno di pari passo nel

bilanciamento iniziale , l’unico piccolo distacco lo assistiamo da parte di C in 12o e 12e

ma è naturale dato il grande numero di macchine in confronto all’esiguo numero di job

da assegnare a queste.

Osservando infine il grafico del numero di job assegnati alla macchina più carica,

possiamo affermare che il numero di job viene distribuito equamente .( 35%dei job per

3 macchine e 10/15% per 9 macchine)

0

5

10

15

20

25

30

35

40

11o 11e 12o 12e 21o 21e 22o 22e

Numero Job Su Macchina Critica in %

A

AS

B

BS

C

CS

Page 49: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

49

7.2 Offline R≠0

Abbiamo deciso di mostrare solo queste due euristiche dato che l’algoritmo A MaxMin,

per quanto spiegato prima, è per noi privo di senso nel caso di release diverse da zero .

L’uguaglianza degli andamenti per release distanti e vicine, mostra che le euristiche non

sono influenzate dall’arrivo dei job ma che comunque si assiste ad un incremento del

. Questo è dovuto al fatto che la presenza di più job vincolati da tempi di rilascio

distanti rende meno influente, dal punto di vista della minimizzazione del , la

conoscenza che si ha nel caso offline, e aumenta la probabilità di avere tempi morti

mentre, per release ravvicinate, sfruttando la conoscenza, ci si avvicina ai risultati del

caso offline release uguale a zero.

11oR 12oR 21oR 22oR

B 30,68 10,48 107,16 31,32

BS 29,2 10,06 105,48 30,52

C 30,94 12,74 107,44 32,26

CS 29,26 11,36 105,78 31,12

0

20

40

60

80

100

120

Tito

lo a

sse

Makespan medio

11oD 12oD 21oD 22oD

B 33,66 11,46 116,38 35,44

BS 32,5 11,34 114,8 34,92

C 33,68 13,18 116,74 37,44

CS 32,5 12,58 114,32 36,22

0

20

40

60

80

100

120

Tito

lo a

sse

Makespan medio

Page 50: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

50

I miglioramenti illustrati nel grafico precedente, mostrano come ancora una volta

l’euristica C si comporti in maniera peggiore rispetto a quella B e come, il miglioramento

sia maggiore in percentuale per release ravvicinate. Osserviamo come per l’euristica B al

contrario, nei casi in cui ci sono pochi job, il miglioramento sia maggiore per release

distanti.

0,00%

2,00%

4,00%

6,00%

8,00%

10,00%

Miglioramenti %

Miglioramento Percentuale Euristica B

Miglioramento Percentuale Euristica C

0

2

4

6

8

10

12

11oR 12oR 21oR 22oR 11oD 12oD 21oD 22oD

Tito

lo a

sse

Distanza dal minimo

B

C

Page 51: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

51

Per Tempi eterogenei:

Osservando i grafici del makespan per tempi eterogenei possiamo affermare che anche

in questo caso l’algoritmo B è il migliore dal punto di vista della funzione obiettivo.

Parlando dell’euristica C come al solito assistiamo a un peggioramento nei casi in cui ci

sono molte macchine, ma quello che notiamo di nuovo è un inaspettato distacco

dall’euristica B nel caso in cui i rilasci sono distanti tra loro, anche per gli altri due casi 11

e 21. Analizzando il fatto che nell’algoritmo si considerano a ogni iterazione i tempi di

processamento della macchina meno carica e per i job con rilascio maggiore del

makespan l’aggiunta dell’idle-time, probabilmente nel momento in cui ci sono rilasci

distanti tra loro aumenta l’incidenza degli idle-time che si aggiungono ai tempi di

processamento e riduce, quindi, proprio quell’efficienza dell’ algoritmo C che era per

tanti job per il caso offline.

11eR 12eR 21eR 22eR

B 113,28 31,4 387,4 85,24

BS 107,92 30,68 379,78 82,14

C 117,42 44,52 390,78 95,32

CS 110,72 39 383,16 89,46

0

50

100

150

200

250

300

350

400

450

Cm

ax

Makespan

11eD 12eD 21eD 22eD

B 130,4 42,6 442,82 132,54

BS 126,56 42,2 433,56 132

C 139,8 56,26 460,7 148,52

CS 133,18 54,14 449,22 144,32

0

50

100

150

200

250

300

350

400

450

500

Cm

ax

Makespan

Page 52: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

52

I miglioramenti sono chiaramente di minor entità per il fatto che non sempre due job,

anche se vanno a migliorare il , possono essere scambiati proprio perché vincolati

da un loro rilascio noto a priori. Quindi alla fine quello che determina un miglior risultato

dello scambio è un peggioramento delle euristiche e i vincoli legati ai rilasci dei singoli

job; basta osservare il distacco che ha in percentuale l’euristica C in 12eR , nel quale

sappiamo peggiorare e avere delle release ravvicinate(ovviamente la percentuale

dipende anche quantitativamente dal completamento dell’istanza presa in

considerazione e non dal numero di scambi come possiamo osservare nel caso 21eD). Di

solito il miglioramento di B è sempre minore, forse per la sua efficienza , tranne nel caso

21eR. Vediamo che ciò dipende dal fatto che in quest’istanza il numero di scambi per C

invece che aumentare per release ravvicinate diminuisce, probabilmente per ragioni di

efficienza nel calcolare la soluzione di partenza.

0,00%

2,00%

4,00%

6,00%

8,00%

10,00%

Miglioramenti %

Miglioramento Percentuale Euristica B

Miglioramento Percentuale Euristica C

11eD 11eR 12eD 12eR 21eD 21eR 22eD 22eR

0,78

1,56

0,16 0,44

4,344,74

0,16

2,32

1,281,76

0,44

1,34

5,74

4,16

0,84

3,28

Numero medio Scambi

B->BS C->CS

Page 53: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

53

A differenza dei tempi omogenei assistiamo a un incremento netto delle distanza del

valore medio dal minimo trovato, legato alla probabilità di poter avere tempi con valori

piccoli e ma allo stesso tempo con valori grandi .Inoltre l’euristica C si distacca

maggiormente per tutte le istanze dovuto al suo peggioramento per tempi eterogenei.

Dal confronto dei grafici della differenza del completamento tra la macchina critica e

quella meno carica, assistiamo comunque ad un miglior risultato generale per rilasci

ravvicinati che, come detto molte volte, permettono sia una maggior quantità di job su

cui applicare l’algoritmo sia meno vincoli per migliorare la soluzione trovata.

0

10

20

30

40

50

60

70

11eD 12eD 21eD 22eD 11eR 12eR 21eR 22eR

B

C

0 10 20 30 40 50

11eD

12eD

21eD

22eD

Cmax-Cmin

CS

C

BS

B

0 10 20 30 40 50

11eR

12eR

21eR

22eR

Cmax-Cmin

CS

C

BS

B

Page 54: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

54

7.3 Online

Per Tempi Omogenei:

Anche per quanto riguarda l’online l’euristica peggiore è A(MaxMin) che come

analizzato precedentemente migliora e si avvicina alle altre euristiche quando il

raffronto iterativo è tra pochi job avvicinandosi alla logica del B(MinMin). In questi

grafici infatti osserviamo l’avvicinarsi alle altre due euristiche per release distanti nei casi

11oD e 22oD(che sappiamo avere un rapporto risorse/macchine molto simile), proprio

perché meno job sono in coda , minore è l’incremento sui tempi di completamento

portato da MaxMin.

Facendo un confronto tra il comportamento delle euristiche per rilasci ravvicinati e

distanti non notiamo grandi differenze a parte un lievemente maggiore nelle

soluzioni trovate dall’euristiche B e C per rilasci distanti, dovuto chiaramente alla minore

numerosità di job in coda rispetto ai rilasci ravvicinati e la conseguente perdita di

efficienza nell’applicazione delle euristiche e alla maggiore incidenza dei l’ idle-time.

11oR 12oR 21oR 22oR

A 38,44 10,58 165,48 44,06

AS 37,62 10,36 163,2 43,16

B 29,84 10,34 106,92 31,16

BS 29,1 9,92 106,92 30,5

C 30,54 12,92 107,5 32,02

CS 28,76 10,46 105,82 29,96

020406080

100120140160180

Makespan Medio

11oD 12oD 21oD 22oD

A 37,46 11,52 166,72 41,06

AS 36,88 11,44 165,7 40,58

B 33,48 11,6 112,48 35,48

BS 33,28 11,6 110,76 35,14

C 35,26 14,64 114,04 38,02

CS 33,88 12,94 112,48 35,86

0

20

40

60

80

100

120

140

160

180

Makespan Medio

Page 55: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

55

In generale ,come è possibile notare dai grafici, i miglioramenti sono bassi , quasi tutti

sotto il 10% tranne per il caso 21, e l’euristica scambi ha più influenza in percentuale,

proporzionalmente al , nel caso in cui i rilasci sono ravvicinati. Evidentemente nel

caso 21 con release vicine quello che è più efficiente è l’algoritmo di partenza essendo

applicabile a più job in coda.

Per tempi eterogenei:

0,00%

5,00%

10,00%

15,00%

20,00%

11

oD

11

oR

12

oD

12

oR

21

oD

21

oR

22

oD

22

oR

Miglioramento Percentuale Euristica C

Miglioramento Percentuale Euristica C

0,00%

1,00%

2,00%

3,00%

4,00%

11

oD

11

oR

12

oD

12

oR

21

oD

21

oR

22

oD

22

oR

Miglioramento Percentuale Euristica B

Miglioramento Percentuale …

21eR 22eR

A 655,8 124,16

AS 653,14 123,34

B 385,21 81,14

BS 390,92 81,06

C 394,12 102,66

CS 384,6 88,5

0

100

200

300

400

500

600

700

Makespan Medio

21eD 22eD

A 656,72 130,86

AS 650,4 130,86

B 410,22 131,28

BS 406,4 131,26

C 430,18 157,22

CS 419,62 151,7

0

100

200

300

400

500

600

700

Makespan Medio

Page 56: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

56

Per le release distanti notiamo che confrontando i casi con lo stesso numero di

macchine ma con diversa numerosità di job da 20 a 4 volte di più, 80,troviamo un

circa 4 volte più grande . Infatti per release distanti è come ripetere ogni volta il caso

offline con release uguale a zero. Per release ravvicinate invece all’avanzare della

numerosità della coda ci avviciniamo al caso offline con release diverse da zero perché la

coda ci dà più informazione.

Il caso che ne dimostra l’inefficacia, è proprio l’euristica MaxMin che non ha un

miglioramento come nella casistica offline, ma il suo miglioramento è limitato

esattamente come in tutte le altre euristiche. Interessante questo caso perché oltre a

mostrare i miglioramenti minimi denota un peggioramento di questa euristica nel caso

21eR

Come avevamo previsto lo scambio nel caso online non è una garanzia di efficienza nel

migliorare la soluzione, e questo perché lo scambio non avviene alla fine su tutti i job,

non avendo come nel caso offline piena conoscenza di questi e delle loro release , ma

avviene sui job schedulati in coda a ogni rilascio di nuovi job. Quindi il miglioramento

parziale non assicura il miglioramento finale, e di conseguenza la scelta di applicare o

meno gli scambi in modalità online deve essere fatta prima con la consapevolezza che

non abbiamo la certezza che migliori la soluzione, anche perché la piccola percentuale

positiva può essere nient’altro che il risultato medio dei casi positivi e negativi.

Sicuramente sappiamo che i miglioramenti sono più influenti per release Ravvicinate, in

quanto ogni iterazione ha una maggior quantità di job rilasciati e presenti in coda, che

permette più scambi “momentanei”.

-1,50%

-1,00%

-0,50%

0,00%

0,50%

1,00%

1,50%

2,00%

Miglioramento Percentuale Euristica B

Miglioramento Percentuale Euristica B

Page 57: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

57

Il confronto tra questi due grafici ,confermando la tesi appena descritta, mostra come ci

sia una disparità tra il numero di scambi e il miglioramento per l’euristica C , che a ogni

release schedula e scambia i job in coda.

7.4 Lotti R=0

7.4.1 Tempi di setup molto piccoli

Prima di passare all’analisi, ricordiamo che il numero di job totale è stato ripartito in un

numero di lotti secondo una media ed una varianza prefissata. Questo ha portato, nel

caso di numerosità di job bassa, ad avere pochi lotti da permettere un’analisi con

risultati interessanti.

0,00%

5,00%

10,00%

15,00%

21eD 21eR 22eD 22eR

Miglioramento Percentuale Euristica C

Miglioramento Percentuale Euristica C

0

50

100

150

200

250

11

eD

11

eR

12

eD

12

eR

21

eD

21

eR

22

eD

22

eR

Numero Scambi C

Numero Scambi C

Page 58: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

58

Sicuramente confrontando i risultati del makespan per lotti, rispetto a quelli per job

singoli, notiamo dei valori un po’ più alti proprio per la presenza dei tempi di set-up nel

passaggio da un lotto di un tipo a quello di un altro. L’incidenza è sicuramente maggiore

dal punto di vista percentuale per tempi omogenei in quanto i set-up si avvicinano

molto ai tempi di processamento e per le istanza con numerosità di job alto. Infatti

proprio alla quantità maggiore di job, come appena detto, corrisponde un numero di

lotti superiore e quindi maggiore possibilità di dover calcolare i tempi di set-up .

11o 12o 21o 22o

A 53,02 15,76 251,58 74,72

AS 38,22 12,24 147,26 43,76

B 36,36 12,7 128,04 41,18

BS 34,72 11,5 123,72 38,34

C 38,6 16,94 129,4 44,48

CS 35,32 11,62 124,98 38,1

0

50

100

150

200

250

300C

max

Makespan medio

11e 12e 21e 22e

A 147,66 39,2 692,5 158,14

AS 125,94 36,56 445,68 100,88

B 119,68 35,72 410 93,1

BS 114,74 32,64 396,28 84,76

C 126,2 57,18 414,2 109,14

CS 115,78 34,2 397,82 82,84

0

100

200

300

400

500

600

700

800

Cm

ax

Makespan medio

0,00

10,00

20,00

30,00

40,00

50,00

60,00

70,00

11e 11o 12e 12o 21e 21o 22e 22o

Miglioramenti %

Miglioramento Percentuale Euristica A

Miglioramento Percentuale Euristica B

Miglioramento Percentuale Euristica C

Page 59: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

59

I miglioramenti, come spiegato nell’euritica scambi, nella gestione dei lotti prende in

considerazioni sequenze di job uguali e cerca di scambiarli con altre sequenze in altre

macchine, con lo scopo di ricompattare i lotti e risparmiare sui tempi di set-up o

processare sequenze di job in un’altra macchine in un tempo minore. I risultati

dimostrano che tale criterio è abbastanza efficiente. Il miglioramento di A nel caso

21e/o, minore di quello calcolato nel caso offline per job singoli, mette in evidenza una

minor efficia nel considerare blocchi invece di job singoli.

Il fatto che i tempi di Set-up hanno maggiore influenza nel caso omogeneo rispetto al

caso eterogeno influenza in percentuale sia il sia il numero di scambi: si può

vedere dal grafico del numero degli scambi, come i casi Omogenei presentino un

numero di scambi sempre maggiori rispetto al caso eterogeneo.

Questi due grafici sui carichi mostrano come nei lotti la questione si complica per il

bilanciamento quando ci sono tante macchine. Per i lotti chiaramente non c’è un

bilanciamento cosi omogeneo e, molto spesso, proprio il miglioramento tende a

peggiorare il carico di lavoro sulle macchine, che magari tendono, in termini di

minimizzazione del tempo di completamento, a scegliere di schedulare quei pochi lotti

in macchine per cui il processamento è molto minore rispetto ad altre macchine. E

infatti proprio per pochi lotti e tante macchine 12o /12e c’è un grosso peggioramento

che potrebbe dipendere dal non sfruttare tutte le macchine.

0

20

40

60

80

100

120

11e 11o 12e 12o 21e 21o 22e 22o

Numero Scambi

AS

BS

CS

Page 60: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

60

Proponiamo qui di seguito il grafico del numero di job assegnati alla macchina più carica.

Osserviamo che , rispetto a quello per job singoli , per i lotti la distribuzione è meno

omogenea soprattutto nel caso 12e.

0 2 4 6 8 10 12

11o

12o

21o

22o

Cmax-Cmin

CS

C

BS

B

AS

A

0 10 20 30 40 50

11e

12e

21e

22e

Cmax-Cmin

CS

C

BS

B

AS

A

0

5

10

15

20

25

30

35

40

11e 12e 21e 22e 11o 12o 21o 22o

Numero Job su macchina critica in %

A

AS

B

BS

C

CS

Page 61: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

61

7.4.2 Tempi di setup molto maggiori rispetto ai tempi di processamento

omogenei ed eterogenei dei job

Tempi eterogenei e omogenei casi con numerosità di job grande con set-up 20-30

Per studiare come potesse cambiare lo scheduling dei lotti in relazione ai dei tempi di

lavorazione abbastanza grandi, è stato scelto di analizzare il caso con il profilo di

numero di lotti grande(21 e 22) con tempi di set-up 2/3 volte l’intervallo dei tempi di

processamento omogenei ma simili ai tempi di lavorazione nel caso di tempi eterogenei.

Dal risultato emerge come sia decisivo per l’incremento dei tempi di completamento.

Vediamo attraverso A come ,anche se il metodo non permetta di fare scambi su singoli

job nel caso dei lotti , il tentativo di ricompattare dei lotti o spostate intere porzioni di

esse su un'altra macchina sia comunque molto efficiente dal punto di vista migliorativo.

Page 62: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

62

Come ci aspettavamo la differenza di carico, in termini di Cmax, è molto più grande dato

il fatto che con tempi set-up più alti è conveniente processare l’intero lotto su una sola

macchina piuttosto che suddividere la lavorazione in più macchine e quindi aumentare

il numero di set-up tra le varie lavorazioni. La differenza diciamo che è quindi legata al

tempo di processamento e al numero dei job di cui è composto il lotto.

Il dislivello del carico numerico dei job sulla macchina più carica ,come possiamo

osservare, non è cosi evidente come nel caso del tempo di completamento, ma questo è

probabilmente dovuto alla scelta della distribuzione gaussiana che ha permesso di

distribuire secondo una media ben equilibrata il numero di job per ogni lotto.

Tempi eterogenei, casi con numerosità di job grande e con set-up 50-100

Qui di seguito invece è stato estremizzato il caso scegliendo per in tempi di set-up un

intervallo di tempo fino a 2 volte l’intervallo di tempo per tempi eterogenei di

processamento.

Page 63: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

63

7.5 Lotti Offline R≠0

In questo caso l’analisi si è concentrata solamente sulle euristiche B e C e sui loro

rispettivi miglioramenti. Come spiegato in precedenza infatti l’euristica A perde

significato per release diverse da zero. Abbiamo inoltre deciso di porre la nostra

attenzione solamente nelle istanze che presentano 80 job. Questo perché, come detto

in precedenza, la presenza di pochi lotti determina anche la presenza di poche release e

quindi a casi con risultati non particolarmente interessanti .

21oR 22oR

B 134,14 50,36

BS 127,6 47,08

C 139,2 57,48

CS 130,64 54,28

0

20

40

60

80

100

120

140

160

Cm

ax

Makespan

21oD 22oD

B 157,62 58,96

BS 149,1 56,42

C 162,16 67,04

CS 150,54 62,52

0

20

40

60

80

100

120

140

160

180

Cm

ax

Makespan

Page 64: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

64

Anche qui andamento simile con risultati maggiori rispetto all’offline release zero per la

presenza di tempi morti. Essi condizionano come sappiamo anche i miglioramenti

diminuendo la possibilità e quindi il numero di scambi.

Osservando i grafici sembra strano come per release distanti, nonostante sappiamo che

la soluzione di partenza sia peggiore rispetto a quella per release ravvicinate, in realtà ci

siano cosi tanti scambi data appunto la quantità di vincoli per i lotti. In realtà, se

analizziamo il miglioramento scambi gestito per lotti e cioè il tentativo di ricompattare i

lotti divisi con l’euristica di partenza per minimizzare il , ci accorgiamo che i vincoli

portati dai rilasci in questo caso sono meno incidenti negli scambi rispetto a prima, dato

che ogni lotto ha un'unica release e, questo, può far diminuire gli idle time creati da lotti

scompattati.

21oD 21oR 22oD 22oR

4,76% 4,24% 3,88%

5,84%6,60%

5,62% 6,06%5,00%

MIiglioramento %

Miglioramento B Miglioramento C

0

2

4

6

8

10

12

14

16

21oD 21oR 22oD 22oR

Numero Scambi

BS

CS

Page 65: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

65

Dai grafici sembra non peggiorare di molto l’algoritmo C come accadeva per job singoli,

e in generale i grafici del makespan sia per tempi omogenei che per quelli eterogenei,

sembrano non mostrare una diversità degli andamenti delle due euristiche in base alla

distanza dei tempi di rilascio dei job. Questo probabilmente è dovuto al fatto che

parlando di lotti ci sono meno release che spesso non incidono sul processamento dei

lotti, e quindi un’ euristica, che tende il più delle volte a processare tutti i job di un lotto

(perchè contenente job uguali) , dà come soluzione la stessa incrementata dalla

differenza dell’idle-time creato dai rispettivi rilasci.

21eR 22eR

B 446,38 117,8

BS 436,12 113,12

C 452,44 130,12

CS 437,58 121,84

050

100150200250300350400450500

Tito

lo a

sse

Makespan medio

21eD 22eD

B 471,78 147,88

BS 450,08 144,96

C 479,32 168,32

CS 459,92 160,32

0

100

200

300

400

500

600

Tito

lo a

sse

Makespan medio

21eD 21eR 22eD 22eR

4,00%

2,02%1,66%

3,54%3,68%3,20%

4,32%

5,72%

Miglioramenti %

Miglioramenti Euristica B Miglioramenti Euristica C

Page 66: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

66

Proprio questo squilibrio del carico tra le macchine mostra secondo noi quanto in realtà

l’idea di scambiare no job singoli ma sequenze di job uguali per tempi eterogenei ,dove i

set-up non contano poi cosi tanto sia poco efficiente ,e quel poco vada a discapito del

bilanciamento tra le varie macchine anche se per i lotti è quasi normale.

7.6 Lotti Online:

Per quanto riguarda il caso Lotti Online si è deciso di non fare un’analisi approfondita

come per i casi precedenti. Questo perché le euristiche presentate tendono alla lunga ad

arrivare a comportamenti simili a quelli già illustrati per la casistica online. Questo

soprattutto in caso di release date ravvicinate poiché il numero di job in coda tende ad

aumentare. Nel caso invece di Release date distanti la possibilità di scambi scende

vertiginosamente. Questo succede poiché il tempo set-up insieme alla presenza delle

release date rappresenta un ulteriore vincolo alla presenza di scambi. Per queste

osservazioni si è quindi deciso di non analizzare in maniera approfondita questa

casistica.

0

1

2

3

4

5

6

21eD 21eR 22eD 22eR

Numero Scambi

BS

CS

0 100 200

21eD

22eD

Cmax-Cmin

CS

C

BS

B

0 20 40 60 80

21eR

22eR

Cmax-Cmin

CS

C

BS

B

Page 67: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

67

8 Conclusioni

8.1 Analisi Riassuntiva

Il lavoro di questa tesina è stato quello di analizzare i risultati di scheduling ottenuti da

un modello da noi creato per la studio di macchine parallele. Sono state implementate

tre euristiche: MinMin(B), MaxMin(A) e Assegnamento Macchina Meno Carica(C),

secondo la funzione obiettivo di minimizzare il tempo di completamento della macchina

più carica. Queste euristiche sono state simulate su più classi di istanza per mostrarne il

comportamento in risposta a differenti caratteristiche del sistema, importanti per il

nostro studio e che sappiamo potersi riproporre nella realtà.

Sono state quindi generate 64 istanze secondo una precisa analisi degli input

,riguardante parametri come il numero di macchine e di job/lotti ,e variabili aleatorie

come i tempi di processamento, di rilascio e ,nel caso dei lotti, di set-up tra due

lavorazioni; per ogni istanza inoltre sono stati effettuati 50 “run” in modo tale da avere

una quantità di dati tale da permetterci di fare un’analisi statistica per ogni tipologia di

istanza. Abbiamo quindi predefinito degli indici di prestazione, fondamentali per il

raccoglimento e la registrazione dei dati, come il makespan medio, il numero di scambi,

il miglioramento % ,la distanza dal minimo ecc… A partire dalle soluzione trovate da

queste tre euristiche abbiamo implementato una nuova euristica basata sulla ricerca

locale,” Scambi(S)”, in grado di migliorare la soluzione di partenza facendo degli scambi

tra job(o porzioni di job dello stesso lotto) di diverse macchine. Infine dopo aver raccolto

tutti i dati è stata fatta l’analisi dei risultati ottenuti per le diverse casistiche (offline e

online) dalle quali abbiamo ottenuto le seguenti principali osservazioni:

- Osservando l’analisi da noi effettuata e le seguenti tabelle riassuntive , non si può non

notare che (B)MinMin è l’euristica che ottiene i risultati migliori nella quasi totalità delle

nostre istanze

OFFLINE R=0

ISTANZA BEST EURISTIC

11e B

12e A

21e B

22e B

11o B

12o B

21o B

22o B

Page 68: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

68

OFFLINE R ≠ 0 TEMPI PROCESSAMENTO OMOGENEI1

ISTANZA BEST EURISTIC

11oR B

12oR B

21oR B

22oR B

11oD B

12oD B

21oD B

22oD B

OFFLINE R ≠ 0 TEMPI PROCESSAMENTO ETEROGENEI2

ISTANZA BEST EURISTIC

11eR B

12eR B

21eR B

22eR B

11eD B

12eD B

21eD C

22eD B

ONLINE TEMPI OMOGENEI

ISTANZA BEST EURISTIC

11oR B

12oR B

21oR B

22oR B

11oD B

12oD B

21oD B

22oD B

1 Vengono considerate solamente le euristiche B e C

2 vedi nota 1

Page 69: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

69

ONLINE TEMPI ETEROGENEI3

ISTANZA BEST EURISTIC

21eR B

22eR B

21eD B

22eD B

LOTTI R = 0;

ISTANZA BEST EURISTIC

11e B

12e B

21e B

22e B

11o B

12o B

21o B

22o B

LOTTI R ≠ 04

ISTANZA BEST EURISTIC

21eR B

22eR B

21eD B

22eD B

21oR B

22oR B

21oD B

22oD B

-C’è altresì da sottolineare come l’euristica C (Assegnamento Macchina Meno Carica)

non sia meno efficiente dell’euristica B per funzione obiettivo. Infatti come abbiamo

visto nell’analisi fatta nei capitoli precedenti, le distanze fra i risultati delle due

euristiche in molte delle nostre istanze discostano di pochi punti percentuali,

aumentando maggiormente nel caso in cui sono presenti pochi job da assegnare; infatti

in quest’ultimo caso si ha una maggiore probabilità di avere diverse macchine scariche e

poca scelta tra i processamenti dei job, alzando dunque la probabilità di scegliere per

3 vedere 7.3 per l’analisi

4 Considerate solo l’euristiche B e C e solo i casi con 80 Job per aver risultati interessanti da analizzare

Page 70: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

70

tali job dei tempi di processamento relativi alla macchina scarica molto maggiori rispetto

al processamento sulle altre macchine.

-L’euristica A (MaxMin) in generale non ha mostrato dei buoni risultati soprattutto nei

casi in cui la numerosità dei job era di gran lunga maggiore rispetto alla disponibilità

delle macchine. Ha mostrato un comportamento molto simile all’algoritmo B nei casi in

cui si è trovato a schedulare pochi job su tante macchine (12), avvicinandosi cosi

all’idea dell’algoritmo LPT per il quale era stato concepito (che ,soprattutto nel caso di

tempi di processamento eterogenei , trova l’efficienza nel poter schedulare prima i job

lunghi e poi disporre alla fine quelli più corti).Ha comunque permesso di mostrare la

bontà dell’euristica S (Scambi) con dei miglioramenti che in alcuni casi hanno sfiorato il

30% ed un numero di scambi superiori a 150.

-Molto interessante è stata la simulazione degli scambi nelle classi di istanze “online”

poiché fare scambi online non è una garanzia di efficienza nel migliorare la soluzione,

proprio perché lo scambio non avviene alla fine su tutti i job, e di conseguenza

otteniamo dei miglioramenti parziali che non assicurano il miglioramento finale.

-Di impatto è stato vedere come la lavorazione dei lotti,e quindi decidere se lavorare

tutto il lotto o suddividerlo su più macchine perche in grado di abbassare il tempo di

completamento, sia dipendente dalla grandezza dei tempi di set-up delle macchine.

Un ulteriore considerazione che possiamo fare è quella sui tempi di esecuzione di ogni

istanza. Ricordando che abbiamo calcolato i tempi di esecuzione come tempo totale

diviso per il numero di esecuzioni (n=50) e che dipende dal numero di scambi effettuati

e quindi dall’efficienza della soluzione di partenza, i tempi di esecuzione da noi calcolati

risultano molti bassi. Eccezion fatta per la casistica on-line dove, vista la situazione già

spiegata in precedenza, ci siamo trovati di fronte ad un gran numero di scambi (anche

più di 150 per l’euristica C) che ha fatto aumentare notevolmente il tempo di esecuzione

rispetto alle altre casistiche ma restando in tempi comunque ottimi. Oltre a questo c’è

da osservare che le casistiche 21 e 22 sono sempre le peggiori in termini di tempi di

esecuzione. Questo è proprio quello che ci aspettavamo visto il gran numero di job e

quindi la maggior possibilità di scambi da effettuare.

8.2 Possibili Miglioramenti Futuri

Per migliorare il nostro lavoro, secondo i nostro punto di vista, è fondamentale porre

l’attenzione soprattutto su possibili nuove euristiche di miglioramento delle soluzioni

ottenute con le tre euristiche da noi implementate. Questo perché è importante

Page 71: UNIVRSITA’ GLI STUI ROMA TRadacher.dia.uniroma3.it/automazione1/Tesina... · quanto è possibile che le macchine che non sono giunte ancora a quel tempo di completamento massimo,

71

apportare dei miglioramenti alle soluzioni di euristiche che sappiamo in generale

comportarsi bene in dei casi e meno bene in altri.

Un’euristica interessante da implementare potrebbe essere sicuramente una in grado di

spostare un singolo job da una macchina a un’altra senza dover coinvolgere un altro job

sperando che si possa colmare un deficit di carico tra le macchine oppure andare ad

occupare dei tempi morti presenti nelle macchine (come nel caso di job schedulati

offline con release diverse da zero). Sarebbe inoltre molto interessante confrontare poi i

risultati di questa nuova euristica di miglioramento con quella da noi implementata

anche se, per quanto riguarda il bilanciamento del carico in termini di completamento,

abbiamo visto come per i job singolo non ci sia una grande disparità tra le macchina più

carica e quella meno. Quindi potendo prevedere il comportamento non ci aspettiamo

una eguale capacità migliorativa