Metodi di Ottimizzazione per la Logistica e la Produzione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodi di Ottimizzazione per la Logistica e la Produzione"

Transcript

1 Metodi di Ottimizzazione per la Logistica e la Produzione Laboratorio Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia MOLP Parte I 1 / 41

2 Contenuto della Parte di Laboratorio 1. Modelli Matematici ed Euristici per Alcuni Problemi di Base 2. Modelli Matematici ed Euristici per il TSP MOLP Parte I 2 / 41

3 Modelli Matematici ed Algoritmi Euristici per Alcuni Problemi di Base n+d b c f n+e n+f e n+c d n+b a 0 n+a MOLP Parte I 3 / 41

4 Knapsack Problem (KP01) Definizione del problema Dati n oggetti j, con profitto p j e peso w j (j = 1,...,n) e un contenitore (knapsack, zaino) di capacità c, il knapsack problem (KP01) richiede di determinare il sottoinsieme di oggetti il cui peso totale non ecceda c e il cui profitto totale sia massimo Il KP01 ha numerose applicazioni nei problemi di ottimizzazione finanziaria, nel taglio e/o impaccamento di oggetti e come sottoproblema di problemi di ottimizzazione più complessi MOLP Parte I 4 / 41

5 Modello Matematico per il KP01 Modello Matematico Definiamo la variabile binaria: { 1 se l oggetto j è scelto, x j = 0 altrimenti per j = 1,...,n Il KP01 può essere modellato come n z(kp01) = max p j x j (1) j=1 n w j x j c (2) j=1 x j {0,1} j = 1,...,n (3) MOLP Parte I 5 / 41

6 Algoritmo Greedy per il KP01 Idea di base dell algoritmo: Impaccare gli oggetti nel knapsack uno alla volta dal più conveniente al meno conveniente, fino a quando c è spazio Input: Profitti p 1,p 2,...,p n ; Pesi w 1,w 2,...,w n ; Capacità c; Oggetti ordinati secondo rapporto profitto su peso descrescente (p 1 /w 1 p 2 /w 2 p n /w n ) Output: z gr = valore soluzione euristica ottenuta dall algoritmo greedy; s(j) = 1 se l oggetto j è scelto, 0 altrimenti MOLP Parte I 6 / 41

7 Pseudo-codice: z gr := 0 c res := c for (j := 1 to n) do if (w j c res ) then s(j) := 1 c res := c res w j z gr := z gr +p j else s(j) := 0 end-if end-for return(z gr,s) Complessità: O(n) per l esecuzione del ciclo for, ma anche O(n log n) per l ordinamento iniziale degli oggetti. Quindi la complessità del greedy è O(n log n). (Attenzione, ciò non deve far concludere che il KP01 sia nella classe P!) MOLP Parte I 7 / 41

8 Esempio KP01 Input: n = 6; c = 100 p = (70, 35, 15, 9, 9, 1) w= (50, 30, 15, 10, 10, 3) Evoluzione dell algoritmo greedy: iterazione 0 z gr := 0 c res := s(1) := 1 z gr := 70 c res := 50 2 s(2) := 1 z gr := 105 c res := 20 3 s(3) := 1 z gr := 120 c res := 5 4 s(4) := 0 z gr := 120 c res := 5 5 s(5) := 0 z gr := 120 c res := 5 6 s(6) := 1 z gr := 121 c res := 2 Come nota, la soluzione ottima ha valore z(kp01) = 123 MOLP Parte I 8 / 41

9 Bin Packing Problem (BPP) Definizione del problema: Dati n oggetti j con peso w j (j = 1,...,n) e un numero abbastanza grande m di contenitori (bin) aventi ognuno capacità c, il bin packing problem (BPP) richiede di impaccare gli oggetti nel minor numero di contenitori, in modo che la somma dei pesi degli oggetti assegnati ad ogni contenitore non ecceda la data capacità Il BPP è molto studiato per le applicazioni nel taglio industriale di oggetti, nel dimensionamento di magazzini/flotte di veicoli, e come sottoproblema di problemi di ottimizzazione più complessi MOLP Parte I 9 / 41

10 Modello Matematico per il BPP Modello Matematico: Definiamo una prima variabile binaria per i = 1,...,m: { 1 se uso il bin i, y i = 0 altrimenti Definiamo una seconda variabile binaria per i = 1,...,m e j = 1,...,n: { 1 se assegno l oggetto j al bin i, x ij = 0 altrimenti Il BPP può essere modellato come: z(bpp) = min m y i i=1 m i=1 x ij = 1 j = 1,...,n (5) n j=1 w jx ij cy i i = 1,...,m (6) y i {0,1} i = 1,...,m (7) (4) x ij {0,1} i = 1,...,m;j = 1,...,n (8) MOLP Parte I 10 / 41

11 La convergenza del modello (4) (8) può essere rafforzata con i vincoli x ij y i i = 1,...,m;j = 1,...,n (9) che impongono una relazione più stretta tra le variabili x e y, migliorando quindi il rilassamento lineare Può essere rafforzata anche con i vincoli y i y i+1 i = 1,...,m 1 (10) che impongono un ordinamento nella scelta dei bin, e quindi riducono la dimensione dell albero decisionale Introducendo (9) e/o (10) in (4) (8) si ottiene un modello che, nella maggior parte dei casi, converge piú velocemente all ottimo e quindi risolve piú velocemente l istanza MOLP Parte I 11 / 41

12 Algoritmo Next Fit Decreasing per il BPP Idea di base dell algoritmo: Impaccare gli oggetti uno alla volta, dal più grande al più piccolo. Per l impaccamento si usa il bin corrente fino a quando c è spazio, poi si crea un nuovo bin. Input: Pesi w 1,w 2,...,w n ; Capacità c. Oggetti ordinati per peso descrescente (w 1 w 2 w n ). Output: z nf = valore soluzione euristica ottenuta; o(j) = indice del bin al quale è stato assegnato l oggetto j. MOLP Parte I 12 / 41

13 Pseudo-codice: z nf := 1 c res := c for (j := 1 to n) do if (w j c res ) then o(j) := z nf c res := c res w j else z nf := z nf +1 c res := c w j o(j) := z nf end-if end-for return(z nf,o) Complessità: O(n) per l esecuzione del ciclo for, ma anche O(n log n) per l ordinamento iniziale degli oggetti, quindi l algoritmo ha complessità O(n log n) MOLP Parte I 13 / 41

14 Esempio BPP Input: n = 5; c = 10 w = (6, 5, 4, 3, 2) Evoluzione dell algoritmo next fit decreasing: iterazione 0 z nf := 1 c res := 10 1 o(1) := 1 z nf := 1 c res := 4 2 o(2) := 2 z nf := 2 c res := 5 3 o(3) := 2 z nf := 2 c res := 1 4 o(4) := 3 z nf := 3 c res := 7 5 o(5) := 3 z nf := 3 c res := 5 Come nota, la soluzione ottima ha valore z(bpp) = 2 MOLP Parte I 14 / 41

15 Algoritmo First Fit Decreasing per il BPP Idea di base dell algoritmo: Impaccare gli oggetti uno alla volta, dal più grande al più piccolo. L oggetto corrente è impaccato nel primo bin avente abbastanza spazio residuo. Se tale bin non esiste, allora se ne crea uno nuovo. Input: Pesi w 1,w 2,...,w n ; Capacità c; Oggetti ordinati per peso descrescente. Output: z ff = valore soluzione euristica ottenuta; o(j) = indice del bin al quale è stato assegnato l oggetto j. MOLP Parte I 15 / 41

16 Pseudo-codice: z ff := 1 c res (1) := c for (j := 1 to n) do o(j) := 1 for (i := 1 to z ff ) do if (w j c res (i)) then o(j) := i c res (i) := c res (i) w j break end-if end-for if (o(j) = 1) then z ff := z ff +1 o(j) := z ff c res (z ff ) := c w j end-if end-for return(z ff,o) MOLP Parte I 16 / 41

17 Esempio BPP Input: n = 5; c = 10 w = (6, 5, 4, 3, 2); Evoluzione dell algoritmo first fit decreasing: iterazione 0 z ff := 1 c res (1) := 10 1 o(1) := 1 z ff := 1 c res (1) := 4 2 o(2) := 2 z ff := 2 c res (1) := 4 c res (2) := 5 3 o(3) := 1 z ff := 2 c res (1) := 0 c res (2) := 5 4 o(4) := 2 z ff := 2 c res (1) := 0 c res (2) := 2 5 o(5) := 2 z ff := 2 c res (1) := 0 c res (2) := 0 Complessità: O(nm) per l esecuzione dell algoritmo, e sempre O(n log n) per l ordinamento iniziale degli oggetti. Nelle istanze difficili di BPP si ha m > logn, quindi normalmente si usa O(nm) per definire la complessità dell algoritmo MOLP Parte I 17 / 41

18 Esempio BPP 2 Input: n = 10; c = 10 w = (6, 6, 3, 3, 2, 2, 2, 2, 2, 2); Evoluzione dell algoritmo first fit decreasing: iterazione 0 z ff := 1 c res(1) := 10 1 o(1) := 1 z ff := 1 c res(1) := 4 2 o(2) := 2 z ff := 2 c res(1) := 4 c res(2) := 4 3 o(3) := 1 z ff := 2 c res(1) := 1 c res(2) := 4 4 o(4) := 2 z ff := 2 c res(1) := 1 c res(2) := 1 5 o(5) := 3 z ff := 3 c res(1) := 1 c res(2) := 1 c res(3) := 8 6 o(6) := 3 z ff := 3 c res(1) := 1 c res(2) := 1 c res(3) := 6 7 o(7) := 3 z ff := 3 c res(1) := 1 c res(2) := 1 c res(3) := 4 8 o(8) := 3 z ff := 3 c res(1) := 1 c res(2) := 1 c res(3) := 2 9 o(9) := 3 z ff := 3 c res(1) := 1 c res(2) := 1 c res(3) := 0 10 o(10) := 4 z ff := 4 c res(1) := 1 c res(2) := 1 c res(3) := 0 c res(4) := 8 Come nota, la soluzione ottima ha valore z(bpp) = 3 MOLP Parte I 18 / 41

19 Parallel Processor Scheduling Problem (P C max ) Definizione del problema: Dati n lavori j, ognuno richiedente un tempo di lavorazione positivo p j (j = 1,...,n), e date m macchine identiche in parallelo, ognuna in grado di svolgere un solo lavoro alla volta, il parallel processor scheduling problem (noto come P C max nella letteratura scientifica) richiede di assegnare i lavori alle macchine in modo che sia minimo l istante di fine dell ultima lavorazione (detto makespan) Il P C max ha applicazioni soprattutto nell ambito della schedulazione delle attività di lavoro (scheduling) e dell ottimizzazione della produzione MOLP Parte I 19 / 41

20 Modello Matematico per il P C max Definiamo una variabile binaria: { 1 se assegno il lavoro j alla macchina i, x ij = 0 altrimenti per i = 1,...,m e j = 1,...,n; e una variabile lineare non negativa z = makespan Il P C max può essere modellato come: z(p C max ) = min z (11) m x ij = 1 j = 1,...,n (12) i=1 n p j x ij z i = 1,...,m (13) j=1 x ij {0,1} i = 1,...,m;j = 1,...,n (14) MOLP Parte I 20 / 41

21 Algoritmo Longest Processing Time per il P C max Idea di base dell algoritmo: Assegna i lavori uno alla volta, dal più lungo al più piccolo. Il lavoro corrente è assegnato alla macchina che in quel momento risulta più scarica Input: Tempi di processamento p 1,p 2,...,p n Numero macchine m Lavori ordinati per tempi descrescenti (p 1 p 2 p n ) Output: z lpt = valore euristico del makespan o(j) = indice della macchina alla quale è stato assegnato il lavoro j MOLP Parte I 21 / 41

22 Pseudo-codice: z lpt := 0 for (i := 1 to m) carico(i) := 0 for (j := 1 to n) do min := + for (i := 1 to m) do if (carico(i) < min) then min := carico(i) i min := i end-if end-for o(j) := i min carico(i min ) := carico(i min )+p j if (carico(i min ) > z lpt ) z lpt := carico(i min ) end-for return(z lpt,o) Complessità: O(nm) per l esecuzione dell algoritmo, e sempre O(n log n) per l ordinamento iniziale degli oggetti MOLP Parte I 22 / 41

23 Esempio P C max Input: n = 8; m = 3 w = (10, 10, 9, 8, 8, 6, 5, 4) Evoluzione dell algoritmo longest processing time: (c(i) = carico(i)): iterazione 0 z lpt := 0 c(1) := 0 c(2) := 0 c(3) := 0 1 o(1) := 1 z lpt := 10 c(1) := 10 c(2) := 0 c(3) := 0 2 o(2) := 2 z lpt := 10 c(1) := 10 c(2) := 10 c(3) := 0 3 o(3) := 3 z lpt := 10 c(1) := 10 c(2) := 10 c(3) := 9 4 o(4) := 3 z lpt := 17 c(1) := 10 c(2) := 10 c(3) := 17 5 o(5) := 1 z lpt := 18 c(1) := 18 c(2) := 10 c(3) := 17 6 o(6) := 2 z lpt := 18 c(1) := 18 c(2) := 16 c(3) := 17 7 o(7) := 2 z lpt := 21 c(1) := 18 c(2) := 21 c(3) := 17 8 o(8) := 3 z lpt := 21 c(1) := 18 c(2) := 21 c(3) := 21 Come nota, la soluzione ottima ha valore z(p C max ) = 20 MOLP Parte I 23 / 41

24 Set Covering Problem (SCP) Definizione del problema: È data una matrice A = [a ij ] di n colonne e m righe. Ogni entry a ij della matrice A vale 0 o 1. Ogni colonna j ha costo c j. L obiettivo del set covering problem (SCP) è di selezionare un sottoinsieme di colonne che abbia almeno un 1 in ogni riga e il cui costo sia minimo Il SCP può essere usato per modellare un numero enorme di problemi di ottimizzazione combinatoria (tra cui il BPP e il P C max ). L utilizzo dipende dal significato preso dalle colonne e dalla loro conseguente costruzione MOLP Parte I 24 / 41

25 Modello Matematico per il SCP Modello Matematico: Definiamo una variabile binaria { 1 se seleziono la colonna j, y j = 0 altrimenti per j = 1,...,n Il SCP può essere modellato come: n z(scp) = min c j y j (15) j=1 n a ij y j 1 i = 1,...,m (16) j=1 y j {0,1} j = 1,...,n (17) MOLP Parte I 25 / 41

26 Algoritmo Greedy per il SCP Idea di base dell algoritmo: Seleziona le colonne una alla volta, dalla più conveniente alla meno conveniente, fino a quando tutte le righe sono coperte Input: Costi c j ; matrice A = [a ij ]; Sia k j = m i=1 a ij il numero di 1 nella colonna j; supponiamo che le colonne di A siano state ordinate per rapporto c j /k j crescente (c 1 /k 1 c 2 /k 2 c n /k n ) Output: z gr = valore soluzione euristica ottenuta; s(j) = 1 se la colonna j è scelta, 0 altrimenti MOLP Parte I 26 / 41

27 Pseudo-codice: z gr := 0; n cop := 0; ind := 1 for (j := 1 to n) s(j) := 0 for (i := 1 to m) cop(i) := 0 while (n cop < m) do s(ind) := 1 z gr := z gr +c ind for (i := 1 to m) do if (a i,ind = 1 and cop(i) = 0) then cop(i) := 1 n cop := n cop +1 end-if end-for ind := ind +1 end-while return(z gr,s) Complessità: Nel caso peggiore si devono selezionare tutte le colonne, quindi l algoritmo ha complessità O(nm) MOLP Parte I 27 / 41

28 Esempio SCP Input: m = 5; n = 8 c = (10, 12, 15, 16, 9, 10, 11, 12); a ij Evoluzione dell algoritmo greedy: iterazione 0 z gr := 0 n cop := 0 1 s(1) := 1 z gr := 10 n cop := 2 2 s(2) := 1 z gr := 22 n cop := 4 3 s(3) := 1 z gr := 37 n cop := 4 4 s(4) := 1 z gr := 53 n cop := 5 MOLP Parte I 28 / 41

29 2. Modelli Matematici ed Euristici per il TSP Traveling Salesman Problem Definizione del problema: È dato un grafo G = (V,A), dove V = {1,2,...,n} rappresenta l insieme dei vertici e A = {(i,j) : i,j V} l insieme degli archi. Ad ogni arco (i,j) è associato un costo c ij L obiettivo del traveling salesman problem (TSP) è quello di trovare il circuito hamiltoniano di G di costo minimo, ovvero determinare la sequenza che visita ogni vertice una e una sola volta con costo complessivo minimo Il TSP ha numerose applicazioni nei problemi su reti (stradali, di telecomunicazioni, etc.) Nel seguito supponiamo che 1 sia il vertice iniziale della sequenza. Esistono varie formulazioni matematiche che permettono di modellare il TSP MOLP Parte I 29 / 41

30 2. Modelli Matematici ed Euristici per il TSP TSP - Formulazione classica a due indici Definiamo una variabile binaria { 1 se l arco (i,j) appartiene al circuito hamiltoniano, x ij = 0 altrimenti per i,j = 1,...,n Il TSP può essere modellato come: z(tsp) = min n i=1 n n j=1 c ijx ij (18) x ij = 1 j = 1,...,n (19) i=1 n x ji = 1 j = 1,...,n (20) i=1 x ij S 1 S V : S V 1 (21) i S j S x ij {0,1} i,j = 1,...,n (22) MOLP Parte I 30 / 41

31 2. Modelli Matematici ed Euristici per il TSP TSP - Formulazione MTZ (Miller-Tuckler-Zemlin) Definiamo una variabile binaria: { 1 se l arco (i,j) appartiene al circuito hamiltoniano, x ij = 0 altrimenti per i,j = 1,...,n, e una variabile continua non negativa y j = ordine nel quale il vertice j è visitato. per j = 2,...,n Il TSP può essere modellato come: z(tsp) = min n i=1 n n j=1 c ijx ij (23) i=1 x ij = 1 j = 1,...,n (24) n i=1 x ji = 1 j = 1,...,n (25) y j +(n+1)(1 x ij ) y i +1 i,j = 2,...,n (26) x ij {0,1} i,j = 1,...,n (27) 1 y j n 1 j = 2,...,n (28) MOLP Parte I 31 / 41

32 2. Modelli Matematici ed Euristici per il TSP TSP - Formulazione one-commodity Definiamo una variabile binaria: { 1 se l arco (i,j) appartiene al circuito hamiltoniano, x ij = 0 altrimenti per i,j = 1,...,n, e una variabile continua non negativa: per i,j = 1,...,n f ij = flusso sull arco (i,j), Intuitivamente f ij rappresenta il numero di visite da effettuarsi nella sequenza ottimale dopo l arco (i, j), sempre che tale arco venga usato MOLP Parte I 32 / 41

33 2. Modelli Matematici ed Euristici per il TSP Il TSP può essere modellato come: z(tsp) = min n i=1 n n j=1 c ijx ij (29) x ij = 1 j = 1,...,n (30) i=1 n x ji = 1 j = 1,...,n (31) i=1 f ij (n 1)x ij i,j = 1,...,n (32) n f 1i = n 1 (33) i=1 n f ij = n f jk +1 j = 2,...,n (34) i=1 k=1 x ij {0,1} i,j = 1,...,n (35) 0 f ij n 1 i,j = 1,...,n (36) MOLP Parte I 33 / 41

34 2. Modelli Matematici ed Euristici per il TSP TSP - Formulazione multi-commodity Definiamo la solita variabile binaria x ij per i,j = 1,...,n, e una variabile continua non negativa: f k ij = flusso verso il vertice k passante sull arco (i,j), per i,j = 1,...,n, e k = 2,...,n Intuitivamente f k ij definisce il percorso tra 1 e k, e prende valore 1 se il vertice k sarà visitato nella sequenza ottimale dopo l arco (i, j), sempre che tale arco venga usato MOLP Parte I 34 / 41

35 2. Modelli Matematici ed Euristici per il TSP Il TSP può essere modellato come: z(tsp) = min n i=1 n n j=1 c ijx ij (37) x ij = 1 j = 1,...,n (38) i=1 n x ji = 1 j = 1,...,n (39) i=1 fij k x ij i,j = 1,...,n,k = 2,...,n (40) n i=1 f k 1i = 1 k = 2,...,n (41) n f k i=1 i1 n n n = 0 k = 2,...,n (42) i=1 f k ik = 1 k = 2,...,n (43) i=1 f k ki = 0 k = 2,...,n (44) f k i=1 ij = n i=1 ji j,k = 2,...,n : j k (45) x ij {0,1} i,j = 1,...,n (46) 0 f k ij 1 i,j = 1,...,n,k = 2,...,n (47) MOLP Parte I 35 / 41

36 2. Modelli Matematici ed Euristici per il TSP Algoritmo Closest Neighbor per il TSP Idea di base dell algoritmo: Dato un vertice corrente, scegli sempre l arco che porta al vertice più vicino tra quelli non ancora visitati Input: Vertice di partenza (in questo esempio: 1); costi c ij Output: z cn = valore soluzione euristica ottenuta; o(j) = indice del vertice visitato nella posizione j del circuito MOLP Parte I 36 / 41

37 2. Modelli Matematici ed Euristici per il TSP Pseudo-codice: z cn := 0 for (j := 1 to n) vis(j) := 0 from := 1; vis(1) := 1; o(1) := 1 for (i := 2 to n) do min := + for (j := 1 to n) do if (c from,j < min and vis(j) = 0) then min := c from,j to := j end-if end-for z cn := z cn +c from,to o(i) := to vis(to) := 1 from := to end-for z cn := z cn +c to,1 return(z cn,o) MOLP Parte I 37 / 41

38 2. Modelli Matematici ed Euristici per il TSP Esempio TSP Input: n = 5; c ij Evoluzione dell algoritmo closest neighbor: iterazione 1 o(1) := 1 z cn := 0 from := 1 2 o(2) := 4 z cn := 2 from := 4 3 o(3) := 3 z cn := 3 from := 3 4 o(4) := 5 z cn := 5 from := 5 5 o(5) := 2 z cn := 9 from := 2 6 z cn := 24 Complessità: L esecuzione dell algoritmo richiede O(n 2 ) MOLP Parte I 38 / 41

39 2. Modelli Matematici ed Euristici per il TSP Ricerca locale di tipo swap per il TSP Idea di base dell algoritmo: Data una soluzione euristica rappresentata da una permutazione (ad esempio ocn), provare a scambiare tra loro ogni coppia di vertici non contigui nella permutazione, escludendo il deposito iniziale e quello finale Se si trova un miglioramento nella funzione obiettivo, effettuare lo scambio e riniziare da capo MOLP Parte I 39 / 41

40 2. Modelli Matematici ed Euristici per il TSP Pseudo-codice: comment: vertici = 1,2,...,n, con 1 = deposito e ocn(n+1) = 1 improved := true while (improved = true) do improved := false for (i := 2 to n 2) do for (j := i +2 to n) do := c ocn(i 1),ocn(i) c ocn(i),ocn(i+1) c ocn(j 1),ocn(j) c ocn(j),ocn(j+1) +c ocn(i 1),ocn(j) +c ocn(j),ocn(i+1) +c ocn(j 1),ocn(i) +c ocn(i),ocn(j+1) if ( < 0) then help:=ocn(j) ocn(j):=ocn(i) ocn(i):=help zcn:=zcn + improved := true break end-if end-for if (improved = true) break end-for return(zcn, ocn) MOLP Parte I 40 / 41

41 2. Modelli Matematici ed Euristici per il TSP Tabella Comparativa delle Complessità Algoritmo Complessità Complessità Problema euristico dell algoritmo dell enumerazione presentato euristico completa KP01 greedy O(n) O(2 n ) BPP next fit decr. O(n) O(m n ) BPP first fit decr. O(nm) O(m n ) P C max longest proc. time O(nm) O(m n ) TSP closest neighbor O(n 2 ) O(n!) SCP greedy O(nm) O(2 n ) MOLP Parte I 41 / 41

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

TSP Ricerca Locale. Riccardo Mondani Martina Alberti

TSP Ricerca Locale. Riccardo Mondani Martina Alberti TSP Ricerca Locale Riccardo Mondani Martina Alberti Caratteristiche di base Partenza: Soluzione euristica dell algoritmo TSP Closest Neighborhood. Il vettore o finale contiene un ordinamento di tutti i

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Problemi di localizzazione di servizi (Facility Location Problems)

Problemi di localizzazione di servizi (Facility Location Problems) 9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili

Dettagli

Problemi dello zaino e di bin packing

Problemi dello zaino e di bin packing Problemi dello zaino e di bin packing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre 2014 Ricerca Operativa 2 Laurea

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Ottimizzazione Combinatoria e Reti (a.a. 2007/08) o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Struttura del Corso. Durata

Struttura del Corso. Durata Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria (DISMI) Università degli studi di Modena e Reggio Emilia Via Amendola 2, Pad. Buccola, 42122 Reggio Emilia web: www.or.unimore.it/iori/iori.htm

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

AMPL Problemi su Reti

AMPL Problemi su Reti Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai

Dettagli

5.3 Metodo dei piani di taglio

5.3 Metodo dei piani di taglio 5.3 Metodo dei piani di taglio (PLI) min s.v. c T x Ax b x interi X Ipotesi: a ij, c j e b i interi Osservazione: La regione ammissibile di un PLI può essere descritta mediante dei vincoli più o meno stringenti

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano Rilassamento Lagrangiano AA 2009/10 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

LA PROGRAMMAZIONE MATEMATICA (p.m.)

LA PROGRAMMAZIONE MATEMATICA (p.m.) LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x

Dettagli

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso

Dettagli

Programmazione Lineare Intera: Piani di Taglio

Programmazione Lineare Intera: Piani di Taglio Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

Il problema del commesso viaggiatore e problemi di vehicle routing

Il problema del commesso viaggiatore e problemi di vehicle routing Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max Makespan con set-up dipendenti dalla sequenza 1/s jk /C max 1/s jk /C max Un tempo di riattrezzaggio (set-up) s jk è richiesto fra il processamento di j e quello di k. In questo caso, C max dipende dalla

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Scopo del laboratorio

Scopo del laboratorio p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.

Dettagli

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04) Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come

Dettagli

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo

Dettagli

Algoritmo per A. !(x) Istanza di B

Algoritmo per A. !(x) Istanza di B Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino (knapsack problem) Damiano Macedonio mace@unive.it Copyright 2010 2012 Moreno Marzolla, Università di Bologna (http://www.moreno.marzolla.name/teaching/asd2011b/) This work is licensed

Dettagli

Week #9 Assessment. Practice makes perfect... November 23, 2016

Week #9 Assessment. Practice makes perfect... November 23, 2016 Week #9 Assessment Practice makes perfect... November 23, 2016 Esercizio 1 Un azienda di trasporto deve caricare m camion {1,..., m} in modo da servire giornalmente un dato insieme di clienti. Nei camion

Dettagli

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia

Dettagli

Esame di Ricerca Operativa del 07/09/2016

Esame di Ricerca Operativa del 07/09/2016 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un industria chimica produce due tipi di fertilizzanti (A e B) la cui lavorazione è affidata ai reparti di produzione e

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli. ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c

Dettagli

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi Il problema dello zaino: dalla gita in montagna ai trasporti internazionali Luca Bertazzi 0 Ricerca Operativa (Operations Research) The Science of Better Modelli e algoritmi per la soluzione di problemi

Dettagli

Tecniche euristiche Ricerca Locale

Tecniche euristiche Ricerca Locale Tecniche euristiche Ricerca Locale PRTLC - Ricerca Locale Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento

Dettagli

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Esercizi vari. Alberto Montresor. 19 Agosto, 2014 Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni

Dettagli

Parte III: Algoritmo di Branch-and-Bound

Parte III: Algoritmo di Branch-and-Bound Parte III: Algoritmo di Branch-and-Bound Divide et Impera Sia z * max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)

Dettagli

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da calcio e da basket che vende a 1 e 20 euro rispettivamente. L azienda compra ogni settimana

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da basket e da calcio che vende rispettivamente a 1 e euro. L azienda compra ogni settimana 00

Dettagli

Soluzioni degli esercizi di formulazione di PL{0, 1}

Soluzioni degli esercizi di formulazione di PL{0, 1} Soluzioni degli esercizi di formulazione di PL{0, 1} Salvatore Nocella 12 febbraio 2007 1 Al lavoro Due operai devono eseguire un certo numero di lavori J = {1,..., n}, ciascuno della durata di un ora.

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

x 2 (20, 60) z = 200 (40, 30) z = 100 z = 0 x 1 40

x 2 (20, 60) z = 200 (40, 30) z = 100 z = 0 x 1 40 Mauro Dell Amico Dipartimento di Scienze e Metodi dell Ingegneria (DISMI) Università degli studi di Modena e Reggio Emilia Via Amendola 2, Pad. Morselli, 42122 Reggio Emilia web: www.or.unimore.it email:

Dettagli

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND 1. [ STRINGHE] Scrivere in pseudo-codice una procedura che, preso in input un intero n, stampi tutte le stringhe di lunghezza minore o uguale ad n sull

Dettagli

Grafi pesati Minimo albero ricoprente

Grafi pesati Minimo albero ricoprente Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene

Dettagli

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

Metodi di Ottimizzazione per la Logistica e la Produzione

Metodi di Ottimizzazione per la Logistica e la Produzione Metodi di Ottimizzazione per la Logistica e la Produzione Parte III Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia Anno Accademico 2016/17 MOLP Parte

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

Esame di Ricerca Operativa del 03/09/2015

Esame di Ricerca Operativa del 03/09/2015 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una raffineria di petrolio miscela tipi di greggio per ottenere tipi di carburante: senza piombo, diesel e blu diesel.

Dettagli

Esame di Ricerca Operativa del 06/02/17

Esame di Ricerca Operativa del 06/02/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero d Matricola) Esercizio. Uno studente vuole definire un piano di studio settimanale per preparare gli esami A, B e C, massimizzando le ore (h)

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO Lo scenario produttivo Una nota azienda produce capi di abbigliamento per l alta moda Ogni capo è costituito da vari pezzi

Dettagli

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

Esame di Ricerca Operativa del 11/07/2016

Esame di Ricerca Operativa del 11/07/2016 Esame di Ricerca Operativa del /0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un erboristeria vuole produrre una nuova tisana utilizzando tipi di tisane già in commercio. Tali tisane sono per lo più composte

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Dettagli

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Dettagli

Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I)

Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I) Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I) Algoritmi greedy Gli algoritmi per problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Dettagli

Risoluzione del rilassamento continuo del problema del commesso viaggiatore

Risoluzione del rilassamento continuo del problema del commesso viaggiatore Risoluzione del rilassamento continuo del problema del commesso viaggiatore Sia G = (V,E) un grafo orientato completo, con un costo c ij R associato a ciascun arco (i, j) E. Si consideri la seguente formulazione

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

Euristiche per il Problema del Commesso Viaggiatore Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni bruni@dis.uniroma.it Il materiale presentato

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

Cercare il percorso minimo Ant Colony Optimization

Cercare il percorso minimo Ant Colony Optimization Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011

Dettagli

Processi di cost management - Programmazione multiperiodale

Processi di cost management - Programmazione multiperiodale Processi di cost management - Programmazione multiperiodale Queste slide (scrte da Carlo Mannino) riguardano il problema di gestione delle attivà di un progetto allorché i costi di esecuzione sono legati

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino un algoritmo goloso correttezza Problema della selezione di attività

Dettagli

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (non orientati e connessi): minimo albero ricoprente .. Grafi (non orientati e connessi): minimo albero ricoprente Una presentazione alternativa (con ulteriori dettagli) Problema: calcolo del minimo albero di copertura (M.S.T.) Dato un grafo pesato non orientato

Dettagli

Esame di Ricerca Operativa del 16/06/2015

Esame di Ricerca Operativa del 16/06/2015 Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il

Dettagli

Appunti lezione Capitolo 14 Greedy

Appunti lezione Capitolo 14 Greedy Appunti lezione Capitolo 14 Greedy Alberto Montresor 21 Novembre, 2016 1 Domanda: dimostrare che S[i, j] = con i j Nel problema della selezione delle attività, il sottoinsieme S[i, j] è definito nel modo

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Esame di Ricerca Operativa del 09/02/2016

Esame di Ricerca Operativa del 09/02/2016 Esame di Ricerca Operativa del 0/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una sartoria produce tipi di vestiti: pantaloni, gonne e giacche, utilizzando stoffa e filo. Settimanalmente, la disponibilità

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile

Dettagli

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento Algoritmi e Strutture Dati Capitolo 4 Ordinamento Ordinamento Dato un insieme S di n oggetti presi da un dominio totalmente ordinato, ordinare S Esempi: ordinare una lista di nomi alfabeticamente, o un

Dettagli

Complessità Computazionale

Complessità Computazionale Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Modelli decisionali su grafi - Problemi di Localizzazione

Modelli decisionali su grafi - Problemi di Localizzazione Modelli decisionali su grafi - Problemi di Localizzazione Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Percorso Minimo tra tutte le coppie di vertici 2 Si può applicare n volte Dijstra

Dettagli

Grafi e Funzioni di Costo ESERCIZI

Grafi e Funzioni di Costo ESERCIZI Grafi e Funzioni di Costo ESERCIZI Esercizio1 Si determini la matrice di incidenza archi-percorsi ed i costi di percorso per la rete di trasporto rappresentata in figura. 1 4 2 3 5 Ramo Costo Ramo Costo

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo): UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema Compito di Ricerca Operativa II Esercizio ( punti). ia dato il problema di flusso massimo sulla rete in figura (le capacit a degli archi sono riportate sopra di essi). 0 8 i consideri il seguente flusso

Dettagli

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. ( punti) La riformulazione di un problema di PL rispetto alla base B = {x, x, x } è la seguente: max 2x + x 2 x = 2 + x x 2 x = + x 2 x = 2 + x + x 2 x, x 2, x,

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Problema Determinare la miscelazione ottimale delle materie prime in modo da massimizzare il profitto complessivo

Problema Determinare la miscelazione ottimale delle materie prime in modo da massimizzare il profitto complessivo Mix Produttivo Si dispone di i=1,...,m risorse produttive (ad esempio, materie prime) in quantità limitata. La massima disponibilità delle risorse è b 1,...,b m Si possono produrre j=1,...,n diversi prodotti

Dettagli

Introduzione ai Problemi di Flusso su Reti

Introduzione ai Problemi di Flusso su Reti UNIVERSI DI PIS IROCINIO ORMIVO IVO - I CICLO CLSSE DI BILIZIONE MEMIC PPLIC Introduzione ai Problemi di lusso su Reti Relatore: Prof. V. Georgiev.U: Prof. M. Berni Elisabetta lderighi R.O e Riforma della

Dettagli