La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Studio di un problema di sequenziamento ottimale (scheduling)

Presentazioni simili


Presentazione sul tema: "Studio di un problema di sequenziamento ottimale (scheduling)"— Transcript della presentazione:

1 Studio di un problema di sequenziamento ottimale (scheduling)
Corso di Ricerca Operativa- A.A. 2000/2001 Studio di un problema di sequenziamento ottimale (scheduling) Docente: Prof.Paola Zuddas Relatori: Depau Pierpaolo Piu Francesco Sulis Alessandro

2 In cosa consiste il problema di scheduling ?
Riguarda l’ottimizzazione dei tempi di produzione in modo tale da minimizzarne i costi Permette di sequenziare opportunamente la lavorazione dei pezzi, programmare le operazioni di manutenzione e i set-up macchina, sfruttando al meglio le fasi di attesa

3 Scopo del lavoro Minimizzazione del tempo totale di completamento di m ordini su n macchine, dove: Tale tempo è funzione soltanto dei tempi di lavorazione richiesti da ciascun ordine su ogni macchina Lo scheduling deve essere eseguito nel rispetto delle date di consegna stabilite I tempi di lavorazione sono considerati comprensivi dei tempi di di set-up macchina tra due lavorazioni successive e di smontaggio e montaggio del pezzo

4 Analisi del problema Obiettivo: minimizzazione del tempo totale T di esecuzione di tutte le lavorazioni, nel rispetto dei seguenti vincoli: Rispetto di tempi e date di consegna Impedire la lavorazione simultanea di due ordini sulla stessa macchina Sequenzialità delle lavorazioni sulle macchine Non negatività dei tempi di lavorazione

5 Modello Matematico T tempo di completamento di tutte le lavorazioni
dj data di consegna dell’ordine j sjk tempo di lavorazione dell’ordine j sulla macchina k tjk istante di avvio della lavorazione del prodotto j sulla macchina k M somma totale dei tempi di consegna yijk variabile binaria introdotta per rispettare la sequenza di lavorazione

6 Modello Matematico (cont.)
Min T (1) tjm+sjm  T (2) tjm+sjm dj (3) tik+sjk  tik+M(1-yijk) (4) tik+sjk  tik+Myijk (5) tjk+sjk  tj, k+1 (6) tjk  0, T  0, yijk = {0,1} Definisce la funzione obiettivo Garantisce il rispetto delle date di consegna Impediscono la lavorazione simultanea di due ordini sulla stessa macchina Esecuzione delle lavorazioni nell’ordine previsto Vincoli di non negatività

7 Modello Matematico:complessità
Il numero delle equazioni di vincolo è proporzionale al numero delle macchine utilizzate e degli ordini da eseguire: se questi sono in numero elevato il problema si complica notevolmente. Vediamo il numero di equazioni per tipo di vincolo, in funzione di m ed n: (1) e (2): pari al numero n di ordini (3) e (4): Per ogni macchina m abbiamo (n-1)+(n-2)+…….1 equazioni (5): Sono pari ad n(m-1) (6): nm per le tik,1 per T, e dello stesso numero di (4) e (5) per le yijk Totale: n+n+3m[(n-1)+(n-2)+…..1]+n(m-1)+nm+1 equazioni!

8 Applicazione Numerica
Consideriamo un sistema produttivo semplice composto da due macchine, che deve soddisfare due ordini, con i seguenti dati: Tempi di lavorazione dei prodotti 1 e 2 : s11=2h s12=10h s21=5h s22=7h Scadenze di consegna dei due ordini: d1=24h d2=13h

9 Applicazione numerica (cont.)
Il modello è stato implementato facendo uso del programma Lindo, ha in tutto 18 equazioni di vincolo, e l’output fornito è il seguente: OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST Y Y T T T T T

10 Applicazione numerica (cont.)
Dall’analisi dei risultati otteniamo la seguente sequenza ottimale di lavorazione: 1) Ordine 2 sulla macchina 2 all’istante t=0; 2) Ordine 2 sulla macchina 2 e ordine 1 sulla macchina 1 all’istante t=5; 3) Ordine 1 sulla macchina 2 in t=12. Tempo di lavorazione ottimale: T=22h NB: Al termine della prima lavorazione, l’ordine 1 deve restare in attesa, in quanto la macchina 2 in quell’istante è ancora impegnata con la lavorazione del secondo ordine.Una rappresentazione grafica di tale concetto è fornita dal diagramma di Gantt.

