Ottimizzazione Combinatoria A. A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ottimizzazione Combinatoria A. A"

Transcript

1 Ottimizzazione Combinatoria A. A Docente Fabrizio Rossi Orario di ricevimento mercoledi oppure su appuntamento Telefono Sito web Orario delle lezioni martedi ore Aula 1.6 mercoledi ore Aula 1.6 giovedi ore Aula 1.6 Testi di riferimento Base A. Sassano, Modelli e Algoritmi della Ricerca Operativa, Franco Angeli Avanzati L. A. Wolsey, Integer Programming, John Wiley & Sons, Inc. W. J. Cook, W. H. Cunningham, W. R. Pulleyblank, A. Schrijver, Combinatorial Optimization, Wiley Materiale didattico sul sito

2 Applicazioni Progetto di servizi logistici Progetto di una rete di trasmissione radiotelevisiva Gestione del servizio di trasporto urbano per handicappati Pianificazione della produzione Gestione delle partenze e degli arrivi in un aeroporto

3 Progetto di servizi logistici L azienda di spedizioni Ex-press, proprietaria di alcuni treni merci, intende realizzare un servizio di spedizioni tra L Aquila e Pescara via ferrovia Pertanto: 1. Chiede gli orari disponibili alla società che gestisce la rete ferroviaria (Rete Ferroviaria Italiana) e i costi relativi 2. Configura il servizio che massimizza il guadagno Il gestore della rete 1. Studia la fattibilità delle richieste della società 2. Pianifica alcuni orari alternativi 3. Definisce i prezzi di ogni alternativa

4 Ex-press ha un problema di ottimizzazione Ex-press Dati Un insieme di orari O, ognuno con il proprio costo Un insieme di treni T, ognuno con il proprio profitto Problema Assegnare un sottoinsieme T T di treni a un sottoinsieme di orari O O in modo da massimizzare il guadagno (somma dei profitti somma dei costi) e rispettando i vincoli fisici

5 RFI ha un problema di ottimizzazione RFI Dati L orario di nuovo treno L intervallo di tempo necessario a percorrere ogni tratta della linea L intervallo di tempo minimo e massimo di sosta in ogni stazione Standard di sicurezza (due treni che viaggiano sulla stessa linea devono essere separati da almeno k metri, ecc.) L orario esistente Problema Trovare (se esiste!) un orario che contenga il nuovo treno e che rispetti gli standard di sicurezza

6 Problema di Ottimizzazione E insieme ambiente (insieme di soluzioni, decisioni o alternative) F E insieme ammissibile F è definito tramite un insieme di relazioni dette vincoli f : E Rfunzione obiettivo Direzione di ottimizzazione: minimo o massimo Problema di ottimizzazione (min) Trovare un elemento x F tale che f(x) f(y) y F. v = f(x) valore ottimo x soluzione ottima

7 Problema di Ottimizzazione Combinatoria Dati N insieme finito N = {1, 2,, n} c vettore di pesi c j per ogni j N Insieme ambiente U = {tutti i possibili 2 N sottoinsiemi di N} Insieme ammissibile famiglia I di sottoinsiemi F di U Si definisce Problema di Ottimizzazione Combinatoria min S N {Σ j S c j : S I} La definizione è analoga se si vuole massimizzare la f.o.

8 Il problema dell assegnamento 3 Artigiani 3 Lavori da realizzare Tabella dei costi A L Problema Assegnare esattamente un lavoro ad ogni artigiano in modo da minimizzare i costi

9 Il problema dell assegnamento Insiemi ammissibili 1. {a 1 l 1, a 2 l 2, a 3 l 3 } di costo {a 1 l 2, a 2 l 3, a 3 l 1 } di costo {a 1 l 3, a 2 l 1, a 3 l 2 } di costo {a 1 l 3, a 2 l 2, a 3 l 1 } di costo {a 1 l 2, a 2 l 1, a 3 l 3 } di costo {a 1 l 1, a 2 l 3, a 3 l 2 } di costo 38 La soluzione ottima ha valore 28 A L I possibili assegnamenti sono n!, pertanto il numero di insiemi ammissibili è n!

10 Il problema della bisaccia Avete a disposizione un budget b per gli investimenti dell anno 2002 Ad ogni progetto è associato - un costo a j (> 0) - un guadagno atteso c j (>0) Problema Scegliere l insieme di progetti in modo che sia massimizzato il guadagno atteso senza eccedere il budget b

11 Il problema della bisaccia a c Dimensione della bisaccia b = 5 Insiemi ammissibili, {1}, {2}, {3}, {4}, {1, 2}, {1, 4}, {2, 4}, {3,4} Soluzione ottima {1, 2} di valore 24 Quanti sono gli insiemi ammissibili? Il numero di possibili sottoinsiemi di un insieme di n oggetti è 2 n. Se b = Σ j=1,,n a j / 2 gli insiemi ammissibili sono almeno 2 n-1

12 Il problema del commesso viaggiatore n punti nel piano Per ogni coppia di punti (i, j) si definisce un costo c ij > 0 Problema Trovare il tour di costo minimo

13 Il problema del commesso viaggiatore Insiemi ammissibili: gli (n-1)!/2 possibili tour

14 Differenze e similarità Proprietà fondamentali dei problemi di OC: 1. tutti i problemi di OC sono definiti su insiemi ammissibili finiti e numerabili 2. la funzione obiettivo è calcolabile in corrispondenza ad ogni insieme ammissibile Quindi esiste un algoritmo universale per i problemi di OC che si chiama ENUMERAZIONE TOTALE Conclusione: È inutile seguire questo corso

15 È vera questa affermazione? n log n n 0.5 n 2 2 n n! Le operazioni eseguite da un moderno calcolatore (1 Ghz) in un anno sono pari a Pertanto, per risolvere un problema di TSP con 20 città attraverso l enumerazione totale si impiegano circa 2 anni

16 Obiettivo del corso Studiare tecniche matematiche che consentono di progettare algoritmi efficienti per i problemi di OC Che cosa si intende per algoritmo efficiente? 1. Algoritmi ammissibili a complessità polinomiale [Assegnamento] 2. Algoritmi ammissibili a complessità pseudo polinomiali [Knapsack] 3. Algoritmi ammissibili a complessità non polinomiale [TSP] 4. Algoritmi approssimati a complessità polinomiale [Knapsack] 5. Algoritmi euristici [Knapsack, TSP]

17 Obiettivo del corso Modellare problemi decisionali derivanti da applicazioni del mondo industriale come problemi di ottimizzazione

18 Parte I: Insiemi indipendenti e coperture (I Teoremi di Berge, König e Gallai)

19 Sommario Formulazioni ed esempi Insiemi indipendenti in un grafo Insieme stabile Abbinamento Coperture in un grafo Insieme trasversale Edge-cover Disuguaglianze duali deboli Il Teorema di König Il Teorema di Berge Il Teorema di Gallai Algoritmo per il matching

20 Problema 1. Il ballo (Berge) Il ballo In una festa sono presenti n ragazzi e n ragazze. Ogni ragazzo scopre che sono presenti k sue fidanzate, ogni ragazza scopre che sono presenti k suoi fidanzati (k < n, k > 1) Domanda E possibile far ballare ciascun ragazzo con una delle sue fidanzate e ciascuna ragazza con uno dei suoi fidanzati?

21 Formulazione Il ballo. 4 ragazzi/e con 3 fidanzati/e Alberto Anna Bruno Bice Claudio Carla Davide Daniela

22 Le torri Problema 2. Le torri Consideriamo una scacchiera n n. Due torri si danno scacco se giacciono sulla stessa riga (colonna) della scacchiera. Domanda Qual è il massimo numero di torri che è possibile disporre sulla scacchiera senza esse si diano scacco reciproco?

23 Formulazione Due torri si danno scacco se si trovano sulla medesima riga o colonna: A B A B C D C 3 Grafo intersezione righe-colonne D 4

