1 / 20

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 : Pierpaolo Francesco Alessandro. In cosa consiste il problema di scheduling ?.

muriel
Download Presentation

Studio di un problema di sequenziamento ottimale (scheduling) ‏

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Corso di Ricerca Operativa- A.A. 2000/2001 Studio di un problema di sequenziamento ottimale (scheduling)‏ Docente: Prof.Paola Zuddas Relatori: Pierpaolo Francesco 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 • Ttempo di completamento di tutte le lavorazioni • djdata di consegna dell’ordine j • sjktempo di lavorazione dell’ordine j sulla macchina k • tjkistante di avvio della lavorazione del prodotto j sulla macchina k • Msomma totale dei tempi di consegna • yijk variabile binaria introdotta per rispettare la sequenza di lavorazione

  6. Modello Matematico (cont.)‏ (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} Min T 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) 22.00000 VARIABLE VALUE REDUCED COST Y121 0.000000 0.000000 Y122 0.000000 -37.000000 T 22.000000 0.000000 T12 12.000000 0.000000 T22 5.000000 0.000000 T11 5.000000 0.000000 T21 0.000000 1.000000

  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 d1=26 d2=28 d3=54 d4=42 d5=36 Consideriamo ora come secondo esempio un’estensione del caso precedente, con m=4 macchine e n=5 ordini: 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=26+28+54+42+36=186 Il modello in questo caso è molto più complesso del precedente, con ben 166 vincoli Lindo ha fornito la soluzione ottima dopo ben 214312 iterazioni

  13. Applicazione Numerica 2 (cont.)‏ Come output del problema abbiamo stavolta: OBJECTIVE FUNCTION VALUE 1) 36.00000 T12 7.000000 0.000000 T22 3.000000 0.000000 T32 21.000000 0.000000 T42 26.000000 0.000000 T52 13.000000 0.000000 T13 15.000000 0.000000 T23 7.000000 0.000000 T33 26.000000 0.000000 T43 31.000000 0.000000 T53 17.000000 0.000000 T 36.000000 0.000000 T14 16.000000 0.000000 T24 9.000000 0.000000 T34 30.000000 0.000000 T44 34.000000 0.000000 T54 23.000000 0.000000 T11 3.000000 0.000000 T21 0.000000 1.000000 T31 19.000000 0.000000 T41 18.000000 0.000000 T51 7.000000 0.000000 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 2n[ (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 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. 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

More Related