delle operazioni con precedenze

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Algoritmi e Strutture Dati
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Dietro la Curva di Offerta: Fattori Produttivi e Costi
I numeri naturali ….. Definizione e caratteristiche
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
CONOSCERE CONOSCERSI COMUNICARE Joseph Ceres
Determinanti del primo ordine
Frontespizio Economia Monetaria Anno Accademico
La scelta del paniere preferito
Algoritmi e Strutture Dati
Modello Macchina Singola
Sintesi dei dati La sintesi dei dati comporta una perdita di informazioni, deve quindi essere privilegiato l’indice di sintesi che minimizza la perdita.
Alberi binari di ricerca
Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax.
Cammini minimi con sorgente singola
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Ordini Parziali - Reticoli
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
R. Soncini Sessa, MODSS, L 24b Analisi a molti obiettivi-esempi Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini Sessa.
EIE 0607 V / 1 sussidio unitario fisso allesportazione si avrà commercio se e solo se | P B AUT - P A AUT | > tc - P B = P A + tc – (A è il paese esportatore)
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
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.
Algoritmo di Ford-Fulkerson
ANALISI DEI GRUPPI seconda parte
Algoritmi e Strutture Dati
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
ELEZIONI REGIONALI 2010 PRIMI RISULTATI E SCENARI 14 aprile 2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi della Logistica
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
Controllo delle operazioni su una macchina
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Cos’è un problema?.
Un gioco di magia!?.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
Curricolo di matematica
I NUMERI IMMAGINARI X2 + 1 = 0 X2 = -1
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
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.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
SCOPRI LA TABELLINA click Trova la regola nascosta… click
LE SAI LE TABELLINE? Mettiti alla prova!.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Pippo.
3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Minimo comune multiplo
Massimo comun divisore
Massimo Comune Divisore e Minimo Comune Multiplo
Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax.
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
Metodi Quantitativi per Economia, Finanza e Management Lezione n°4
Gli indici di dispersione
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
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:

Lavori con precedenza: algoritmo di Lawler per minimizzare la massima penalità

delle operazioni con precedenze Sequenziamento delle operazioni con precedenze J1 J2 J3 J5 J4 J6 magazzino con movimentazione interna Ci possono essere precedenze fra i lavori da compiere rappresentate da un grafo, anche non connesso

gi funzione non decrescente Algoritmo di Lawler (1973) min max* gi (ci) S i=1,…,n gi funzione non decrescente * misura regolare: non decresce con ci max tardiness gh (ch) gk (ck) ci ch ck gi(ci) lateness

Ti: “tardiness”, fuori tempo ( Li: “lateness”, ritardo che negativo diventa anticipo ) Ti := Max (0, ci - di) Ti:  0 di ci

gk (ck) gh (ch) ci ch ck gi(ci) V: insieme dei lavori senza successori nel grafo delle precedenze t := åi pi 1 n k: gk (t) = min gi (t) Ji Î V g i(t) g h (t) g k (t) max gk (ck) gh (ch) ci gi(ci) ch ck t lateness tardiness $ S ottima: Jk è ultimo in S

Dim: $ S ottima: Jk è ultimo in S k: gk (t) = min gi (t) Ji Î V JA Jk JB Jl Sia S’ ottima S’ : c'k c’B t JA JB Jl Jk S : cA cB cl t

S’ ottima ci £ c'i  i  k g i (ci) £ g i (c'i)  i  k g k (ck) = g k (t) £ g l (t) = gl (c’l) max g i (ci) £ max g i (c’i) i=1,…,n i=1,…,n

i(k): gi(k) (t) = min gi (t) J i Î V PASSI DELL’ALGORITMO Grafo delle precedenze 1) k := n G : = { }; n tn := åi pi 1 Lavori senza successori in G 2) V := { }; i(k): gi(k) (t) = min gi (t) J i Î V

3) tk := tk - pi(k); G := G/{ nodo Ji(k)}; k := k -1 4) k ³ 1 Passo 2 k = 0 S = { Ji(1), Ji(2), ... Ji(n)}

gi (ci) = ci - di lateness Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J1 J2 J3 J5 gi (ci) = ci - di J4 lateness J6

t n = 6 gi (ci) = ci - di Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t n = 6

t Lavori Ji: J1 J2 J3 J4 J5 J6 15 gi (tn) : * * 6 * 4 8 n = 6 gi (ci) = ci - di J5 J4 Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t 15 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 i(n)=5 n = 6

t 15 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 13 gi (ci) = ci - di J5 J4 Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t 15 13 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 gi (t5) : * * 4 * 6 i(n)=5 i(5)=3 n = 6