24 La battaglia d Inghilterra (1941) Problema 3. La battaglia d Inghilterra (Berge) Nel 1941 le squadriglie inglesi erano composte da aerei biposto, ma certi piloti non potevano formare una coppia per problemi di lingua o di abitudini. Domanda Dati i vincoli di incompatibilità tra coppie di piloti, qual è il massimo numero di aerei che è possibile far volare simultaneamente?

25 Formulazione Disegniamo il grafo di compatibilità dei piloti. Bob Evgenij Alì Charlie David Fëdor

26 Abbinamento In ognuno dei casi esaminati, la soluzione può rappresentarsi come un insieme A di spigoli di un grafo G = (V, E) a due a due non adiacenti Tale insieme è detto abbinamento (matching) Alberto Bruno Claudio Davide Anna Bice Carla Daniela A B C D Alì Bob Charlie David Evgenij Fëdor

27 Tipi di abbinamento Se A > B per ogni abbinamento B di G, allora A si dice massimo. La sua cardinalità si indica con µ(g) Se G è bipartito, anche A si dice bipartito Se A = V /2, allora A si dice perfetto Alberto Bruno Anna Bice A B 1 2 Alì Bob Charlie Evgenij Claudio Carla C 3 Davide Daniela D 4 David Fëdor

28 Insieme indipendente Definizione: Dato un grafo simmetrico G = (V, E), si dice indipendente un qualunque sottoinsieme S di vertici (A di spigoli) costituito da elementi a due a due non adiacenti. L insieme S è detto stabile (stable set). L insieme A èdetto abbinamento (matching). Definizione: Un insieme indipendente X si dice massimale se ogni elemento di V X (di E X) risulta adiacente ad almeno un elemento di X. Un insieme indipendente X* si dice massimo se X* > X per ogni insieme indipendente di G.

29 Osservazione: Ø è indipendente Esempi stabile massimale

30 Esempi stabile massimale, ma non massimo abbinamento massimale

31 Esempi stabile massimale, ma non massimo abbinamento massimale, ma non massimo

32 Copertura Definizione: Dato un grafo simmetrico G = (V, E), diremo copertura un qualunque sottoinsieme T di vertici (F di spigoli) tale che ogni spigolo di E (vertice di V) incide su almeno un elemento di T (di F). L insieme T èdettotrasversale (vertex-cover). L insieme F è detto edge-cover. Definizione: Una copertura X si dice minimale se X {x} non è una copertura, per ogni x X. Una copertura X* si dice minima se X* < X per ogni copertura di G.

33 Esempi Osservazione:V e E sono rispettivamente trasversale e edge-cover trasversale minimale

34 Esempi trasversale minimale, ma non minimo edge-cover minimale

35 Esempi trasversale minimale, ma non minimo edge-cover minimale, ma non minimo

36 Disuguaglianze duali deboli D ora in avanti indicheremo la cardinalità di: un insieme stabile massimo di G con il simbolo α(g) un abbinamento massimo di G con il simbolo µ(g) uno edge-cover minimo di G con il simbolo ρ(g) un insieme trasversale minimo di G con il simbolo τ(g). Teorema Per ogni grafo G valgono le seguenti diseguaglianze: α(g) < ρ(g) µ(g) < τ(g) (diseguaglianze duali deboli).

37 Disuguaglianze duali deboli Dimostrazione Siano rispettivamente X V, Y E un insieme indipendente e una copertura di G. Poiché Y copre V, ogni elemento x di X incide su almeno un elemento y di Y. D altronde nessun y Y copre contemporaneamente due elementi di X, altrimenti questi sarebbero adiacenti, e dunque X non sarebbe indipendente. Quindi esiste un distinto y Y per ogni x X, e di conseguenza X < Y Riscrivendo questa relazione per X* e Y* si ottiene α(g) < ρ(g) Scambiando poi il ruolo di V ed E si ottiene µ(g) < τ(g)

38 Disuguaglianze duali deboli Esempio trasversale e abbinamento

39 Disuguaglianze duali deboli Esempio stabile ed edge-cover Forse valgono sempre con il segno =?

40 Disuguaglianze duali deboli Esempio NO!!! Forse valgono sempre con il segno =?

41 Teorema di Gallai Teorema (Gallai 1959). Per ogni grafo G con n nodi si ha: α(g) + τ(g) = n (1) Se inoltre G non ha nodi isolati µ(g) + ρ(g) = n (2) Esempio (1)

42 Teorema di Gallai Teorema (Gallai 1959). Per ogni grafo G con n nodi si ha: α(g) + τ(g) = n (1) Se inoltre G non ha nodi isolati µ(g) + ρ(g) = n (2) Esempio (2)

43 Dimostrazione (I) Dimostrazione: (1) Sia S stabile in G. Allora V S èuntrasversale di G S Se S* = α(g), allora τ(g) < V S* = n α(g).

44 Dimostrazione (II) Viceversa, se T èuntrasversale, V T è stabile in G non coperto da T T Posto quindi τ(g) = T*, si ha α(g) > V T* = n τ(g) che insieme a dimostra τ(g) < V S* = n α(g) α(g) = n τ(g)

45 Dimostrazione (III) (2) G privo di nodi isolati, A abbinamento di G, V A insieme dei nodi saturi rispetto ad A H insieme minimale di archi di G tale che ogni nodo in V V A è estremo di qualche arco in H. Osservazione: V A H = V V A = n 2 A C = A H è un edge-cover

46 Dimostrazione (IV) Quindi 1. Scelgo un abbinamento A di cardinalità pari a µ(g) 2. Costruisco l insieme C = A H Poiché C è un edge-cover, si ha C > ρ(g) Pertanto ρ(g) < C = A + H = n µ(g)

47 Dimostrazione (V) Sia C un edge-cover di G,con C = ρ(g) Sia H = (V, C) il sottografo indotto da C Valgono le seguenti proprietà: 1) H è un grafo aciclico Difatti, se H contenesse cicli allora C non sarebbe un edgecover minimo (l arco rosso di figura può essere rimosso)

48 Dimostrazione (VI) 2) Ogni cammino in H ha al più 2 spigoli Difatti, se esiste un cammino con 3 spigoli, posso rimuovere sempre un arco in modo da avere un edge-cover, contraddicendo il fatto che C è minimo Osservazione Dalle proprietà 1) e 2) deduco che H è un grafo costituito da n vertici, ρ(g) spigoli, decomponibile in N componenti componenti connesse aventi la forma di stella

49 Dimostrazione (VII) Consideriamo la componente i-esima di H In generale, essa avrà ha s i nodi e s i 1 archi Quindi Σ 1<i<N s i = n Σ 1<i<N (s i 1) = Σ 1<i<N s i N = ρ(g). Allora N = n ρ(g). Sia A un abbinamento con uno spigolo per ogni componente di H. Si ha µ(g) > A = n ρ(g) che con ρ(g) < n µ(g) fornisce la tesi.

50 Formulazioni di PLI: Massimo Stabile Dati G (V, E), V =n, E =m Variabili decisionali x i 1 se il vertice 0 altrimenti i S Formulazione max st x x i i + x n i = 1 j x i 1 { 0,1}, i ( i, = 1,..., j n ) E

51 Rilassamento Lineare max st n i = 1 x i STAB RL x x i i + x j 0, i 1 = 1,..., ( i n, j ) E Osservazione: La limitazione x i < 1 può essere omessa Indichiamo con α RL (G) il valore della soluzione ottima del rilassamento lineare

52 Formulazioni di PLI: Minimo edge-cover Variabili decisionali y e 1 se l' arco 0 altrimenti e C Formulazione min st e y e ( i ) e E y e y e { 0,1}, 1 e i = 1,..., V m

53 Rilassamento lineare min st e E y e EDGE-C RL e y e ( i ) y e 0, e 1 = 1,..., i m V Osservazione: La limitazione y e < 1 può essere omessa Indichiamo con ρ RL (G) il valore della soluzione ottima del rilassamento lineare

