Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A STUDENTE: MATRICOLA: a 1 1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un 2 2 insieme di clienti da servire (nodi piccoli). Il costo di afferenza di un cliente C 3 3 0 D f 3 ad un impianto è indicato sul corrispondente arco mentre il costo di 6 1 3 attivazione è indicato accanto alla localizzazione potenziale. Determinare, 1 b 0 B A e 3 utilizzando l’algoritmo di ascesa duale, un “lower bound” del valore della 4 1 2 3 E soluzione ottima (che minimizza la somma dei costi di attivazione ed 2 c 1 afferenza), una soluzione euristica e il corrispondente “gap”. d 3 2. ( punti 5 ) Descrivere e dimostrare la correttezza di un oracolo di separazione per le disequazioni “cover” di un problema di “knapsack”. 3. ( punti 7 ) Applicare poi l’oracolo di separazione e verificare se il punto (1/2,2/3,2/3,0,0) viola una disequazione associata ad un “cover” del seguente x1 4 x2 6 x3 x4 4 x5 7 “knapsack” (indicando l’eventuale cover violato): 4. ( punti 4 ) Descrivere la formulazione ottima e l’oracolo di separazione per il problema del minimo grafo connesso s-t. 1/3 1 5. (punti 4) Applicare l’oracolo descritto sopra e individuare una 1 0 0 1 disequazione (appartenente alla formulazione ottima) violata dalla s 2/3 1/3 1/3 2/3 soluzione frazionaria mostrata a fianco (accanto ad ogni arco è indicato il 0 0 valore della corrispondente componente della soluzione frazionaria) 0 1/3 0 6. ( punti 3 ) Derivare la formula dell’EOQ e Calcolare l’EOQ per un problema di scorte con i seguenti parametri: Domanda annuale 30; Costo unitario del bene 1200; MARR= 2% ; Costo fisso = 40 t Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 a 1 1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un 2 2 insieme di clienti da servire (nodi piccoli). Il costo di afferenza di un cliente C 3 3 0 D f 3 ad un impianto è indicato sul corrispondente arco mentre il costo di 6 1 3 attivazione è indicato accanto alla localizzazione potenziale. Determinare, 1 b 0 B A e 3 utilizzando l’algoritmo di ascesa duale, un “lower bound” del valore della 4 1 2 3 E soluzione ottima (che minimizza la somma dei costi di attivazione ed 2 c 1 afferenza), una soluzione euristica e il corrispondente “gap”. d 3 SOLUZIONE 1. Definisco i costi (afferenza e attivazione) A B C D E a 3 ∞ 1 ∞ ∞ b 1 0 3 ∞ ∞ c 3 1 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0 ∞ 4 6 2 2 1 Costi di afferenza [c] Costi di attivazione [f] Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 2. Calcolo i vettori e 3. Calcolo Vk/|m(k)| A B C D E a 3 ∞ 1 ∞ ∞ 2 b 1 0 3 ∞ ∞ 1 c 3 1 ∞ ∞ ∞ 2 d ∞ 2 ∞ ∞ 3 1 e ∞ 2 ∞ 3 3 1 f ∞ 1 3 0 ∞ 1 4 6 2 2 2/1=2 1/1=1 2/1=2 1/1=1 1/1=1 1/1=1 1 4. Massimo in corrispondenza della riga a . Incremento di Va le u corrispondenti ai minimi della riga a (uno solo!) A B C D E a 3 ∞ 1+2 ∞ ∞ b 1 0 3 ∞ ∞ c 3 1 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0 ∞ Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 5. Aggiorno i vettori e 6. Aggiorno Vk/|m(k)| A B C D E a 3 ∞ 1+2 ∞ ∞ ∞ b 1 0 3 ∞ ∞ 1 c 3 1 ∞ ∞ ∞ 2 d ∞ 2 ∞ ∞ 3 1 e ∞ 2 ∞ 3 3 1 f ∞ 1 3 0 ∞ 1 4 6 0 2 0/2=0 1/1=1 2/1=2 1/1=1 1/1=1 1/1=1 1 7. Massimo in corrispondenza della riga c. Incremento di Vc le u corrispondenti ai minimi della riga c (uno solo) A B C D E a 3 ∞ 1+2 ∞ ∞ b 1 0 3 ∞ ∞ c 3 1+2 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0 ∞ Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 8. Aggiorno i vettori e A a b c d e f 3 1 3 ∞ ∞ B ∞ 0 1+2 2 2 C 1+2 3 ∞ ∞ ∞ D ∞ ∞ ∞ ∞ 3 E 9. Aggiorno Vk/|m(k)| ∞ ∞ ∞ 1 ∞ ∞ 3 1 3 1 1 ∞ 1 3 0 ∞ 4 4 0 2 1 10. Massimo in corrispondenza della riga c. Incremento di Vc le u corrispondenti ai minimi della riga c (due) 0/2=0 1/1=1 4/2=2 1/1=1 1/1=1 1/1=1 A B C D E a 3 ∞ 1+2 ∞ ∞ b 1 0 3 ∞ ∞ c 3+4 1+2+4 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0 ∞ Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 11. Aggiorno i vettori e 12. Aggiorno Vk/|m(k)| A B C D E a 3 ∞ 1+2 ∞ ∞ ∞ b 1 0 3 ∞ ∞ 1 c 3+4 1+2+4 ∞ ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 1 e ∞ 2 ∞ 3 3 1 f ∞ 1 3 0 ∞ 1 0 0 0 2 0/2=0 0/1=0 0/2=0 0/1=0 0/1=0 1/1=1 1 13. Massimo in corrispondenza della riga f. Incremento di Vf le u corrispondenti ai minimi della riga f (uno solo) A B C D E a 3 ∞ 1+2 ∞ ∞ b 1 0 3 ∞ ∞ c 3+4 1+2+4 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0+1 ∞ Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 14. Aggiorno i vettori e 15. Aggiorno Vk/|m(k)| A B C D E a 3 ∞ 1+2 ∞ ∞ ∞ b 1 0 3 ∞ ∞ 1 c 3+4 1+2+4 ∞ ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 1 e ∞ 2 ∞ 3 3 1 f ∞ 1 3 0+1 ∞ 2 0 0 0 1 0/2=0 0/1=0 0/2=0 0/1=0 0/1=0 0/2=0 1 16. Tutte le righe sono bloccate. L’algoritmo si arresta. A B C D E a 3 ∞ 1+2 ∞ ∞ b 1 0 3 ∞ ∞ c 3+4 1+2+4 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0+1 ∞ Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 1 20. Calcolo del vettore z (minimi di riga della matrice aggiornata) A B C D E z a 3 ∞ 1+2 ∞ ∞ 3 b 1 0 3 ∞ ∞ 0 c 3+4 1+2+4 ∞ ∞ ∞ 7 d ∞ 2 ∞ ∞ 3 2 e ∞ 2 ∞ 3 3 2 f ∞ 1 3 0+1 ∞ 1 0 0 1 0 LB=15 UB=Z({A,B,C})=12+7=19 1 A B C D E a 3 ∞ 1 ∞ ∞ b 1 0 3 ∞ ∞ c 3 1 ∞ ∞ ∞ d ∞ 2 ∞ ∞ 3 e ∞ 2 ∞ 3 3 f ∞ 1 3 0 ∞ 4 6 2 2 1 “gap”=19-15 = 4 Osservazione: A è inutile e può essere eliminato. In tal caso, la soluzione diviene {B,C}, UB=15 e il “gap”=0 Valutazione Esercizio 1: -2 punti: se non viene scritta in modo corretto la matrice dei costi (con ∞ al posto giusto) -2 punti: se non viene calcolato l’UB come nelle pagine precedenti -2 punti: per errori nell’applicazione dell’algoritmo • Ignorata la soluzione euristica calcolata con il “greedy” o con altro metodo Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 2 2. ( punti 5 ) Descrivere e dimostrare la correttezza di un oracolo di separazione per le disequazioni “cover” di un problema di “knapsack”. La dimostrazione è quella riportata nelle pagine 7,8 e 9 della Lezione 9 Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 3 3. ( punti 7 ) Applicare poi l’oracolo di separazione e verificare se il punto (1/2,2/3,2/3,0,0) viola una disequazione associata ad un “cover” del seguente x1 4 x2 6 x3 x4 4 x5 7 “knapsack” (indicando l’eventuale cover violato): Risposta: 1. Definire il “knapsack” duale per la separazione approssimata: max (x*1 -1) u1 +(x*2 -1) u2 +(x*3 -1) u3 + (x*4 -1) u4 + (x*5 -1) u5 u1 + 4u2 + 6u3 + u4 + 4u5 > 8 max (1/2-1) u1 +(2/3-1) u2 +(2/3 -1) u3 + (0-1) u4 + (0-1) u5 u1 + 4u2 + 6u3 + u4 + 4u5 > 8 max -1/2u1 -1/3u2 -1/3u3 -u4 - u5 min 1/2 u1 + 1/3u2 + 1/3u3 + u4 +u5 u1 + 4u2 + 6u3 + u4 + 4u5 > 8 Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 3 2. Ordinamento delle variabili (rapporti valore/ingombro crescenti) max -1/2u1 -1/3u2 -1/3u3 -u4 - u5 min 1/2 u1 + 1/3u2 + 1/3u3 + u4 +u5 u1 + 4u2 + 6u3 + u4 + 4u5 > 8 u1 u2 u3 u4 1/2 1/12 1/18 1 u5 u3 u2 u5 1/4 1/18 1/12 1/4 u1 u4 1/2 1 ordinamento 3. Soluzione del “knapsack duale” u3 u2 u5 u1 u4 1 1/2 0 0 0 4. Valore della soluzione (nel problema di massimizzazione!): Il vettore dato è esterno alla formulazione “cover” -1/3-1/6=-1/2>-1 Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 3 5. Arrotondamento della soluzione: u3 u2 u5 u1 u4 u°3 u°2 u°5 u°1 u°4 1 1/2 0 0 0 1 1 0 0 0 Arrotondamento 6. Valore della soluzione associata ad u°: (nel problema di massimizzazione!): -1/3-1/3=-2/3>-1 7. Il “cover” violato è: u° è il vettore di incidenza di un “cover” violato x2+x3 < 1 Valutazione Esercizio 3: -2 punti: se non viene calcolato l’ordinamento -2 punti: per errori nell’applicazione dell’oracolo Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 4 4. ( punti 4 ) Descrivere la formulazione ottima e l’oracolo di separazione per il problema del minimo grafo connesso s-t. xe > 1 PS = {e Risposta: K taglio s-t xe > 0e E ORACOLO DI SEPARAZIONE x^Rn • Assegna peso ce=x^e a ciascun arco e E • Calcola il taglio s-t di peso minimo K* • Se c > 1 x^ > x^ > 1 ^xP • Se ce < 1 ^xP e* e* e e e e* x^e <1 e* S e S Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 5 5. (punti 4) Applicare l’oracolo descritto sopra e individuare una disequazione (appartenente alla formulazione ottima) violata dalla soluzione frazionaria mostrata a fianco (accanto ad ogni arco è indicato il valore della corrispondente componente della soluzione frazionaria) 1 s 0 1 1/3 0 2/3 1/3 0 1 1/3 2/3 0 1/3 0 0 t Soluzione: Bisogna trovare il taglio di capacità minima nel grafo dato. Le capacità sono le componenti della soluzione frazionaria C B 1/3 1 1 0 0 La disequazione violata è: 1/3 xCG+xDG+xDF+xEF > 1 1/3 2/3 0 A 0 0 1/3 E Valutazione: punteggio massimo solo a chi ha verificato la minimalità del taglio (applicando Ford e Fulkerson o mostrando un flusso di valore 2/3) 1 D 0 2/3 Il taglio ({s,A,B,C,D,E} ,{F,G,t}) è il taglio minimo (2/3) s G F t Modelli e Algoritmi della Logistica Prova Scritta del 15/12/2003 A SOLUZIONE ESERCIZIO 6 6. ( punti 3 ) Derivare la formula dell’EOQ e Calcolare l’EOQ per un problema di scorte con i seguenti parametri: Domanda annuale 30; Costo unitario del bene 1200; MARR= 2% ; Costo fisso = 40 1. La derivazione è quella descritta nelle pagine 6 e 7 della Lezione 17 2. L’EOQ desiderata è: 2 AD Q r0v * = 24030 0.021200 = 2400 24 = 10 Valutazione Esercizio 6: -1 punto: se non viene dimostrata la formula in modo chiaro ed esplicativo