2JSP: Condivisione a tempo minimo di risorse per due lavori*. Griglia, Grafo degli stati *Per la quasi totalità di questa unità didattica si possono prendere.

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture Dati
I numeri naturali ….. Definizione e caratteristiche
MONITORAGGIO MATEMATICA V A Alunni 26 Presenti 23 Quesiti 44 Risposte totali 650 Risultato medio 28,3 media 64,2%
Process synchronization
Il problema del minimo albero ricoprente in un grafo non cooperativo
Sistema di riferimento sulla retta
Esercizio d’esame Petri e Gantt B
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Informatica Generale Alessandra Di Pierro
Algoritmi e Strutture Dati
Il campo elettrico - Lo chiamiamo campo elettrico,
Elettrostatica 3 23 maggio 2011
Lez. 3 - Gli Indici di VARIABILITA’
esponente del radicando
2ab2 2b4 4x − 2y a 3b2y3 3b2y3b Definizione e caratteristiche
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Cammini minimi con una sorgente
Alberi binari di ricerca
Cammini minimi con sorgente singola
Ordini Parziali - Reticoli
Fogli elettronici Microsoft Excel.
Algoritmi e Strutture Dati
Esercizio 1 1)      Un collegamento end-to-end è formato da tre tratte, la prima AB con la velocità di 5 Mb/s, la seconda BC di 20 Mb/s e la terza CD di.
R. Soncini Sessa, MODSS, L 24b Analisi a molti obiettivi-esempi Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini Sessa.
Identificazione delle attività
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 8 Marzo 2013.
Process synchronization
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Algoritmi e Strutture Dati
Flusso Massimo Applicazione di algoritmi
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. B)
2JSP: Condivisione a tempo minimo di risorse per due lavori*.
08 Esame1 AI I 18apr Un FMS lavora a ciclo continuo tre tipi di pezzi. Quelli di tipo A visitano prima la macchina M1, poi M2 ed infine sono rilasciati.
Controllo delle operazioni su una macchina
B D1D1 D2D2 B2B2 6 4 B3B3 3 B1B1 2 1 B4B4 B5B5 D3D3 D4D4 D5D5 D6D6 a b c a T=22 c d T= P.D. SENZA e CON DUPLICAZIONE.
LEGENDA GialloZona proibita RossoPunto di scambio utensile Lavoro B Lavoro A.
Napoa Azione 4 – Gruppo B7 1.Risultati della somministrazione 2002: M2 Vamio Analisi item test di profitto rispetto ai contenuti riferiti ai temi ministeriali.
Cos’è un problema?.
Lezione 8 Numerosità del campione
Intelligenza Artificiale
Università degli Studi di Padova Progetto Lauree scientifiche Buratto Alessandra Dipartimento Di Matematica Pura Ed Applicata Liceo Scientifico "L. da.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
Velocità ed accelerazione
SCOMPOSIZIONE IN FATTORI PRIMI di un polinomio
Elementi di Informatica di base
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Metodi di soluzione guasti nel volo in formazione di velivoli autonomi Candidato: Simone Di Nisio Relatori: Prof. M.Innocenti Prof. A. Balestrino.
Somma fra frazioni algebriche
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
Scomposizione polinomi
RISOLVERE LE EQUAZIONI
PARTE PRIMA: Reti Cablate
Algoritmi e Strutture Dati
Riepilogo Foglio elettronico Excel - Base
Prof. Cerulli – Dott.ssa Gentili
Progressioni aritmetiche descrizione elementare
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
delle operazioni con precedenze
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Soluzione: Algoritmo Heap-Sort Un array A[1..n] può essere interpretato come un albero binario: A[1] è la radice, A[2i] e A[2i+1] sono i figli di A[i]
Risoluzione di Problemi con gli algoritmi Ricorsivi
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Transcript della presentazione:

2JSP: Condivisione a tempo minimo di risorse per due lavori*. Griglia, Grafo degli stati *Per la quasi totalità di questa unità didattica si possono prendere come riferimento le dispense di A. Agnetis: Dispense di Automazione Industriale per il corso Universitario, ad uso interno.1993, il cui file pdf è disponibile nella stessa cartella del presente file

2JSP: two job shop problem Cioè problema di due lavori da svolgere in unofficina I due lavori sono costituiti ciascuno da una sequenza di operazioni non interrompibili. Alcune o tutte le operazioni richiedono una risorsa (macchina, utensile, stazione di lavoro, ma anche sw, operatore umano, accesso dati, …..) in uso esclusivo, con tempo di esecuzione assegnato. Alcune risorse sono da condividere, in divisione di tempo, tra due o più operazioni, con la possibilità di creare conflitti, se appartengono a lavori diversi. Il problema è minimizzare il tempo complessivo di completamento di entrambi i lavori, commutando cioè in modo ottimo (in tempo trascurabile o meno) limpiego della risorsa da condividere da un lavoro allaltro, in caso di conflitto.

M1M1 M2M2 IN OUT stazioni di attesa 1 _ 2 Cella: insieme coordinato di macchine con forte condivisone di risorse di lavoro (robot, stazioni, strumenti, …) Controllo delle operazioni nelle celle

M1M1 M2M2 IN OUT Stazioni di attesa 1 _ 2 1 : grezzo disp. _ 2 : out libero

Un esempio di 2JSP: CELLA CON UTENSILI CONDIVISI Magazzino utensili A B

ESEMPIO 2JSP1: Due lavori: A e B t.A ut.At.But.Bindici cond. cond. op. 2, ,7 2,4 2 3,1 2,1 3 1,6 1,4 4 3,5 3,1 5 1,4 6 2,5 7

Tempo di trasferimento trascurabile CELLA CON UTENSILI CONDIVISI: condivisione a tempo minimo: Gantt Tempo di completamento: Cm Robot trasferisce utensile Sequenziamento greedy (famelico): le operazioni iniziano appena possibile, cioè prende prima lutensile chi lo chiede prima (minimizza Cm?) (Si veda anche Agnetis Dispense …: 2.3 scheduling.. pp. 49_ _53)

Progr. di B 2 Progress. di A 2 GRIGLIA DELLE OPERAZIONI Tempo robot trascurabile: Condivisione a tempo minimo Progredire delle operazioni A Progredire delle operazioni B B1B1 B2B2 AnAn BmBm A1A1 A2A2 n : m

ESEMPIO 2JSP2: Due lavori assegnati: A e B t.A ut.At.But.Bindici cond. cond. op

B1B1 B2B2 AnAn BmBm A1A1 A2A2 il percorso minimo può non essere unico

Tempo di completamento Cm Schedule equivalente: CELLA CON UTENSILI CONDIVISI il percorso minimo può non essere unico: qui due seq. ottimi

CELLA CON UTENSILI CONDIVISI GLI SCAMBI DI UTENSILE CORRISPONDONO A PARTICOLARI STATI DEL SISTEMA (stati di commutazione) Il grafo di stato si può ottenere direttamente dal diagramma di Gantt A 1 /B 2 B 3 /A 3 A 3 /B 5 O F

SCAMBIO UTENSILI : STATI DAL GANTT B 5 /A 3 A 3 /B 5 F O B 2 /A 1 greedy alternativa

B1B1 B2B2 AnAn BmBm A1A1 A2A2 B 4 /A 6 B 3 /A 3 B 5 /A 3 B 2 /A 1 A 5 /B 4 A 6 /B 4 A 3 /B 5 B 4 /A 5 F O A 1 /B 2

Cm Si supponga non trascurabile il tempo di commutazione Schedule equivalente: CELLA CON UTENSILI CONDIVISI

Schedule migliore UTENSILI CONDIVISI: tempo robot > 0 se > 0, con i dati di prima, il sequenziamento con più commutazioni è il migliore