t Lavori Ji: J1 J2 J3 J4 J5 J6 15 gi (tn) : * * 6 * 4 8 13 gi (ci) = ci - di J5 J4 Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t 15 13 9 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 gi (t5) : * * 4 * 6 gi (t4) : * 3 * 2 i(n)=5 i(5)=3 i(4)=6 n = 6

t 15 13 9 8 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 gi (ci) = ci - di J5 J4 Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t 15 13 9 8 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 gi (t5) : * * 4 * 6 gi (t4) : * 3 * 2 gi (t3) : * 2 1 i(n)=5 i(5)=3 i(4)=6 i(3)=4 n = 6

Sequenza ottima: Ji(1) Ji(2) ...Ji(k) ... Ji(n-1) Ji(n) n = 6 gi (ci) = ci - di J5 J4 Lavori: J1 J2 J3 J4 J5 J6 Tempi pi : 2 3 4 3 2 1 Cons. di : 3 6 9 7 11 7 J6 t 15 13 9 8 5 2 Lavori Ji: J1 J2 J3 J4 J5 J6 gi (tn) : * * 6 * 4 8 gi (t5) : * * 4 * 6 gi (t4) : * 3 * 2 gi (t3) : * 2 1 gi (t2) : * -1 gi (t1) : -1 i(n)=5 i(5)=3 i(4)=6 i(3)=4 i(2)=2 i(1)=1 Sequenza ottima: Ji(1) Ji(2) ...Ji(k) ... Ji(n-1) Ji(n) n = 6

Algoritmo di Smith modificato: sequenze efficienti rispetto al completamento medio e il ritardo massimo

Algoritmo di Smith modificato Efficiente rispetto F e Tmax 1980 F’ < F° T’max £ T°max S° : Efficiente: $ S’ : F’ £ F° T’max < T°max F non c’è efficienza (inclusa frontiera) Tmax := maxi Ti 1 n F° non c’è sequenza (inclusa frontiera) Tmax T°max

[S EDD Lmax £ 0] Algoritmo di Smith (1956) min F S : Tmax = 0 $ soluzione Ses le sequenze EDD danno Tmax £ 0 : cm := å r pr 1 n ri = 0 tutti i pezzi disponibili al tempo iniziale F = 1 n åi (ci - ri) = c flusso medio

F = c = Si ci Si ci Jk Jl S’ : Jl Jk S : nF’ = nF - cl + c’k > nF una sequenza è minima solo se l’ultimo lavoro è (uno) di lunghezza massima, tra quelli che possono (senza ritardo) essere sequenziati in ultimo : Jk Jl S’ : c’k cm pl < pk dk , dl ³ cm dk dl Jl Jk cl< c’k S : cl cm dk dl nF’ = nF - cl + c’k > nF F’ non è ottimo F = c = Si ci 1 n 1 n Si ci 1 n

Jk Jl S’ : Si c’i Jl Jk S : Si ci Si c’i Si ci Si ci = - cl + c’k > la sequenza dei rimanenti n-1 è minima solo se l’ultimo lavoro è (uno) di lunghezza massima, tra quelli che possono (senza ritardo) essere sequenziati al posto n-1 : Jk Jl S’ : Si c’i 1 n-1 c’k pl < pk dk , dl ³ cm dk dl Jl Jk cl< c’k S : cl Si ci 1 n-1 dk dl Si c’i 1 n-1 = - cl + c’k > F’ non è ottimo Si ci 1 n-1 Si ci 1 n-1 e così via a ritroso

Passi dell’algoritmo di Smith (1956) 1) k := n U : = { J1 ... Jn }; tn := år pr n 1 2) i(k): Ji(k) Î U (i) di(k) ³ t ( per ipotesi) (ii)  Jl Î U dl ³ t pl £ pi(k)

(i) di(k) ³ t ( per ipotesi) (ii)  Jl Î U dl ³ t 2) i(k): Ji(k) Î U (i) di(k) ³ t ( per ipotesi) (ii)  Jl Î U dl ³ t pl £ pi(k) Il passo 2 pone al posto k-esimo il lavoro di peso massimo tra quelli che ci possono stare con il vincolo Tmax =0 il vincolo Tmax =0 equivale a Lmax  0

3) tk := tk - pi(k); U := U / { Ji(k)}; k := k -1 4) k ³ 1 Passo 2 k = 0 S = { Ji(1), Ji(2), ... Ji(n)}

Algoritmo di Smith modificato: Efficiente rispetto F e Lmax Dati: una sequenza EDD dei lavori: { J1 ... Jn } D ³ Tmax della EDD di := di + D D D dk dl dk dl Modifica dell’algoritmo