54 Dualità Osservazione: STAB RL e EDGE-C RL costituiscono una coppia primale-duale Inoltre: α (G) < α RL (G) ρ RL (G) < ρ(g) Allora: α (G) < α RL (G) = ρ RL (G) < ρ(g)

55 Formulazioni di PLI: Massimo Matching Variabili decisionali y e 1 se l' arco 0 altrimenti e A Formulazione max st e y e ( i ) y e E e y 1 e { 0,1}, e i = 1,..., = 1,..., n m

56 Rilassamento Lineare max st e E y e MATCHING RL e y e ( i ) y e 0, e 1 = i = 1,..., 1,..., m n Osservazione: La limitazione y e < 1 può essere omessa Indichiamo con µ RL (G) il valore della soluzione ottima del rilassamento lineare

57 Formulazioni di PLI: minimo trasversale Variabili decisionali x i 1 se il vertice 0 altrimenti i T Formulazione min st x x i i + x n i = 1 j x i { 0,1}, 1 i ( i, = 1,..., j n ) E

58 Rilassamento lineare min st n i = 1 x i TRASV RL x x i i + x j 0, i 1 = 1,..., ( i n, j ) E Osservazione: La limitazione x i < 1 può essere omessa Indichiamo con τ RL (G) il valore della soluzione ottima del rilassamento lineare

59 Dualità Osservazione: MATCHING RL e TRASV RL costituiscono una coppia primale-duale Inoltre: µ (G) < µ RL (G) τ RL (G) < τ(g) Allora: µ (G) < µ RL (G) = τ RL (G) < τ(g)

60 Sia A un abbinamento di G Cammino alternante Definizioni Uno spigolo (i,j) di G si dice accoppiato (libero) se (i, j) A ((i, j) A). Un vertice i di G si dice accoppiato (esposto) se su di esso incide (non incide) uno spigolo di A Un cammino P di G si dice alternante rispetto ad A se è costituito alternativamente da spigoli accoppiati e liberi.

61 Cammini aumentanti Definizione Un cammino P alternante rispetto ad A che abbia entrambi gli estremi esposti si dice aumentante

62 Aumentare un abbinamento Teorema Sia A un abbinamento di G e sia P un cammino aumentante. La differenza simmetrica A = (A P) (P A) = A P è un abbinamento di cardinalità A + 1. A-P P-A P-A

63 Dimostrazione (I) Sia A un abbinamento di G e sia P un cammino alternante rispetto ad A che sia anche aumentante. L insieme D = (A P) (P A) gode delle seguenti proprietà 1) è un abbinamento Difatti, se D non fosse un abbinamento allora esisterebbero almeno due spigoli di D tra loro adiacenti. Questi due spigoli 1. Non possono appartenere entrambi ad A perché A è un abbinamento. 2. Non possono appartenere entrambi a P perché P è alternante. Ma se uno di essi è in A e l altro è in P, allora devono necessariamente appartenere a P, contro la definizione di D.

64 Dimostrazione (II) 2) ha un elemento più di A Difatti: A P P A

65 Teorema di Berge Teorema (Berge, 1957) Un abbinamento A di G èmassimo se e solo se G non ammette cammini alternanti rispetto ad A che siano anche aumentanti. Dimostrazione ( ). vedi Teorema precedente

66 Dimostrazione ( ). Teorema di Berge Supponiamo che G ammetta un abbinamento B con un elemento più di A. Consideriamo il sottografo G di G individuato dall insieme di archi e da tutti i loro estremi. F = (A B) / (A B) Poiché A e B sono abbinamenti, i vertici di G hanno grado < 2. Quindi le componenti connesse di G sono percorsi o cicli.

67 Teorema di Berge Nessun ciclo può essere dispari altrimenti A o B non sarebbero abbinamenti Non tutti i percorsi sono pari altrimenti A = B Quindi, senza perdere di generalità, esiste un percorso con un numero dispari di archi che inizia e termina con archi di B Tale percorso è evidentemente aumentante rispetto ad A

68 Un possibile algoritmo A = ; //Inizializzazione trovato = TRUE; while (trovato) { } search (A, &trovato); if (trovato) aumenta (G, &A); Come è fatta search (G, A, &trovato)?

69 Teorema del cammino aumentante Teorema Sia v un vertice esposto in un abbinamento A. Se non esiste un cammino aumentante per A che parte da v, allora esiste un abbinamento massimo avente v esposto Dimostrazione Sia A* un abbinamento massimo in cui v è accoppiato. Consideriamo A A*.

70 Dimostrazione Poiché A e A* sono due abbinamenti e v è accoppiato in A*, si ha che A A* non può contenere un cammino v perché aumentante per A. Però, contiene un cammino v Pertanto, scambiando gli spigoli verdi con quelli rossi, posso ottenere da A* un altro abbinamento massimo, ma con v esposto.

71 Un possibile algoritmo (II) A = ; trovato = FALSE;//Inizializzazione for (v V) { if (v è esposto) { } search (v, A, &trovato, &q); if (trovato) else aumenta (q, v, &A); //cancella v e tutti gli //spigoli incidenti in v cancella (v, &G);

72 Ricerca di cammini aumentanti Scopo della funzione search trovare un cammino aumentante rispetto A, oppure dire che non esiste Parametri v nodo esposto, A abbinamento, trovato, variabile booleana q, vertice estremo del cammino aumentante Introduciamo un etichetta per i vertici di V label (w) = PARI = DISPARI = NULL

73 Ricerca di cammini aumentanti (II) search (v, A, *q, *trovato) { } for (i V) label (i) = NULL; LIST = {v}; label {v} = PARI; while (LIST!= ) { pop (&i, LIST); } if (label (i) == PARI) esplora_pari (i, A, q, trovato, &LIST); else if (trovato) esplora_dispari (i, A, &LIST); return;

74 Ricerca di cammini aumentanti (III) esplora_pari (i, A, *q, *trovato, *LIST) { } for (j δ(i)) { } if (j A) { *q = j; } *trovato = TRUE; pred (q) = i; return; if (j A && label (j) == NULL) { pred (j) = i; } label (j) = DISPARI; push (j, LIST);

75 Ricerca di cammini aumentanti (IV) esplora_dispari (i, A, *LIST) { j = vertice accoppiato ad i in A; if (label (j) == NULL){ pred (j) = i; label (j) = PARI; push (j, LIST); } }

76 Esempio Sia A il matching rosso v, PARI DISPARI DISPARI DISPARI PARI PARI PARI q, ESPOSTO

77 Esempio Sia A il matching rosso v, PARI DISPARI DISPARI DISPARI PARI PARI PARI

78 Esempio v q

79 Un problema D oppure P? D v, P D P D P

80 Correttezza Teorema Se i vertici di G sono etichettati in modo unico dalla procedura search rispetto ad un abbinamento A, allora search termina con un cammino aumentante, se esso esiste. Domanda Esistono grafi che ammettono sempre la proprietà di unicità delle etichette?

81 Grafi bipartiti G (X, Y, E) grafo bipartito

82 Teorema (König 1931). Teorema di König Se G = (X, Y, E) è un grafo bipartito allora µ(g) = τ(g) Dimostrazione Sia A un abbinamento massimo, e siano X 1 : insieme dei nodi x di X saturi rispetto ad A X 2 : insieme dei nodi x di X esposti rispetto ad A

83 Teorema di König X 1 Nodi raggiungibili X 2 Definizione: Un nodo y Y 1 è raggiungibile se esiste P alternante rispetto ad A da x in X 2 tale che l ultimo arco non appartiene ad A Y 1 : insiemi dei nodi y di Y raggiungibili da x in X 2

84 Teorema di König X 1 Y 2 Y 1 X 2 Osservazione Per definizione i nodi in Y 1 sono saturi, altrimenti A non sarebbe massimo Infine: Y 2 : Y Y 1