UTENSILI CONDIVISI: tempo robot > 0 Non si può usare la griglia, ma si può ugualmente costruire un GRAFO DI STATO Si sviluppa prima il sequenziamento con soluzione greedy dei conflitti, quindi si sviluppano i sequenziamenti con soluzioni alternative

B1B1 B2B2 AnAn BmBm A1A1 A2A2 F O Difficoltà di rappresentare sulla griglia il tempo B1B1 B2B2 A1A1 A2A2 O B 4 /A 6 A 5 /B 4 A 3 /B 5 F A 1 /B 2 A 3 /B 3 B 3 /A 3 Qui è la difficoltà: da A 5 /B 4, per un tempo non progredisce né A né B

A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 utensile F O B 3 /A 3 A 5 /B 4 B 2 /A 1 A 1 /B 2 A 3 /B 5 B 4 /A 6 B 5 /A 3 A 6 /B 4 tempo A 3 /B 3 B 4 /A 5 Sviluppo della soluzione greedy del conflitto tra A 1 e B 2 In arancio le non-greedy B 3 /A 3 non-greedy A 3 /B 5 greedy tutte soluzioni greedy dei conflitti, ma anche A 6 /B 4 è greedy perché A 6 e B 4 chiamano in simultanea

F O B 3 /A 3 A 5 /B 4 B 2 /A 1 A 1 /B 2 A 3 /B 5 B 4 /A 6 A 6 /B 4 B 5 /A 3 A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 A 3 /B 3 B 4 /A 5 Sviluppo della soluzione non-greedy del conflitto tra A 3 e B 5

A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 Sviluppo della soluzione non-greedy del conflitto tra A 5 e B 4 F O B 3 /A 3 A 5 /B 4 B 2 /A 1 A 1 /B 2 A 3 /B 5 B 4 /A 6 A 6 /B 4 B 5 /A 3 A 3 /B 3 B 4 /A 5

A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 Sviluppo dellaltra soluzione greedy del conflitto tra A 6 e B 4 F O B 3 /A 3 A 5 /B 4 B 2 /A 1 A 1 /B 2 A 3 /B 5 B 4 /A 6 A 6 /B 4 B 5 /A 3 A 3 /B 3 B 4 /A 5

A 1 B 2 A 3 B 3 B 5 A 4 B 1 A 5 A 6 B 4 F B 5 /A 3 A 3 /B 5 O B 2 /A 1 Sviluppo della soluzione non-greedy del conflitto tra A 1 e B 2 A 3 /B 5 B 5 /A 3 greedy

F O B 3 /A 3 A 5 /B 4 A 1 /B 2 A 3 /B 5 B 4 /A 6 B 5 /A 3 A 6 /B 4 B 2 /A 1 GRAFO COMPLETO -Applicando Dijstra i nodi si sviluppano nellordine della numerazione (in nero i tempi candidati da O: il minimo è il definitivo) A 3 /B 3 B 4 /A 5 ESEMPIO 2JSP1: Due lavori assegnati: A e B Tempo di commutazione degli utensili = 3 t.A ut.At.But.Bindici cond. cond. op ESEMPIO 1

SCHEDULE OTTIMA e percorso critico : F O B 3 /A 3 A 5 /B 4 A 1 /B 2 A 3 /B 5 B 4 /A 6 B 5 /A 3 A 6 /B 4 B 2 /A 1 A 3 /B 3 B 4 /A 5

ALGORITMO A * La procedura di costruzione del cammino minimo e simile a quella dellalgoritmo di Dijkstra. Utilizza però, per lespansione di un nodo, una stima h* del costo di un cammino che è tra i migliori tra quelli che passano per il nodo dato

h* (i) := d*(i) + f* (i) f (i):= costo di un miglior cammino da i ad F f* (i):= stima del costo di un miglior cammino da i ad F d*(i):= costo di un miglior cammino da O a i finora trovato

h* (i) = d*(i) + f* (i) h* (i) stima del costo di un miglior cammino, passante per i, che unisce O ad F e che segue fino a i il cammino di costo minimo individuato