(i) di(k) ³ t ( per ipotesi) (ii)  Jl Î U dl ³ t 2) i(k): Ji(k) Î U diviene pl £ pi(k) (i) di(k) ³ t ( per ipotesi) (ii)  Jl Î U dl ³ t 2’) i(k): Ji(k) Î U pl < pi(k) pl = pi(k) => dl £ di(k) NO! di(k) < dl pl pi(k) =

F°:= min F * Lmax £ D D° = min Lmax F £ F° È il risultato dell’algoritmo modificato * Attenzione: Lmax può essere negativo Con D°:= Lmax per la S ottima D° = min Lmax F £ F° La condizione modificata dà:

F £ F° D°= T°max = min Tmax F £ F° F° = min F Tmax £ D°= T°max Se D° ³ 0 Con D° = min Lmax F £ F° l’algoritmo dà: F° = min F Tmax £ D°= T°max D°= T°max = min Tmax F £ F°

Efficienza rispetto F e Tmax F°= min F Tmax £ T°max F < F° Tmax £ T°max $ S: S° è Efficiente T°max = min Tmax F £ F° F £ F° Tmax < T°max F non c’è efficienza* F° non c’è sequenza* * frontiera compresa T°max Tmax

L’algoritmo dà una sequenza S efficiente rispetto a F e Tmax Att. : Se i(k) non è unico al passo 2’ ogni scelta diversa porterà a sequenze efficienti diverse

Efficienza rispetto F e Tmax Esempio: curva di efficienza Lavori: J1 J2 J3 J4 Tempi pi : 2 4 3 1 Cons. di : 1 2 4 6 Punto 1 n Passo 1: D = Passo 2: Smith mod. dà: J4 J1 J3 J2 åi pi = 10 1 F° = 5 T°max = 8

Efficienza rispetto F e Tmax Se ci sono più SPT l’alg. da’ quella con Lm minore. Es.: Lavori: J1 J2 J3 J4 Tempi pi : 2 4 4 1 Cons. di : 1 2 4 6 L: 2 5 6 -5 Punto 1 n Passo 1: D = Passo 2: Smith mod. dà: J4 J1 J2 J3 åi pi = 10 1 L’altra SPT avrebbe dato 9 F° = 5 T°max = 6

Efficienza rispetto F e Tmax Esempio: curva di efficienza Lavori: J1 J2 J3 J4 Tempi pi : 2 4 3 1 Cons. di : 1 2 4 6 Punto 2 Passo 1: D = 8 -1 = 7 ³ 0 Passo 2: Smith mod. dà: J4 J1 J2 J3 F° = 5.25 T°max = 6

Efficienza rispetto F e Tmax Esempio: curva di efficienza Lavori: J1 J2 J3 J4 Tempi pi : 2 4 3 1 Cons. di : 1 2 4 6 Punto 3 Passo 1: D = 6 -1 = 5 ³ 0 Passo 2: Smith mod. dà: J1 J2 J3 J4 La seq. è una (la unica in questo caso) EDD quindi non si può abbassare T°max F° = 6.75 T°max = 5

Efficienza rispetto F e Tmax Esempio: curva di efficienza Lavori: J1 J2 J3 J4 Tempi pi : 2 4 3 1 Cons. di : 1 2 4 6 Infatti: Passo 1: D = 5 -1 = 4 ³ 0 Passo 2: non ci sono sequenze con T°max £ 4 perché min Lm = 5

Efficienza rispetto F e Tmax Esempio: curva di efficienza: punti calcolati F non c’è efficienza F°= 6.75 F°= 5.25 F°= 5 non c’è sequenza* 4 T°max = 6 T°max = 8 T°max= 5 Tmax

Efficienza rispetto F e Tmax Esempio: curva di efficienza: punti calcolati F non c’è efficienza* EDD: min Lmax = 5 F°= 6.75 F°= 5.25 SPT: min F = 5 F°= 5 non c’è sequenza* 4 T°max = 6 T°max = 8 T°max= 5 Tmax

Efficienza rispetto S c ed Lm Per come si sviluppa l’algoritmo chiamato Smith modificato è più corretto parlare di min Lm (che può anche risultare negativo) e più comodo usare S c = nF S c non c’è efficienza* EDD: min Lm = 5 S°c = 27 S°c = 21 SPT: min S°c = 20 S°c= 20 non c’è sequenza* 4 L°m = 6 L°m = 8 L°m= 5 Lm Si noti che, mentre il punto con la Lm più a destra è senz’altro relativo a una SPT, quello più a sinistra ha la Lm di una EDD, ma può non essere relativo, come qui è, a una EDD.