85 Teorema di König X 1 Y 2 Y 1 X 2 Consideriamo il seguente insieme di nodi Z = {z 1, z 2,, z µ(g) } con z i = y i se y i è raggiungibile z i = x i altrimenti e dimostriamo che è un trasversale

86 Dimostrazione (I) Dimostriamo che non esistono archi da nodi in X 2 verso nodi in Y non coperti da Z. Difatti, 1) Non può esistere un arco non coperto da Z tra un nodo in X 2 e un nodo in Y 2, altrimenti il matching non sarebbe massimo 2) Non può esistere un arco non coperto da Z tra un nodo in X 2 e un nodo in Y 1 perché i nodi in Y 1 sono raggiungibili e quindi l arco sarebbe coperto X 1 Y 1 2 X 2 1 Y 2

87 Dimostrazione (II) Dimostriamo che non esistono archi da nodi in Y verso nodi in X 1 non coperti da Z. Difatti, consideriamo l arco 1, da X 1 a Y 2. Se non fosse coperto significa che il nodo y 1, estremo dell arco del matching è raggiungibile. Ma allora esisterebbe un cammino aumentante e il matching non sarebbe massimo. y 1 Y1 X 1 X 2 1 Y 2

88 Dimostrazione (III) Consideriamo un arco da X 1 a Y 1, ad esempio l arco 2. Se non fosse coperto significa che il nodo y 2 non è raggiungibile, ovvero non appartiene ad Y 1 (contraddizione). x 1 y 1 2 y 2 X 1 Y 1 X 2 Y 2 Pertanto Z è un trasversale di cardinalità pari a µ(g).

89 Parte II: Ottimalità, rilassamenti e bound

90 Sommario Definizioni di bound primali e duali Rilassamento di un problema di OC Esempi di rilassamenti per il problema del TSP Il rilassamento 1-albero Il rilassamento 2-abbinamento Bound primali per il TSP Nearest Neighbor e Insertion Algoritmi approssimati (Double Tree, Christofides) Bound dal rilassamento lineare Il rilassamento lineare del knapsack Bound primali: algoritmo greedy Bound per dualita Formulazioni di PL Formulazioni ideali e matrici TU

91 Ottimalità, rilassamenti e bound Consideriamo il seguente problema z * = max {c T x : x X, X {0,1} n } z* è il valore della soluzione ottima x*. Domanda In che modo è possibile certificare che la soluzione x* è ottima? In generale, se disponessimo di un algoritmo che genera le due sequenze di soluzioni: z UB 1 > z UB 2 > > z UB h > z* z LB 1 < z LB 2 < < z LB k < z* Potremmo fornire come criterio di arresto z UB h - z LB k < ε (> 0)

92 Bound primali Lower (upper) bound Ogni soluzione x X ammissibile è un lower (upper) bound per un problema di massimizzazione (minimizzazione) z* z LB 2 z LB 1 z UB 1 z UB 2 z*

93 Upper (lower) bound Bound duali Al contrario dei bound primali, trovare upper (lower) bound di buona qualità per problemi di massimo (minimo) è tipicamente difficile Buoni bound duali si ottengono attraverso lo studio delle proprietà strutturali del problema di OC Le proprietà di un problema di OC si caratterizzano tramite 1. Rilassamenti del problema 2. Definizione e studio di problemi duali

94 Definizione Rilassamento Il problema (RP) z R = max {f(x) : x T, T R n } (z R = min {f(x) : x T, T R n }) si definisce rilassamento del problema (P) z = max {c T x : x X, X {0,1} n } (z = min {c T x : x X, X {0,1} n }) se e solo se: i) X T ii) f(x) > c T x per ogni x X (f(x) < c T x per ogni x X) Proprietà 1. Se RP è un rilassamento di P, allora z R > z * (z R < z * ) Proprietà 2. Se x R sol. ottima di RP è ammissibile per P allora x R = x *

95 Esempi di rilassamenti Problema del commesso viaggiatore (simmetrico) Dati: grafo G=(V,E), pesi sugli archi c e per ogni arco e E Domanda: trovare il ciclo hamiltoniano di peso minimo Definizione: Un 1-albero è un sottografo di G consistente di due archi adiacenti al nodo 1 più gli archi di un albero ricoprente i nodi {2,, n} Esempio

96 Rilassamenti per il TSP Osservazione Un ciclo hamiltoniano è un particolare 1-albero Pertanto, il problema Dati: grafo G = (V,E), pesi sugli archi c e per ogni arco e E Domanda: trovare l 1-albero di peso minimo èun rilassamento del problema del TSP, perché l insieme X di tutti i cicli hamiltoniani è nell insieme T di tutti gli 1-alberi 4

97 Rilassamenti per il TSP Definizione Un 2-abbinamento è un insieme di archi tali che

98 Rilassamenti per il TSP Osservazione Un ciclo hamiltoniano è un particolare 2-abbinamento, difatti è un 2- abbinamento privo di sottocicli (subtour) Pertanto, il problema 4 Dati: grafo G = (V,E), pesi sugli archi c e per ogni arco e E Domanda: trovare il 2-abbinamento di peso minimo èun rilassamento del problema del TSP, perché l insieme X di tutti i cicli hamiltoniani è nell insieme T di tutti i 2-abbinamenti

99 Un esempio Consideriamo la seguente istanza del problema del Commesso Viaggiatore:

100 Un esempio

101 Un esempio 1 Il 2 abbinamento di peso minimo ha valore

102 Un esempio 1 L 1-albero di peso minimo ha valore

103 Un esempio 1 Il ciclo hamiltoniano di peso minimo ha valore

104 Un esempio (2) 1 Il 2 abbinamento di peso minimo ha valore

105 Un esempio (2) 1 L 1-albero di peso minimo ha valore

106 Un esempio (2) 1 Il ciclo hamiltoniano di peso minimo ha valore

107 Ricapitolando Abbiamo definito per il TSP due lower bound con le seguenti proprietà: 1. Sono lower bound combinatori, ovvero si ottengono tramite la soluzione di un problema di OC 2. Tutti e due i problemi la cui soluzione genera i lower bound sono facili, ovvero hanno complessità polinomiale La proprietà 2. è una proprietà chiave per ogni bound duale Difatti, se il calcolo del bound fosse un problema NP-completo sappiamo che calcolare il bound diventa almeno tanto difficile quanto risolvere il problema stesso. Domanda Come si possono calcolare bound primali (ovvero soluzioni ammissibili di buona qualità) per il problema del TSP?

108 Algoritmi euristici Un algoritmo A si dice euristico per un problema P se restituisce una soluzione ammissibile z A che non è garantito essere la soluzione ottima. Sia P problema di minimizzazione. Un algoritmo euristico si dice δ-approssimato se 1. Ha complessità polinomiale 2. Per ogni istanza I di P con soluzione ottima z*(i), si ha z A (I) / z*(i) < δ (1) Osservazione: se P è problema di massimo δ < 1 e (1) vale con il segno di >

109 G = (V, E) grafo completo c uv costo dell arco uv E Euristiche per il TSP Euristiche costruttive: tentano di costruire un buon ciclo hamiltoniano a partire da un sottociclo eventualmente vuoto. Euristiche migliorative: a partire da una soluzione ammissibile, si tenta di migliorarla attraverso miglioramenti locali.

110 Euristica Nearest Neighbor Input: G=(V,E) Output: ciclo hamiltoniano T procedure nearest_neighbor () Scegli un vertice u V qualsiasi; W = V \ {u}, aggiungi u alla lista T while W > 0 { scegli v W tale che c uv = min {c uj : j W} Aggiungi {v} alla lista T W = W \ {v} u = v }

111 Esempio Nearest Neighbor Soluzione di valore 1005, è ottima?