Se f * f A* è ammissibile Cioè Se f * è una stima per difetto di f allora A* trova un cammino ottimo verso F, se ne esiste uno

i j d(j,i) Allora, applicato come Dijkstra, A* dà la distanza minima dallorigine, perché risulta: ASSUNZIONE DI CONSISTENZA: passando per un successore non peggiora la stima, cioè: f *( j ) d ( j,i ) + f *( i ) h*(i) h*(j) => d*(i) d*(j) + d(j,i) f * ( j ) f * ( i )

i j d(j,i) d*(j) + f *(j) d*(j) + f *(i) + d(j,i) CONSISTENZA: d*(i) + f* (i) d*(j) + f* (i) + d(j,i) Nodo i già espanso: h*(i) h*(j) h*(i) h*(j) => d*(i) d*(j) + d(j,i) Cioè non posso raggiungere un nodo già espanso con distanza minore, quindi la sua distanza minima dallorigine è d(i)=d*(i). da cui, se h*(i) h*(j) cioè se: d*(i) + f * (i) d*(j) + f * (j) si ha:

B1B1 B2B2 A7A7 B7B7 A1A1 A2A2 O F f*(B 2 /A 2 )=14 f*(A 3 /B 5 )=8 A 2 /B 2 A 3 /B 5 A 6 /B 6 B 2 /A 2 B 6 /A 6 B 5 /A 3 B5B5 A3A3 A B d(B 2 /A 2, A 3 /B 5 )=7 VERIFICA DELLA CONSISTENZA ESPANSIONE DEI NODI CON A*

B1B1 B2B2 AnAn BmBm A1A1 A2A2 F O Applicazione di A* allESEMPIO 1): B1B1 B2B2 A1A1 A2A2 O A 5 /B 4 A 1 /B 2 A 3 /B 3 B 3 /A 3 I valori della stima definitiva del tempo del percorso che passa per il nodo sono in campo bianco Ottimo effettivo A 3 /B 5

F O B 3 /A 3 A 5 /B 4 A 1 /B 2 A 3 /B 5 B 4 /A 6 B 5 /A 3 A 6 /B 4 B 2 /A 1 GRAFO COMPLETO -Applicando Dijstra i nodi si sviluppano nellordine della numerazione (in nero i tempi candidati da O: il minimo è il definitivo) - Con A* si sviluppano solo O e i nodi con i numeri romani A 3 /B 3 B 4 /A 5 ESEMPIO 2JSP 1: Due lavori assegnati: A e B Tempo di commutazione degli utensili = 3 t.A ut.At.But.Bindici cond. cond. op I 1 III II O ESEMPIO 1

ESERCIZIO 1 Con i dati di cui sotto si calcoli il sequenziamento che minimizza C m, utilizzando lalgoritmo A* Due lavori assegnati: A e B Tempo di commutazione degli utensili = 0,75 t.A ut.At.But.Bindici cond. cond. op. 2, ,75 2, ,5 1,5 4 3, ,5 6 2,5 7

Programmazione dinamica per il calcolo percorso minimo: min Cm B1B1 B2B2 AnAn BmBm A1A1 A2A2 n : m d1=2,5 Si calcolano i di (distanza minima dallorigine del nodo i) trovando i percorsi minimi d fino a i: d2=4,4 d3=7,3 d4=7 d7=10,1 d6=10,8 d5=12,4 d9=13,8 d11=16,3 d10=13,8 d12=15,2 Cm=17,7 in questo caso il sequenziamento greedy minimizza Cm di d8=11 Il percorso Ha un arco non greedy

ESEMPIO 3): UNA APPLICAZIONE DI A* Problema Un flusso continuo di pezzi subisce ciascuno una sequenza di 10 operazioni: su una prima macchina le operazioni da O 1 a O v-1 e poi su una seconda macchina da O v a O 10, senza buffer fra le due macchine. Flusso continuo senza buffer significa che la prima macchina esegue la sottosequenza da O 1 a O v-1 nello stesso periodo di tempo in cui la seconda macchina esegue la sottosequenza da O v a O 10.