L(SPT => min Lm) : -17 -12 - 5 - 4 2 11 Sc(SPT)= 50 c(SPT => min Lm) : 1 3 6 9 13 18 L(SPT => min Lm) : -17 -12 - 5 - 4 2 11 Sc(SPT)= 50 minLm = 11 Lavori: A B C D E F Tempi p : 1 2 3 3 4 5 Cons. d : 18 15 11 13 11 7 L £ 10 18 14 9 n = 6 t Lavori: A B C D E F L18 : 0 3 7 5 7 11 L14 : -4 -1 3 1 * 7 L9 : -9 -6 -2 -4 * * Col vincolo L £ 10, occorre calcolare i ritardi solo con c=18 perché la data dovuta minore è 7, il che porta ad escludere F. Scelto E come il più lungo dei restanti, i ritardi con c=14 degli altri saranno tutti £ 10, quindi vanno ordinati secondo la SPT che ha il minor Lm, il che fa scegliere D e non C con c=9. J(n):E J(5):F J(4):D °c : 1 3 6 9 18 14 S°c =51 Sequenza ottima: A B C D F E Min Lm = 7 Min Sc => L£ 10 Sc = 51

Sequenza ottima: A B C F E D Min Lm = 5 Otteniamo ora un altro punto di efficienza imponendo L £ 6 Lavori: A B C D E F Tempi p : 1 2 3 3 4 5 Cons. d : 18 15 11 13 11 7 18 15 11 n = 6 t Lavori: A B C D E F L18 : 0 3 7 5 7 11 L15 : -3 0 4 * 4 8 L11 : -7 -4 0 * * 4 Col vincolo L £ 6, occorre calcolare i ritardi solo con c=18 (attribuito a D) e con c=15 (attribuito a E). I ritardi degli altri (A,B,C,F) saranno tutti £ 6, perché i completamenti c diminuiscono. Quindi vanno ordinati secondo la SPT che ha il minor Lm, ma qui è unica: proprio A B C F J(n):D J(5):E J(4):F °c : 1 3 6 18 15 11 S°c = 54 Sequenza ottima: A B C F E D Min Lm = 5 Min Sc => L£ 6 Sc = 54

Sequenza ottima: A C F E D B Min Lm = 3 Otteniamo ora un altro punto di efficienza imponendo L £ 4 Lavori: A B C D E F Tempi p : 1 2 3 3 4 5 Cons. d : 18 15 11 13 11 7 18 16 13 9 n = 6 t Lavori: A B C D E F L18 : 0 3 7 5 7 11 L16 : -2 * 5 3 5 9 L13 : -5 * 2 * 2 6 L9 : -9 * -2 * * 2 Col vincolo L £ 4, si calcolano i ritardi con c=18 (attribuito a B), con c=16 (attribuito a D) , con c=13 (attribuito a E) , con c=9 (attribuito a F). I ritardi degli altri (A e C) saranno tutti £ 4, perché i completamenti c diminuiscono. Quindi vanno ordinati secondo la SPT che ha il minor Lm, ma qui è unica: A C J(n):B J(5):D J(4):E J(3):F °c : 1 18 4 16 13 9 S°c = 61 Sequenza ottima: A C F E D B Min Lm = 3 Min Sc => L£ 4 Sc = 61

Sequenza ottima: C F E D B A c(EDD => min Sc) : 18 17 8 15 12 5 Sc(EDD=>minSc)=75 EDD: F C E D B A Min Sc Lm= 2 Lavori: A B C D E F Tempi p : 1 2 3 3 4 5 Cons. d : 18 15 11 13 11 7 Lm £ 2 t 18 17 15 12 8 3 Lavori: A B C D E F L18 : 0(EDD!) 3 7 5 7 11 L17 : * 2(EDD!) 6 4 6 10 L15 : * * 4 2(EDD!) 4 8 L12 : * * 1 * 1(EDD!) 5 L8 : * * -3 * * 1(NO EDD!) L3 : * * -8 * * * J(n):A J(5):B J(4):D J(3):E J(2):F J(1):C °c : 18 17 3 15 12 8 S°c = 73 <75! Min Lm = 2 Sc = 73 Sequenza ottima: C F E D B A Non è una sequenza EDD, ma ha la stessa Lm!

non c’è efficienza* non c’è sequenza* SPT° Lm Efficienza rispetto S c ed Lm per l’esempio sviluppato Esistono due SPT°, entrambe con Lm=11, mentre min Sc con Lm=2 non è una EDD Sc = 75 EDD => min Sc S°c = 73 non c’è efficienza* S°c = 61 S°c = 54 S°c = 51 SPT° S°c= 50 non c’è sequenza* Lm 11 2 3 5 7 Quanto sopra conferma che, mentre il punto di efficienza con la Lm più a destra è senz’altro relativo a una SPT, quello più a sinistra ha la Lm di una EDD, ma può non essere relativo a una EDD.