112 Esempio Nearest Neighbor La soluzione ottima vale 12 Osservazione: il rapporto z A (I)/z*(I) può essere reso grande a piacere.

113 Euristiche di inserimento

114 Euristiche di inserimento

115 Euristiche di inserimento

116 Euristiche di inserimento Input: G=(V,E) Output: ciclo hamiltoniano T procedure insertion_heuristic () Inizializza T con un sottociclo W = V /T; while ( W > 0) { } scegli un vertice u W; scegli la posizione in cui inserire u in T; inserisci u in T; elimina u da W;

117 Selezione del vertice da inserire Definizione Si definisce distanza di un vertice u da un ciclo T, il peso del più piccolo spigolo che collega il vertice ad un altro qualsiasi vertice del ciclo T = (1, 2,.., k) dist (u, T) = min { c uv : v C} Nearest Insertion Inserisci il vertice u che minimizza dist (u, T), u T Farthest Insertion Inserisci il vertice u che massimizza dist (u, T), u T

118 Selezione della posizione di inserimento Osservazione Scegliere la posizione equivale a scegliere lo spigolo da eliminare nel ciclo T. Un vertice può essere inserito in ogni posizione di T. Sia T = (v 1, v 2,, v n ), c(t) il suo costo e sia u lo spigolo da aggiungere al ciclo Se c(t (i)) è il costo del ciclo ottenuto da T inserendo nella posizione i il nodo u, il costo di inserimento è pari a c(t (i)) - c(t). Si seleziona la posizione che minimizza c(t (i)) - c(t)

119 Esempio d = d = 1

120 Esempio T = {1, 2, 3} d = d = 12

121 Esempio C = 21

122 Esempio C = 16

123 Esempio C = 7

124 Altre regole di selezione del vertice Random Insertion: si sceglie un vertice a caso fra quelli non ancora inseriti nel ciclo Cheapest Insertion: si sceglie il vertice che può essere aggiunto al ciclo con il minimo aumento di costo

125 Una proprietà strutturale Si dice che la matrice delle distanze di un grafo G soddisfa la disuguaglianza triangolare se comunque prendo un triangolo e 1, e 2, e 3 in G si ha c ei + c ej > c ek per i j k, i, j, k {1, 2, 3}

126 Richiamo G = (V, E) è un grafo euleriano se e solo se il grado di ogni nodo è pari Se G = (V, E) è un grafo euleriano e v è un vertice di G allora è possibile costruire un percorso che inizia e finisce in v e che attraversa ogni spigolo esattamente una volta Teorema Sia H = (V, F) un grafo completo con la matrice dei costi che soddisfa la disuguaglianza triangolare. Sia G = (V, E) un sottografo euleriano connesso di H. H contiene un ciclo hamiltoniano di lunghezza al più Σ e E c e

127 Dimostrazione (idea)

128 Euristica Double Tree 1. Calcola un minimo albero ricoprente K 2. Raddoppia gli spigoli di K, formando un percorso euleriano 3. Ricava un ciclo hamiltoniano dal percorso euleriano Indichiamo con z H DT il valore della soluzione che si ottiene applicando l euristica Double Tree

129 Da un percorso euleriano ad un ciclo hamiltoniano Consideriamo un percorso euleriano (v 1,, v k ) procedure obtain_hamiltonian () T = {v 1 }, i=2, v = v 1 while T < n { if v i T T = T {v i } collega v a v i v = v i i ++ } collega v a v 1 T è un ciclo hamiltoniano

130 Esempio Tour (5,4,5,3,2,3,1,3,5,6,5,8,9,8,10,8,7,11,7,8,5) 11

131 Proprietà Double tree è un algoritmo 2-approssimato per il TSP Dimostrazione 1. z* > z TREE (1-albero è un rilassamento per TSP) 2. Per costruzione, la lunghezza del doppio albero è 2 * z TREE 3. z H DT < 2 * z TREE Pertanto: z H DT / z* < 2 * z TREE / z TREE = 2

132 Euristica di Christofides 1. Calcola un minimo albero ricoprente K 2. Sia V V l insieme dei vertici che hanno grado dispari in K 3. Trova il matching perfetto M di peso minimo sui nodi V 4. M K è un percorso euleriano 5. Ricava un ciclo hamiltoniano dal percorso euleriano Indichiamo con z H CH il valore della soluzione che si ottiene applicando l euristica di Christofides

133 Esempio Nodi di grado dispari Tour (1,2,3,6,5,4,9,8,10,11,7,8,5,3,1)

134 Proprietà Christofides è un algoritmo 3/2-approssimato per il TSP Dimostrazione 1. z* > z TREE (1-albero è un rilassamento per TSP) Siano {t 1, t 2,..., t 2k } i vertici di grado dispari del minimo albero ricoprente etichettati nell ordine in cui si incontrano nel ciclo hamiltoniano ottimo. Esempio: T* = {1, 2, 3, 4, 5, 6} 1 Min albero ricoprente in rosso {t 1, t 2,..., t 2k } = {1, 3, 5, 6} 6 5

135 Dimostrazione Sia C il ciclo formato dai vertici {t 1, t 2,..., t 2k }e z(c) il suo costo. Si ha che: 1. C è l unione di 2 matching perfetti: {t 1 t 2, t 3 t 4,... t 2k-1 t 2k } {t 2 t 3, t 4 t 5,... t 2k t 1 } quindi z(c) > 2 z M, con z M valore del matching perfetto di costo minimo 2. z(c) < z* per la disuguaglianza triangolare. Difatti ognuno degli spigoli di C ha un costo minore o uguale al corrispondente sottocammino in T Pertanto, z* >z(c) > 2 z M, ovvero z M < z*/2 Quindi: z H CH < z TREE + z M < z* + z*/2 < 3/2 z*

136 Il problema della bisaccia Avete a disposizione un budget b per gli investimenti dell anno 2002 Ad ogni progetto è associato - un costo a j (> 0) - un guadagno atteso c j (>0) Problema Scegliere l insieme di progetti in modo che sia massimizzato il guadagno atteso senza eccedere il budget b Se ogni progetto può essere attivato non solo per intero ma anche in parte si parla di knapsack continuo

137 Il knapsack continuo Il problema max st n j= 1 0 x a j j n j= 1 x j c x b 1 per j j j = 1,..., n (KRL) è un rilassamento del problema di knapsack 0-1. Infatti, la collezione degli insiemi ammissibili del problema di knapsack 0-1 è contenuta nella regione ammissibile del problema di knapsack continuo

138 Il knapsack continuo Come si risolve knapsack continuo? Essendo formulato come problema di Programmazione Lineare, si può risolvere utilizzando il metodo del simplesso [ricordate che la complessità del metodo del simplesso non è provato essere polinomiale!] In alternativa Supponiamo di riordinare gli elementi della bisaccia in modo che: c a 1 1 c2... a 2 La soluzione con f c a n n e sia h l indice minimo per cui è ottima per (KLR) h j= 1 a j > b x1 = 1, x2 = 1,..., xh 1 = 1, xh = f, xh+ 1 = 0,..., xn = = b a h 1 j= 1 h a j 0

139 Dimostrazione Supponiamo, senza perdita di generalità, che gli elementi del problema soddisfino e sia x LP = (x 1,, x n ) la soluzione ottenuta con la formula precedente. Consideriamo una soluzione x ottima, diversa da x LP. Ora, x differisce da x LP per almeno un elemento x k con k > h. Difatti, se x fosse diversa da x LP soltanto perché x h =0, allora x non sarebbe ottima. Ciò significa che esiste un indice i < h tale che x i < 1 e un indice k > h tale che x k > 0. Sia c a 1 1 d = min c2 > >... > a Per costruzione, d > 0. Consideriamo la soluzione: 2 c a { a x', a (1 x )} k k i n n i

140 Dimostrazione che si ottiene da x sostituendo x i e x k con: è ammissibile. Infatti: Inoltre,. Infatti: Ma, allora, la soluzione x non è ottima (contraddizione). ) ',...,,..,,..., ', ' ( 2 1 n k i x x x x x x = k k k a d x x = ' i i i a d x x + = ' x b a d a a a d x a x a k k n j i i j j n j j j = + = = = 1 1 ' cx' x c > = = = > + = n j j j n j k k i i j j n j j j x c a c a c d x c x c ' '