UNA APPLICAZIONE DI A* Problema Le operazioni richiedono i seguenti tempi: Operazioni Tempi Tra le operazioni vi sono le seguenti incompatibilità, dovute alla condivisione di risorse terze, indicate con lettere maiuscole: (O 1 O 3 O 6 ) A ; (O 2 O 7 ) B ; (O 4 O 7 ) C ; (O 6 O 8 ) D. Utilizzando il grafo generato dalla griglia di condivisione delle risorse terze, si scelga v (ovviamente da 2 a 10) in modo da minimizzare il tempo di ciclo, cioè di esecuzione in parallelo delle due sottosequenze. Si noti che, invece di usare 9 griglie, una per ciascun valore di v, che generano 9 grafi con unorigine e una destinazione, si può usare una sola griglia per generare i 9 grafi, ciascuno con la sua origine e la sua destinazione.

A O1O1 O7O7 O2O2 O3O3 O8O8 O4O4 O5O5 O6O6 O9O9 O 10 A T 1 =28 3 UNA APPLICAZIONE DI A* h ixy : stima del tempo minimo di un percorso che inizia con O i e passa per O x /O y GRIGLIA DELLE OPERAZIONI e h 2xy : v = 2 GRIGLIA DELLE OPERAZIONI e h 3xy : v = 3 B A O1O1 O2O2 O7O7 O2O2 O3O3 O8O8 O4O4 O5O5 O6O6 O9O9 O 10 A T 2 =28 T 3 = h 313 =29 h 331 =26 h 213 =29 h 231 =28

B A GRIGLIA DELLE OPERAZIONI: v da 2 a 7 (sviluppati solo i nodi migliori in A * : per v=7 si è dovuto tornare su O 7 /O 2 che ha un h * migliore di O 8 /O 6 : ) Inutile considerare v da 8 a 10 perché la somma dei tempi delle operazioni assegnate a M 1 supera il minimo, 21, finora ottenuto, perché è 21 per v=7. O1O1 O2O2 O7O7 O2O2 O3O3 O8O8 O4O4 O5O5 O6O6 O9O9 O 10 O3O3 O4O4 O5O5 O6O6 A T 2 =28 T 3 =26 C D A T 4 =25 T 5 = T 6 =22 T 7 =22 h 536 =22 h 563 =21 h 574 =21 h 547 =26 h 772 =22 h 727 =21 h 786 =23 h 747 =21 h 774 =24 h 768 =26 h 661 =22 h 616 =19 h 663 =19 h 674 =22 h 636 =22 h 672 =22 h 627 =22 h 647 =24

ESERCIZIO 2: Si risolva lo stesso problema di cui nei quadri precedenti, con le operazioni di cui sono riportati nella prima colonna glindici e nella seconda tempi, con la sola incompatibilità tra O 2, O 4 e O 5, dovuta allutilizzo dello stesso utensile i tu Con un tempo di trasporto dellutensile : = 0 oppur e 0.5

O B1/RA2B1/RA2 A1/RB2A1/RB2 A 3 /B 3 A 5 /B 4 B 3 /A 3 A 3 /B 5 B 4 /A 6 R R 2JSP: CONFLITTO DOPPIO A 1 B 2 A 3 B 3 B 5 A 2 B 1 A 5 A 6 B 4 (Si veda anche Agnetis Dispense …: 2.5 Gestione dinamica... pp. 69_ _90)

O B 2 /A 1 A2/ B1A2/ B1 A 1 B 2 A 3 B 3 B 5 A 2 B 1 A 5 A 6 B 4 B 5 /A 3 A 6 /B 4

A 1 B 2 A 3 B 3 B 5 A 2 B 1 A 5 A 6 B 4 O B1/RA2B1/RA2 B 3 /A 3 A 3 /B 5

A 1 B 2 A 3 B 3 B 5 A 2 B 1 A 5 A 6 B 4 O B1/RA2B1/RA2 B 3 /A 3 B 5 /A 3