11 Applicazione Numerica (cont.)
Diagramma di Gantt

12 Applicazione Numerica 2
Consideriamo ora come secondo esempio un’estensione del caso precedente, con m=4 macchine e n=5 ordini: d1=26 d2=28 d3=54 d4=42 d5=36 s11=4 s12=6 s13=1 s14=5 s21=3 s22=4 s23=2 s24=7 s31=2 s32=5 s33=4 s34=4 s41=1 s42=5 s43=1 s44=2 s51=2 s52=4 s53=6 s54=7 M= =186 Il modello in questo caso è molto più complesso del precedente, con ben 166 vincoli Lindo ha fornito la soluzione ottima dopo ben iterazioni

13 Applicazione Numerica 2 (cont.)
Come output del problema abbiamo stavolta: OBJECTIVE FUNCTION VALUE 1) T T T T T T T T T T T T T T T T T T T T T NB: L’ottimo risulta T=36, che coincide col termine di consegna più elevato (d5)

14 Applicazione Numerica 2 (cont.)
Diagramma di Gantt

15 Applicazione Numerica 2 (cont.)
Dall’analisi del diagramma precedente possiamo fare alcune importanti considerazioni: 1) Abbiamo ampi intervalli di attesa tra l’esecuzione degli ordini nelle varie macchine 2) Il tempo totale dipende dal fatto che gli ordini con termini di consegna più bassi devono necessariamente essere eseguiti per primi 3) La sequenzialità è un fattore che influisce negativamente sulla minimizzazione, in quanto aumenta il tempo totale di esecuzione delle lavorazioni

16 Scheduling Modificato
Consideriamo dunque una variante del modello precedente, ottenuta eliminando i vincoli di tipo 5 (cioè la sequenzialità delle lavorazioni) sostituendoli con dei vincoli di non simultaneità di esecuzione dello stesso pezzo da parte di 2 diverse macchine contemporaneamente.A questo scopo introduciamo delle nuove variabili binarie xikr: (1) tjk+sjk  T; (2) tjk+sjk  dj; (3) tik+sjk  tik+M(1-yijk) (4) tik+sjk  tik+Myijk (5) tik+sir  tir+M(1-xikr) (6) tir+sir  tik+Mxikr (7) tjk  0, T  0, yijk={0,1}, xikr={0,1}

17 Scheduling Modificato: complessità
La complessità del problema aumenta considerevolmente, perhè al posto degli n(m-1) vincoli di tipo (5) ne abbiamo messo n[ (m-1)+(m-2)+…..1 ] di tipo 3 e 4: infatti questi ultimi, in quanto vincoli di non simultaneità, sono più <<pesanti>>, come numero di equazioni, rispetto a quelli di sequenzialità. Utilizzando i dati dell’applicazione 2, il modello presenta complessivamente ben 250 equazioni di vincolo Per tale motivo Lindo si è <<rifiutato>> di operare e non è stato possibile determinare l’ottimo di questo problema

18 Applicazione 3 s11=2h s12=10h d1=24h d2=13h s21=5h s22=7h
Per verificare la correttezza del modello modificato lo abbiamo applicato sui dati del primo problema considerato (Applicazione 1): s11=2h s12=10h d1=24h d2=13h s21=5h s22=7h Le equazioni di vincolo in questo caso risultano 25, contro le 18 dell’ Applicazione 1; le iterazioni sono 66, mentre nel caso precedente erano solo 14 Tuttavia il valore della funzione obiettivo, com’era da aspettarsi, è notevolmente migliorato, perché da 22 si è ridotto a 15

19 Diagramma di Gantt:confronto con l’Applicazione 1
Applicazione 3 (cont.) Diagramma di Gantt:confronto con l’Applicazione 1 NB:nel diagramma di destra non sono presenti tempi morti nella lavorazione del pezzo 2

20 Conclusioni Dagli esempi visti si può notare come la complessità del problema di scheduling cresca notevolmente al crescere del numero di macchine e di ordini considerato A causa di questo fatto non sempre il software Lindo è stato in grado di fornire la soluzione ottima Il modello modificato è risultato più complesso ma ha permesso di ridurre di molto il tempo totale, a parità di numero di macchine e ordini


Scaricare ppt "Studio di un problema di sequenziamento ottimale (scheduling)"

Presentazioni simili


Annunci Google