141 Bound primale per il knapsack Il seguente algoritmo, applicato agli elementi della bisaccia riordinati secondo il criterio restituisce, invece una soluzione ammissibile per il problema di knapsack: Algorithm Greedy_knapsack () d = 0; z = 0; for (j = 1; j < n; j ++) { if (d + a j < b) then x j = 1; d = d + a j ; z = z + c j ; else x j = 0; } c a 1 1 return z; c2... a 2 c a n n

142 Osservazione L algoritmo greedy NON è un algoritmo approssimato per il knapsack. Difatti, consideriamo la seguente istanza: a = {1, M} c = {2, M} e b = M. L algoritmo greedy restituisce la soluzione di valore 2, scegliendo soltanto il primo oggetto dell ordinamento, mentre la soluzione ottima vale M.

143 Ricapitolando Abbiamo definito per il knapsack 0-1 un upper bound con le seguenti proprietà: 1. L upper bound è continuo, nel senso che si ottiene dalla soluzione di un problema di Programmazione Lineare e non da un problema di OC 2. L upper bound può essere calcolato con un algoritmo più efficiente rispetto al metodo del simplesso, ma in ogni caso è polinomiale Domanda Può essere generalizzata questa tecnica di rilassamento? Sostituendo la stipula x {0, 1} con il vincolo 0 < x < 1 di una formulazione di un problema di PL-{0,1}, si ottiene sempre un rilassamento denominato Rilassamento Lineare.

144 Dualità Definizione Due problemi di ottimizzazione z = max {f(x) : x X} w = min {g(y) : y Y } formano una coppia duale debole se f(x) < g(y) per ogni x X e y Y. Se z=w si dice che formano una coppia duale forte. Vantaggio fondamentale rispetto al rilassamento Per ottenere un bound attraverso il rilassamento, il problema rilassato va risolto all ottimo. Invece, per una coppia duale ogni soluzione ammissibile y Y (x X) è un upper (lower) bound per z (w)

145 Esempi 1. Il problema di trovare un matching di massima cardinalità e quello di trovare un node cover di minima cardinalità formano una coppia duale debole per ogni grafo G 2. Il problema di trovare un insieme stabile di massima cardinalità e quello di trovare un edge cover di minima cardinalità formano una coppia duale debole per ogni grafo G Entrambe queste coppie di problemi godono della dualità forte se G è bipartito (Teorema di Konig e Teorema di Gallai)

146 Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max 5x 1 + 2x 2 st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} Rappresentazione sul piano degli insiemi ammissibili

147 Insiemi ammissibili x 2 (0, 1) (1, 1) (0, 0) (1, 0) x 1

148 Formulazione Un poliedro P è una formulazione di un problema di OC se e solo se x 2 P {0,1} n = F x 1

149 Il rilassamento lineare Il problema di knapsack 0-1 max 5x 1 + 2x 2 3x 1 + 4x 2 < 6 x {0,1} 2 ha come rilassamento lineare max 5x 1 + 2x 2 3x 1 + 4x 2 < 6 x 1 > 0 x 2 > 0 x 1 < 1 x 2 < 1

150 è un poliedro x 2 3x 1 + 4x 2 < 6 x 2 < 1 x 1 > 0 x 1 < 1 x 2 > 0 x 1

151 ovvero, è una formulazione x 2 x 1

152 Gerarchia di formulazioni Quando una formulazione è migliore di un altra? Definizione Se un poliedro P 1, formulazione di F, è contenuto in P 2, formulazione di F, diciamo che P 1 è migliore di P 2. In generale P 1 P 2 P 3 Esiste una formulazione ideale?

153 Formulazione ideale Geometricamente è il più piccolo poliedro contenente F x 2 Come si ottiene la formulazione ideale? x 1

154 Proprietà Osservazione Ogni vertice del poliedro formulazione ideale è in corrispondenza biunivoca di un insieme ammissibile. Definizione Dati due vettori x 1 e x 2 di R n si definisce combinazione convessa il vettore y = λ x 1 + (1 λ) x 2 con λ [0, 1] Esempio: x 1 y x 2

155 Involucro convesso Definizione L insieme di tutti le possibili combinazioni convesse di un insieme di vettori X di R n prende il nome di involucro convesso e si indica con conv (X) Osservazione conv (X) è un poliedro Pertanto, la formulazione ideale di F èconv(f)

156 Calcolo di conv (F) In linea di principio Dati gli insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} y conv (F) se e solo se si può esprimere come: 0,, = = λ λ λ λ λ λ λ λ λ y y

157 a questo punto Attenzione questo sistema è nello spazio R n+m, se m sono gli insiemi ammissibili. Quindi per ottenere la formulazione ideale devo proiettare il sistema nello spazio R n A questo scopo utilizzo l algoritmo di Fourier-Motzkin ( ) che mi consente di eliminare le variabili λ

158 Punto della situazione Dato un problema di OC 1. Elenco tutti gli insiemi ammissibili 2. Rappresento gli insiemi ammissibili come vettori a componenti in {0,1} 3. Scrivo l involucro convesso applicando la definizione 4. Con l algoritmo di Fourier-Motzkin elimino i coefficienti della combinazione convessa e ottengo una formulazione ideale nello spazio R n 5. Applico il metodo del simplesso e trovo la soluzione ottima È efficiente questo algoritmo?

159 Efficienza del calcolo di conv(f) Problemi 1. Gli insiemi ammissibili sono tipicamente in numero esponenziale 2. L algoritmo di Fourier-Motzkin non ha complessità polinomiale Però Sappiamo che una formulazione ideale esiste sempre Quindi 1. Caso MOLTO fortunato: ho una formulazione che è proprio la formulazione ideale 2. Tento di approssimare la formulazione ideale costruendo una gerarchia di formulazioni a partire da una formulazione iniziale

160 Gerarchia di formulazioni Quando una formulazione è migliore di un altra? Definizione Se un poliedro P 1, formulazione di F, è contenuto in P 2, formulazione di F, diciamo che P 1 è migliore di P 2. In generale, una gerarchia di formulazioni è costituita da un insieme di poliedri P 1 P 2 P 3

161 Esempio Consideriamo un problema di knapsack con il vincolo che l oggetto k può essere scelto se e solo se nella bisaccia sono stati scelti gli oggetti i e j. Formulazione 1. Formulazione 2. max T c x st ax b x k x i x k x j x { 0,1} n max st ax 2 x x k c T b x x { 0,1} i + n x j

162 Esempio (II) Il rilassamento lineare della formulazione 1 è migliore della formulazione 2. Difatti, il vincolo 2 x x + k i x j è implicato dai vincoli x x k k x x i j Quindi, P 1 P 2

163 Formulazione ideale La formulazione del problema di knapsack NON è una formulazione ideale Domanda Esistono casi fortunati in cui la formulazione coincide con la formulazione ideale? Sono in grado di caratterizzare le formulazioni ideali in modo da riconoscerle in tempo polinomiale?

164 Il caso fortunato Consideriamo il seguente problema di PL in forma standard, in cui A è una matrice intera e b è un vettore intero: min c T x Ax = b x > 0 con rg (A) = m < n Se il problema ammette soluzione ottima finita, allora il metodo del simplesso restituisce la soluzione ottima in corrispondenza di una SBA del tipo: x x = x = B 0-1 * B b N