O B1/RA2B1/RA2 A1/RB2A1/RB2 A 1 B 2 A 3 B 3 B 5 A 2 B 1 A 5 A 6 B 4 A 3 /B 3 A 5 /B 4 B 4 /A 6 B 3 /A 3 A 6 /B 4 B 5 /A 3 A 3 /B 5 B 4 /A 5 B 2 /A 1 A2/ B1A2/ B1

DUPLICAZIONE DEGLI UTENSILI La duplicazione degli utensili riduce i conflitti, duplicare un utensile vuol dire eliminare alcune zone critiche

B1B1 B2B2 B5B5 A1A1 A2A2 B4B4 B3B3 A3A3 A4A4 A5A5

B1B1 B2B2 AnAn BmBm A1A1 A2A2 UTENSILE DUPLICATO

il problema diviene quindi duplice: minimizzazione del tempo di completamento minimizzazione del numero di utensili duplicati

si può procedere come per la minimizzazione di F ed T max: si minimizza il tempo con un vincolo sulla duplicazione, per trovare poi una curva di efficienza muovendo il vincolo

La minimizzazione del tempo con vincolo sulla duplicazione degli utensili e risolubile tramite la programmazione dinamica, utilizzando unistanza di : PERCORSO MINIMO PESATO

F O B 3 /A 3 A 3 /B 3 A 1 /B 2 A 5 /B 4 B 4 /A 5 B 5 /A 3 A 3 /B 5 B 2 /A 1 B1B1 B2B2 B5B5 A1A1 A2A2 B4B4 B3B3 A3A3 A4A4 A5A Numerazione Topologica: i Ogni arco ha un costo (tempo occorrente) e un peso

PROGRAMMAZIONE DINAMICA* Per trovare il percorso minimo, conviene applicare lintuitivo principio della programmazione dinamica (Belman), che si può sempre applicare a grafi aciclici con pesi anche non tutti dello stesso segno (positivi o negativi). Il principio di Belman si applica a qualsiasi sistema a stati continui o discreti, finiti o infiniti: Qualsiasi segmento di un percorso ottimo nello spazio (o nel grafo) di stato è ottimo (ovviamente secondo lo stesso indice di prestazione o costo), a partire dallo stato di inizio del segmento e arrivare al suo stato di fine *per approfondimenti libri didattici di Ricerca Operativa

PROGRAMMAZIONE DINAMICA La programmazione dinamica di Belman si può applicare a grafi aciclici allindietro (considerando prima di tutto i predecessori dello stato finale a cui si vuol giungere) o in avanti, come faremo: Per ogni nodo, in una successione che rispetta lordinamento parziale indotto dal grafo aciclico, si calcola il percorso minimo dallorigine, scegliendo tra i suoi predecessori, nel rispetto dei vincoli, finché si raggiunge la fine.

O r i i t i,r : tempo dellarco i => r w i r : peso dellarco tra i ed r F ( r,h ): tempo del percorso minimo dallorigine ad r, di peso h i < r i Per il principio di Belman, se un percorso ottimo da O a r passa per un predecessore i, anche il suo segmento da O a i è ottimo. Di conseguenza, basta confrontare le somme del tempo di ciascun arco i => r più quello del percorso ottimo che arriva a i con peso sufficiente [quello desiderato (qui h) meno quello dellarco i => r ] F F ( r,h-w i r ) t i,r w i r F ( r,h)

SOLUZIONE DEL PROBLEMA Programmazione dinamica: F(r,h) = min i<r [ F( i, h-w i r ) + t i,r ] SOL. OTTIMA F (n,k) Se si vuol provare il percorso a tempo minimo con peso non superiore a k, si comincia dagli F(r,h) degli immediati successori di O con peso h k :

B1B1 B2B2 A7A7 B7B7 A1A1 A2A2 O F A 2 /B 2 A 6 /B 6 B 2 /A 2 B 6 /A 6 B 5 /A 3 B5B5 A3A3 SOLUZIONE DEL PROBLEMA? No! ARCO DI PESO 1 ARCO DI PESO 0, se si arriva al nodo A 3 /B 5 direttamente dallorigine (senza zone ) altrimenti no: il nodo non è più uno stato! A 3 /B 5

c.s. ogni utensile può essere utizzato più volte da un solo job, ma non più di una volta da entrambi i job TUTTE LE ZONE PROIBITE ASSOCIATE AD UN TIPO DI UTENSILE SONO DISPOSTE SULLA STESSA FASCIA VERTICALE O ORIZZONTALE DELLA GRIGLIA CIOE

se la C.S. e soddisfatta il peso di un arco dipende solo dal nodo da cui parte, che quindi resta uno stato

B1B1 B3B3 B6B6 A1A1 A2A2 B5B5 B4B4 A3A3 A4A4 A6A6 O F B2B2 A5A5 Infatti la C.S. garantisce che non ci siano zone proibite fra quelle dellutensile duplicato, quindi si deve attraversare tutta la relativa fascia incrementando di 1 il peso dellarco. Viceversa non si devono considerare archi che partono da nodi stato delle zone della fascia e ne tagliano altre

B1B1 B3B3 B6B6 A1A1 A 23 B5B5 B4B4 A4A4 A6A6 O F B2B2 A5A5 Viceversa non si devono considerare archi che partono da nodi stato delle zone della fascia e ne tagliano altre. Attenzione: da A 23 / B 4 parte un arco di peso 1 (si pensi al Gentt) anche se il punto rappresentava pure un nodo della stessa fascia dellutensile duplicato

Esercizio 3: 2JSP, con duplicazione utensili condivisi: Minimizzare il tempo di completamento di due lavori A e B duplicando al più un utensile t.A ut.At.But.Bindici cond. cond. op (Si veda prima esempio su Agnetis Dispense …: 2.5 Gestione dinamica... p. 88)

Esercizio 4: 2JSP: duplicazione utensili condivisi e tempo di trasporto > 0 Minimizzare il tempo di completamento di due lavori A e B duplicando al più un utensile t.A ut.At.But.Bindici op

se la C.S. non e soddisfatta Il peso di un arco può dipendere da come si è arrivati al nodo da cui parte, che quindi non rappresenta più uno stato del sistema per cui non è più applicabile la programmazione dinamica

B1B1 B2B2 A7A7 B7B7 A1A1 A2A2 O F A 2 /B 2 A 3 /B 5 A 6 /B 6 B 2 /A 2 B 6 /A 6 B 5 /A 3 B5B5 A3A3 Se le zone proibite relative a uno stesso utensile non sono tutte nella stessa fascia, fra di esse ve ne possono essere altre, quindi il peso di un arco può non essere univocamente determinato, ma dipende dallevoluzione precedente ARCO DI PESO 1 ARCO DI PESO 0, se si arriva al nodo A 3 /B 5 direttamente dallorigine (senza zone, altrimenti no: il nodo non è più uno stato!

Linea di 4 macchine con buffer M1M1M1M1 M4M4M4M4 La soluzione del 2JSP è la generalizzazione di quella data da Aker per 2 lavori J i di m operazioni in serie da eseguire su una linea con buffer intermedi: ciascuno di lunghezza temporale t i sulla macchina M i (i=1,…, m) Per minimizzare il tempo di completamento C m si usa una griglia di condivisione in cui le zone proibite riguardano le macchine M2M2M2M2 M3M3M3M3 B B B

F OO M3M3 M4M4 M1M1 M2M2 B1B1 B2B J2J2 J1J1

M1M2 M3 M4 Min C m si può risolvere come un 2JSP allo stesso modo

M1M2 M3 M4 Min C m non si può risolvere allo stesso modo quando i lavori sono n>2 (già per n=3 le zone proibite sarebbero cubi e la progressione greedy potrebbe incidere su una faccia ….)