165 Il caso fortunato (II) Osservazione Se la base ottima B ha determinante det (B )=+ 1, allora RL ha una soluzione intera. Difatti: B 1 = 1 det( B) α M α 11 m1 L O L α α 1m M mm T è una matrice a componenti intere con α ij = 1 ( i+ j) det( A ij ) elementi della matrice aggiunta

166 Matrici unimodulari Definizione Una matrice A intera m n (m < n) si dice unimodulare se ogni sua sottomatrice B di dimensioni m m ha det (B) = {-1, 0, +1}. Dall osservazione precedente si ha che: Teorema Se A è una matrice unimodulare e b è un vettore intero, il poliedro P = {Ax = b, x > 0} è intero. Consideriamo ora il rilassamento lineare di una formulazione di PL-{0,1}. In generale, sarà del tipo:

167 Matrici totalmente unimodulari min c T x Ax b (P ) x > 0 [la matrice A contiene i vincoli x 1] Per portare questo problema in forma standard bisogna inserire le variabili di slack y: min c T x Ax Iy= b (P ) x, y > 0 Sia B una matrice di base di (P ). Essa può essere sempre scritta (attraverso opportune permutazioni di righe e colonne) nella forma: I 0 D E

168 Matrici totalmente unimodulari In generale, la matrice I sarà di ordine h (0 h m), e la matrice E sarà di ordine (m -h). Ora, det (B) = (+/-) det (E). Pertanto, [A I] è unimodulare solo se det (E ) = {-1, 0, +1} per ogni sottomatrice E di A di ordine qualunque. Definizione Una matrice A si dice TOTALMENTE UNIMODULARE (TU) se ogni sottomatrice quadrata di A ha determinante {0, +1, -1}. Proprietà delle matrici TU Una matrice A è TU se e solo se i) la matrice trasposta A T ètu ii) la matrice (A, I) è TU

169 Teorema Hoffman-Kruskal [1956] Sia A una matrice intera. Il poliedro P definito da Ax b, x 0 è intero per ogni vettore intero b se e solo se A ètu. Attenzione Il teorema non vale se P = {x R n ; Ax =b}. Difatti P può essere intero ma A non è TU. Esempio:

170 Condizioni per la TU Osservazione Se A è TU, allora a ij {-1, 0, 1} Teorema A è TU se i) aij {-1, 0, 1} ii) Ogni colonna ha al più due coefficienti non nulli iii) Esiste una partizione (M 1, M 2 ) dell insieme delle righe M tale che ogni colonna j contenente due coefficienti non nulli soddisfa a = i M ij a i ij 1 M 2

171 Dimostrazione Supponiamo che A non sia TU e sia B la più piccola sottomatrice quadrata per cui det (B) {-1, 0, 1}. Ora, B ha almeno 2 elementi non nulli per colonna (altrimenti non sarebbe minimale). Quindi, data la partizione (M 1, M 2 ), posso sommare le righe in M 1 e sottrarre le righe in M 2, ottenendo il vettore nullo. Ciò implica che B è singolare, i.e. det (B)=0, contraddizione.

172 Esempi di matrici TU G (N, A) grafo diretto 2 3 e a d 1 c h i 6 b f g 4 5 A Matrice di incidenza nodi-archi M 1 = M, M 2 = l a b c d e f g h i l

173 Formulazione del problema di cammino minimo Dati G (N, A) grafo diretto, due nodi (s, t), vettore c R + A z = min st k k k ( i) ( i) ( i) x x x x {0,1} ik ik ik A ( i, j) A c ij x k k k ij ( i) ( i) ( i) x x x ki ki ki = 1 per i = s = 0 per ogni i V = 1 per i = t \ { s, t}

174 Cammino minimo z min = ( i, j) A st Ax = x x x {0,1} A c ij x ij La stipula di interezza può essere rimossa in quanto A è TU

175 Matrice di incidenza di grafi bipartiti 1 a 4 a b c d e b d c e 5 M M 1 Esercizio Quali problemi di OC noti ammettono una formulazione avente come matrice dei coefficienti la matrice di incidenza di un grafo bipartito?

176 Matrici di incidenza Domanda Tutte le matrici di incidenza sono TU? NO!!! a 3 1 b c a b c

Ottimizzazione Combinatoria A. A

Ottimizzazione Combinatoria A. A Ottimizzazione Combinatoria Docente: Mara Servilio A. A. 2008-2009 Orario delle lezioni: Mercoledì 11:30-13:30; Giovedì 11:30-13:30 Orario di ricevimento: Mercoledì 15:00-17:00 E-mail: servilio@di.univaq.it

Dettagli

Ottimizzazione Combinatoria A. A

Ottimizzazione Combinatoria A. A Ottimizzazione Combinatoria Docente: Mara Servilio A. A. 2007-2008 Orario delle lezioni: Mercoledì 11:30-13:30; Giovedì 11:30-13:30 Orario di ricevimento: giovedì 15:00-17:00 E-mail: servilio@di.univaq.it

Dettagli

Ottimizzazione Combinatoria A. A. 2010-2011

Ottimizzazione Combinatoria A. A. 2010-2011 Ottimizzazione Combinatoria Docente: Mara Servilio A. A. 2010-2011 Orario delle lezioni: Lunedì 11:30-13:30; Mercoledì 14:00-16:00 Orario di ricevimento: Lunedì 15:00-17:00 E-mail: mara.servilio@di.univaq.it

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

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

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

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

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 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

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

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

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

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

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

Parte V: Rafforzamento di formulazioni e algoritmo dei piani di taglio

Parte V: Rafforzamento di formulazioni e algoritmo dei piani di taglio Parte V: Rafforamento di formulaioni e algoritmo dei piani di taglio Noioni di geometria Definiione: Un vettore y R n è combinaione conica dei vettori {,, k } se esistono k coefficienti reali λ,,λ k tali

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

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

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

Teoria della Programmazione Lineare Intera

Teoria della Programmazione Lineare Intera 0 Teoria della Programmazione Lineare Intera 0. INTRODUZIONE Come visto precedentemente, molti problemi particolarmente importanti dal punto di vista applicativo sono riconducibili alla soluzione di un

Dettagli

PROGRAMMAZIONE LINEARE E DUALITA'

PROGRAMMAZIONE LINEARE E DUALITA' PROGRAMMAZIONE LINEARE E DUALITA' 1) Dati i punti di R 2 (1, 2), (1, 4), (2, 3), (3, 5), (4, 1), (4, 2), (5, 5), (6, 2), (6, 5). Determinare graficamente: A - L'involucro convesso di tali punti. B - Quali

Dettagli

Programmazione Lineare Intera

Programmazione Lineare Intera Programmazione Lineare Intera Andrea Scozzari a.a. 2012-2013 May 10, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare Intera May 10, 2013 1 / 16 Programmazione Lineare Intera: Metodo dei Piani

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

Teoria della Programmazione Lineare Intera

Teoria della Programmazione Lineare Intera Teoria della Programmazione Lineare Intera Laura Galli Dipartimento di Informatica Largo B. Pontecorvo, 567 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 7 Ottobre 0 Ricerca Operativa Laurea

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

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

Problemi di Flusso: Il modello del Trasporto

Problemi di Flusso: Il modello del Trasporto Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su

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

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 e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema

Dettagli

Algoritmo di Branch & Bound

Algoritmo di Branch & Bound Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria

Dettagli

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

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Sia dato il seguente problema di PL: max x + x 2 x 2x 2 + x 3 = 4 x x 2 x 3 = 3 x 2 + 2x 3 = x, x 2, x 3 0 Utilizzando il metodo due fasi, si stablisca

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria Claudio Arbib Universitàdi L Aquila Ricerca Operativa Esercizi di ottimizzazione combinatoria 00-006 Grafi 9 Esercizio. Un grafo simmetrico G = (V, E) si dice cubico se tutti i suoi vertici hanno grado

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Alcuni problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Alcuni problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Alcuni problemi combinatorici (Gennaio 2006) Alcuni problemi interessanti Problema 1: Le torri Problema 2: A una festa di laurea Problema 3: La rete

Dettagli

Soluzione dei problemi di Programmazione Lineare Intera

Soluzione dei problemi di Programmazione Lineare Intera Fondamenti di Ricerca Operativa T-A a.a. 2014-2015 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Daniele Vigo rev. 1.1.a ottobre 2014 Fondamenti di Ricerca Operativa

Dettagli

Programmazione Lineare

Programmazione Lineare Programmazione Lineare Andrea Scozzari a.a. 2012-2013 March 14, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare March 14, 2013 1 / 18 Metodo del Simplesso Dato un problema di PL in forma standard

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

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

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

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

5.5 Metodi generali per la soluzione di problemi

5.5 Metodi generali per la soluzione di problemi 5.5 Metodi generali per la soluzione di problemi di PLI I problemi di PLI hanno caratteristiche molto diverse dai problemi di PL. In alcuni casi, la soluzione del problema lineare rilassato, ottenuto cioè

Dettagli

TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE

TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE - Tecniche golose (greedy). - Algoritmi sequenziali. - Ricerca locale. - Metodi basati su programmazione lineare. - Metodi basati su approccio primale-duale.

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

5.5 Metodi dei piani di taglio

5.5 Metodi dei piani di taglio 5.5 Metodi dei piani di taglio Problema generale di Programmazione Lineare Intera (PLI) max{c t x : x X} dove X = {x Z n + : Ax b}, con A matrice m n e b vettore n 1 razionali Proposizione: conv(x) = {x

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

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,

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

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

Ottimizzazione Discreta Esercizi V: Soluzioni

Ottimizzazione Discreta Esercizi V: Soluzioni Ottimizzazione Discreta Esercizi V: Soluzioni Grafi e cammini minimi A.A. 214/215 Esercizio 1 (a) Nella terminologia della teoria dei grafi, si chiede di dimostrare che ogni grafo non orientato G = (V,E),

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

Soluzione dei Problemi di Programmazione Lineare

Soluzione dei Problemi di Programmazione Lineare Soluzione dei Problemi di Programmazione Lineare Consideriamo un problema di Programmazione Lineare (PL) con m vincoli ed n variabili in Forma Standard dove: ma 0 c A b ( ) 0 ( 2) R è il vettore n delle

Dettagli

Programmazione a numeri interi: il metodo del Branch and Bound

Programmazione a numeri interi: il metodo del Branch and Bound Programmazione a numeri interi: il metodo del Branch and Bound L. De Giovanni G. Zambelli Un problema di programmazione lineare intera è una problema della forma z I = maxc T x Ax b x 0 x i Z, i I. (1)

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi

Dettagli

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

4.1 Localizzazione e pianificazione delle base station per le reti UMTS esercitazione Ottimizzazione Prof E Amaldi Localizzazione e pianificazione delle base station per le reti UMTS Consideriamo il problema di localizzare un insieme di stazioni radio base, base station (BS),

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

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

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

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera L. De Giovanni G. Zambelli Un problema di programmazione lineare intera é una problema della forma

Dettagli

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/ Contenuto e scopo presentazione Contenuto: viene presentato un altro metodo di soluzione di problemi di ILP o di MILP. Modelli Lineari Interi/Misti Piani di taglio Versione /8/. Scopo: fornire le capacità

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

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

Domande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR

Domande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR 1 Giovedí 14 Maggio 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Geometria di R n 1 Dare la definizione di Poliedro e Vertice di un Poliedro 2 Dare la definizione di Poliedro e di Politopo

Dettagli

Branch-and-bound per TSP

Branch-and-bound per TSP p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza

Dettagli

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1. Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato

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

Geometria della Programmazione Lineare

Geometria della Programmazione Lineare Capitolo 2 Geometria della Programmazione Lineare In questo capitolo verranno introdotte alcune nozioni della teoria dei poliedri che permetteranno di cogliere gli aspetti geometrici della Programmazione

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

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai

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

Alberi e arborescenze di costo minimo

Alberi e arborescenze di costo minimo Alberi e arborescenze di costo minimo Complementi di Ricerca Operativa Giovanni Righini Dipartimento di Tecnologie dell Informazione - Università degli Studi di Milano Definizioni - 1 Un grafo G = (V,

Dettagli

OTTIMIZZAZIONE LINEARE MULTICRITERIO

OTTIMIZZAZIONE LINEARE MULTICRITERIO OTTIMIZZAZIONE LINEARE MULTICRITERIO NOTAZIONE Siano x ed y vettori di R n indicati estesamente con x x x x 1 Μ i Μ n, y y1 Μ yi Μ y n e si ponga N = {1,2,, n}. Scriveremo allora: x y ( x è diverso da

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

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

La dualità nella Programmazione Lineare

La dualità nella Programmazione Lineare Capitolo 3 La dualità nella Programmazione Lineare 3.1 Teoria della dualità Esercizio 3.1.1 Scrivere il problema duale del seguente problema di Programmazione Lineare: min x 1 x 2 + x 3 2x 1 +3x 2 3 x

Dettagli

RICERCA OPERATIVA GRUPPO B prova scritta del 22 settembre 2004 FOGLIO 1. Cognome: Nome: Matricola:

RICERCA OPERATIVA GRUPPO B prova scritta del 22 settembre 2004 FOGLIO 1. Cognome: Nome: Matricola: RICERCA OPERATIVA GRUPPO B prova scritta del 22 settembre 2004 FOGLIO 1 Cognome: Nome: Matricola: Rispondere alle seguenti domande marcando a penna la lettera corrispondente alla risposta ritenuta corretta

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non

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

Il valore di flusso che si ottiene è

Il valore di flusso che si ottiene è 1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita

Dettagli

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari Introduzione soft alla matematica per l economia e la finanza Marta Cardin, Paola Ferretti, Stefania Funari Capitolo Sistemi di equazioni lineari.8 Il Teorema di Cramer Si consideri un generico sistema

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

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

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione. 3.7.4 Disuguaglianze valide forti Cerchiamo disuguaglianze valide forti, ovvero disuguaglianze valide che forniscano migliori formulazioni (più stringenti). Per formalizzare il concetto sono necessarie

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

Soluzione dei problemi di Programmazione Lineare Intera

Soluzione dei problemi di Programmazione Lineare Intera Fondamenti di Ricerca Operativa T-A a.a. 2015-2016 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Paolo Tubertini, Daniele Vigo rev. 2. ottobre 2016 Fondamenti di

Dettagli

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sommario Poliedri Poliedri compatibili Diseguaglianzeimplicate Proiezione di un poliedro Definizione

Dettagli

Il modello duale. Capitolo settimo. Introduzione

Il modello duale. Capitolo settimo. Introduzione Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale

Dettagli

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:

Dettagli

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione) RICERCA OPERATIVA Tema d esame del 04/03/2008 (Simulazione) COGNOME: NOME: MATRICOLA:. Una nota azienda automobilistica produce due modelli di auto (un utilitaria e una berlina), che rivende con un guadagno

Dettagli

4.3 Esempio metodo del simplesso

4.3 Esempio metodo del simplesso 4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto

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

1 Il metodo dei tagli di Gomory

1 Il metodo dei tagli di Gomory Il metodo dei tagli di Gomory Esercizio Sia dato il problema min(x x ) x + x (P 0 ) x + x x, x 0, interi. Calcolare la soluzione ottima applicando il metodo dei tagli di Gomory. Risoluzione Per applicare

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso (a.a. 2008/2009) 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul

Dettagli

Rette e piani nello spazio

Rette e piani nello spazio Rette e piani nello spazio Equazioni parametriche di una retta in R 3 : x(t) = x 0 + at r(t) : y(t) = y 0 + bt t R, parametro z(t) = z 0 + ct ovvero r(t) : X(t) = P 0 + vt, t R}, dove: P 0 = (x 0, y 0,

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli