Ottimizzazione Combinatoria A. A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ottimizzazione Combinatoria A. A"

Transcript

1 Ottimizzazione Combinatoria Docente: Mara Servilio A. A Orario delle lezioni: Mercoledì 11:30-13:30; Giovedì 11:30-13:30 Orario di ricevimento: Mercoledì 15:00-17:00 Sito web: Testi di riferimento 1. A. Sassano, Modelli e Algoritmi della Ricerca Operativa 2. L. A. Wolsey, Integer Programming 3. W. J. Cook, W. H. Cunningham, W. R. Pulleyblank, A. Schrijver, Combinatorial Optimization

2 Un problema di logistica Un azienda di spedizioni, proprietaria di alcuni treni merci, intende realizzare un servizio di spedizioni tra L Aquila e Pescara via ferrovia. L azienda 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.

3 Un problema di logistica L azienda deve risolvere un problema di ottimizzazione. Dati: O = insieme dei possibili orari, ognuno con il proprio costo T =insieme dei treni disponibili, ognuno con il proprio profitto Problema: Assegnare un sottoinsieme T sottoinsieme O O di orari in modo da T di treni a un massimizzare il guadagno (somma dei profitti somma dei costi) rispettare i vincoli fisici.

4 Un problema di logistica Il gestore della rete deve risolvere un problema di ottimizzazione Dati: L intervallo di tempo necessario a percorrere ogni tratta della linea L intervallo di tempo minimo e massimo di sosta in ogni stazione Gli 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.

5 Problema di Ottimizzazione Siano U = insieme universo, ossia un insieme di soluzioni, decisioni e alternative. F U = insieme ammissibile definito tramite una serie di relazioni dette vincoli. f: U R = funzione obiettivo. Direzione di ottimizzazione: minimo o massimo. Problema di ottimizzazione (in forma di minimo) Trovare un elemento x * F tale che f(x * ) < f(x) per ogni x F. f(x * ) = valore ottimo x * = soluzione ottima

6 Siano Problema di Ottimizzazione Combinatoria N = {1,2,,n} insieme finito. c vettore di pesi con coordinate c j definite per ogni j N Insieme universo: U = {tutti i possibili 2 N sottoinsiemi di N} Famiglia ammissibile: I = {sottoinsiemi F di U che soddisfano una certa proprietà }. Problema di ottimizzazione combinatoria (in forma di minimo) min {Σ c j : S I} S N j S

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

8 Problema dell assegnamento Consideriamo 3 artigiani e 3 lavori da realizzare. I costi richiesti da ogni artigiano per ogni lavoro sono riportati nella seguente tabella A L Problema: Assegnare esattamente un artigiano ad un lavoro in modo da minimizzare i costi totali.

9 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 44 A L {(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. I possibili assegnamenti, e quindi i possibili insiemi ammissibili, sono 3! In generale, su un insieme di n elementi esistono n! insiemi ammissibili.

10 Problema dello zaino Supponiamo di avere a disposizione un budget b per gli investimenti del Associamo ad ogni possibile investimento j un costo c j > 0, un guadagno g j > 0. Problema: Scegliere l insieme di investimenti da effettuare in modo da massimizzare il guadagno e senza eccedere il budget a disposizione.

11 Problema dello zaino Dimensione dello zaino: b = c 2 g Insiemi ammissibili, {1}, {2}, {3}, {4}, {1,2}, {1,4}, {2,4}, {3,4} Soluzione ottima {1,2} di valore 24 Il numero di insiemi ammissibili è pari al numero di possibili sottoinsiemi di un insieme di n oggetti, ossia 2 n. n Se b = Σ c j / 2 gli insiemi ammissibili sono almeno 2 n-1. j =1

12 Problema del commesso viaggiatore (TSP) Consideriamo n punti nel piano. Per ogni coppia di punti (i, j) definiamo un costo c ij > Problema: Determinare il tour di costo minimo.

13 Problema del commesso viaggiatore (TSP) Insiemi ammissibili: tutti i possibili tour del grafo In un grafo con n nodi esistono (n-1)!/2 tour.

14 Proprietà dei problemi di OC 1. Tutti i problemi di OC sono definiti su insiemi ammissibili finiti e numerabili. 2. Il valore della funzione obiettivo può essere calcolato in corrispondenza di ogni insieme ammissibile. Esiste un algoritmo universale per i problemi di OC che si chiama enumerazione totale. E possibile utilizzare l enumerazione totale nella pratica?

15 Proprietà dei problemi di OC n log n n 0.5 n 2 2 n n! Le operazioni eseguite da un moderno calcolatore in un anno sono pari a L algoritmo di enumerazione totale impiegherebbe circa 2 anni per risolvere un problema di commesso viaggiatore con 20 punti nel piano.

16 Obiettivi di questo corso 1. Studiare tecniche matematiche che consentano di progettare algoritmi efficienti per i problemi di OC: Algoritmi ammissibili a complessità polinomiale (Assegnamento). Algoritmi ammissibili a complessità pseudo-polinomiale (Zaino). Algoritmi ammissibili a complessità non polinomiale (TSP). Algoritmi approssimati a complessità polinomiale (Zaino). Algoritmi euristici (Zaino, TSP). 2. Modellare problemi decisionali che derivano da applicazioni del mondo industriale come problemi di ottimizzazione.

17 Parte I: Insiemi indipendenti e coperture

18 Problema 1: Il ballo (Berge) Ad un ballo sono presenti n ragazzi e n ragazze. Ciascun ragazzo riconosce k fidanzate tra le ragazze presenti. Ciascuna ragazza riconosce k fidanzati tra i ragazzi presenti. Domanda: è possibile far ballare ciascun ragazzo con una delle sue fidanzate e ciascuna ragazza con uno dei suoi fidanzati?

19 Problema 1: Il ballo (Berge) Formulazione: 4 ragazzi/ragazze con 3 fidanzate/fidanzati. U = insieme degli archi del grafo Asia Alessio Bianca Bruno I = famiglia degli insiemi di archi che toccano ogni vertice esattamente una volta. Chiara Daria Cristian Davide

20 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 che esse si diano scacco reciproco?

21 Problema 2: Le torri Formulazione: Due torri si danno scacco se si trovano sulla stessa riga o colonna. A B A B C D C 3 D U = insieme degli archi del grafo I = famiglia degli insiemi di archi che toccano ogni vertice non più di una volta. 4 Grafo intersezione righe-colonne

22 Problema 3: La battaglia di Inghilterra (Berge) Nel 1941 le squadriglie inglesi erano composte di aerei biposto, ma alcuni 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?

23 Problema 3: La battaglia di Inghilterra (Berge) Formulazione: Grafo di compatibilità dei piloti U = insieme degli archi del grafo Bob Evgenij Alì Charlie I = famiglia degli insiemi di archi che toccano ogni vertice al più una volta. David Fëdor

24 Abbinamento (Matching) Definizione: Dato un grafo G = (V, E), un abbinamento (matching) è un sottoinsieme A E di archi a due a due non adiacenti. Asia Alessio A 1 Bob Evgenij Bianca Chiara Bruno Cristian B C 2 3 Alì Charlie Daria Davide David D 4 Fëdor In ciascuno dei problemi precedenti la soluzione corrisponde a un abbinamento su un grafo.

25 Tipologie di abbinamento Definizione: Se A * > A per ogni abbinamento A di G, allora A * si dice massimo. Definizione: Se G è bipartito, allora anche A si dice bipartito. Definizione: Se A = V /2, allora A si dice perfetto. Asia Alessio A 1 Bob Evgenij Bianca Chiara Bruno Cristian B C 2 3 Alì Charlie Daria Davide David D 4 Fëdor

26 Tipologie di abbinamento Definizione: Se A * > A per ogni abbinamento A di G, allora A * si dice massimo. Definizione: Se G è bipartito, allora anche A si dice bipartito. Definizione: Se A = V /2, allora A si dice perfetto. Definizione: Un abbinamento A si dice massimale se ogni elemento di E A è adiacente ad almeno un elemento di A.

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

28 Esempi Osservazione: L insieme vuoto è un insieme indipendente. Insieme indipendente massimale Abbinamento massimale

29 Esempi Insieme indipendente massimo Abbinamento massimo

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

31 Esempi Osservazione: L insieme dei nodi V e l insieme degli archi E di un grafo sono rispettivamente trasversale e edge-cover. Trasversale minimale Edge-cover minimale

32 Esempi Trasversale minimo Edge-cover minimo

33 Disuguaglianze duali deboli Indichiamo con α(g) insieme stabile massimo di G. µ(g) abbinamento massimo di G. ρ(g) edge cover minimo di G. τ(g) trasversale minimo di G. Teorema: Per un grafo G valgono le seguenti disuguaglianze 1. α(g) < ρ(g) 2. µ(g) < τ(g)

34 Disuguaglianze duali deboli Dimostrazione: Siano X insieme indipendente di G, e Y edge-cover di G. Poiché Y copre V, ogni elemento di X incide su almeno un elemento di Y. D altra parte, nessun elemento di Y copre contemporaneamente due elementi di X altrimenti i due elementi sarebbero adiacenti e quindi non potrebbero appartenere all insieme indipendente X. Pertanto, per ogni x X esiste un distinto y Y che lo copre, e quindi X < Y. Riscrivendo la precedente relazione per gli insiemi massimi X * e Y *, si ottiene α(g) < ρ(g) Scambiando il ruolo di V ed E, si ottiene µ(g) < τ (G)

35 Disuguaglianze duali deboli α(g) = 3 Esempio indipendente e edge-cover ρ(g) = 3 α(g) = 3 ρ(g) = 3

36 Disuguaglianze duali deboli µ(g) = 3 Esempio trasversale e abbinamento τ (G) = 3 µ(g) = 3 τ (G) = 3 Forse valgono sempre con il segno =?

37 Disuguaglianze duali deboli Forse valgono sempre con il segno =? NO!!! α(g) = 2 ρ(g) = 3

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

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

40 Dimostrazione Dimostrazione (1): Sia S un insieme indipendente di G. Allora V S è un insieme trasversale. S In particolare, V S > τ (G). Se consideriamo l insieme indipendente massimo S *, otteniamo τ(g) < V S * = n α(g) da cui ricaviamo α(g) + τ(g) < n.

41 Dimostrazione Dimostrazione (1): Viceversa, sia T un insieme trasversale di G. Allora V T è un insieme indipendente. non coperto da T In particolare, V T < α (G). Se consideriamo l insieme trasversale minimo T *, otteniamo T da cui ricaviamo α(g) > V T * = n τ(g) α(g) + τ(g) > n. Considerando la condizione ottenuta precedentemente, possiamo concludere che α(g) + τ(g) = n.

42 Dimostrazione Dimostrazione (2): Sia G un grafo privo di nodi isolati e sia A* l abbinamento massimo di G. Indichiamo con V A* i nodi saturi rispetto ad A*. V A* Sia H un insieme minimale di archi tale che ogni nodo in V V A* è estremo di qualche arco in H. Segue che H = V V A* = n 2 A* Osserviamo che l insieme C = H A* è un edge-cover di G.

43 Dimostrazione Dimostrazione (2): Sicuramente, C > ρ (G). Quindi ρ(g) < C = A * + H = A * + n 2 A * = n A * = n µ(g) da cui ricaviamo ρ (G) + µ(g) < n.

44 Dimostrazione Dimostrazione (2): Sia C il minimo edge-cover su G ( C = ρ(g)). Sia H = (V, C) il sottografo indotto da C. Valgono le seguenti proprietà: 1) H è un grafo aciclico. Infatti, se H contenesse cicli allora C non sarebbe un edge-cover minimo.

45 Dimostrazione Dimostrazione (2): 2) Ogni cammino in H è composto di al più due archi. Infatti, se H contenesse un cammino con 3 archi sarebbe sempre possibile rimuovere un arco e ottenere ancora un edge-cover. L esistenza di un tale cammino contraddirebbe il fatto che C è minimo.

46 Dimostrazione Dimostrazione (2): Dalle proprietà precedenti concludiamo che il grafo H = (V, C) ha V = n vertici; ha C = ρ(g) archi; può essere decomposto in N componenti connesse aventi la forma di stella

47 Dimostrazione (2): Consideriamo l i-esima componente connessa di H. Essa avrà: s i nodi, e s i 1 archi. Pertanto N n = Σ s i i =1 e Dimostrazione N ρ(g) = Σ (s i 1) = n N N = n ρ(g) i =1 Sia A un abbinamento con un arco per ogni componente di H. Si ottiene µ(g) > A = n ρ(g) ρ(g) + µ(g) > n Considerando la condizione ottenuta precedentemente, possiamo concludere che ρ (G) + µ(g) = n.

48 Formulazioni di PLI Massimo insieme stabile Dati: G = (V,E), V = n, E = m. Variabili decisionali: x i = 1 se il vertice i appartiene allo stabile S 0 altrimenti Formulazione: max Σ x i i V x i + x j < 1 x i {0,1} (i, j) E i V

49 Rilassamento lineare Rilassamento lineare del massimo insieme stabile max Σ x i i V x i + x j < 1 x i > 0 (i, j) E i V STAB RL Osservazione: La limitazione x i < 1 può essere omessa. Indichiamo con α RL (G) il valore della soluzione ottima di STAB RL.

50 Minimo edge cover Formulazioni di PLI Dati: G = (V,E), V = n, E = m. Variabili decisionali: y ij = 1 se l arco ij appartiene all edge cover C 0 altrimenti Formulazione: min Σ y ij ij E Σ y ij > 1 ij (i) y ij {0,1} i V (i, j) E

51 Rilassamento lineare Rilassamento lineare del minimo edge cover min Σ y ij ij E Σ y ij > 1 ij (i) y ij > 0 i V (i, j) E EDGE-C RL Osservazione: La limitazione y ij < 1 può essere omessa. Indichiamo con ρ RL (G) il valore della soluzione ottima di EDGE-C RL.

52 Dualità Osservazione: I problemi STAB RL e EDGE-C RL costituiscono una coppia primale-duale. Inoltre Pertanto α(g) < α RL (G) e ρ RL (G) < ρ(g) α(g) < α RL (G) = ρ RL (G) < ρ(g)

53 Massimo matching Formulazioni di PLI Dati: G = (V,E), V = n, E = m. Variabili decisionali: y ij = 1 se l arco ij appartiene al matching M 0 altrimenti Formulazione: max Σ y ij ij E Σ y ij < 1 ij (i) y ij {0,1} i V (i, j) E

54 Rilassamento lineare Rilassamento lineare del massimo matching max Σ y ij ij E Σ y ij < 1 ij (i) y ij > 0 i V (i, j) E MATCHING RL Osservazione: La limitazione y ij < 1 può essere omessa. Indichiamo con µ RL (G) il valore della soluzione ottima di MATCHING RL.

55 Minimo trasversale Formulazioni di PLI Dati: G = (V,E), V = n, E = m. Variabili decisionali: x i = 1 se il vertice i appartiene al trasversale T 0 altrimenti Formulazione: min Σ x i i V x i + x j > 1 x i {0,1} (i, j) E i V

56 Rilassamento lineare Rilassamento lineare del minimo trasversale min Σ x i i V x i + x j > 1 x i > 0 (i, j) E i V TRASV RL Osservazione: La limitazione x i < 1 può essere omessa. Indichiamo con τ RL (G) il valore della soluzione ottima di TRASV RL.

57 Dualità Osservazione: I problemi MATCHING RL e TRASV RL costituiscono una coppia primale-duale. Inoltre Pertanto µ(g) < µ RL (G) e τ RL (G) < τ (G) µ(g) < µ RL (G) = τ RL (G) < τ (G)

58 Cammino alternante Sia M un matching di G = (V, E). Definizione: Un arco (i, j) E si dice accoppiato (libero) se (i, j) M ((i, j) M). Definizione: Un vertice i V si dice accoppiato (esposto) se su di esso incide (non incide) un arco di M. Definizione: Un cammino P sul grafo G si dice alternante rispetto a M se esso è costituito alternativamente da spigoli accopiati e liberi.

59 Cammino aumentante Definizione: Un cammino P alternante rispetto ad M che abbia entrambi gli estremi esposti si dice aumentante.

60 Aumentare un matching Teorema: Sia M un matching di G e sia P un cammino aumentante rispetto a M. La differenza simmetrica M = (M P) (P M) = M P è un matching di cardinalità M + 1. M-P P-M P-M

61 Dimostrazione Dimostrazione: Sia M un matching di G e sia P un cammino aumentante rispetto a M. L insieme gode delle seguenti proprietà M = (M P) (P M) 1) M è un abbinamento. Infatti, se così non fosse allora esisterebbero almeno due archi adiacenti tra loro in M. Questi archi 1) Non possono appartenere entrambi ad M P altrimenti M non sarebbe un matching. 2) Non possono appartenere entrambi a P M perché P è alternante.

62 Dimostrazione Dimostrazione: Pertanto, l unica possibilità è che un arco appartenga a M P e l altro a P M. Ma, poiché i due archi devono essere adiacenti, essi devono necessariamente appartenere entrambi a P. In questo modo M conterrebbe un arco del matching appartenente anche al cammino e questo non è possibile per definizione di M.

63 Dimostrazione Dimostrazione: 2) M ha un elemento in più di M. M P P M Sia M = m 1 + m 2 con m 1 = M P e m 2 = numero di archi del matching appartenenti al cammino. Poiché P M = m 2 + 1, si ottiene M = M P + P M = m 1 + m = M + 1.

64 Teorema di Berge Teorema (Berge,1957): Un matching M di G è massimo se e solo se G non ammette cammini alternanti rispetto a M che siano anche aumentanti. Dimostrazione ( ): Segue direttamente dal teorema precedente. Dimostrazione ( ): Facciamo vedere che, se non esistono cammini aumentanti rispetto a un certo matching M, allora quel matching M è massimo. Supponiamo che G ammetta un matching M con un elemento in più di M. Vogliamo dimostrare che allora esiste un cammino aumentante per M.

65 Teorema di Berge Dimostrazione ( ): Consideriamo il sottografo G individuato dall insieme di archi F = (M M )\ (M M ) e da tutti i loro estremi. di G Poiché M e M sono matching, ogni vertice di G ha grado < 2. Quindi le componenti connesse di G o sono percorsi o sono cicli.

66 Teorema di Berge Dimostrazione ( ): Nessun ciclo può essere dispari altrimenti M e M non sarebbero due abbinamenti. Non possono essere tutti cicli pari altrimenti M = M. Deve esistere una componente connessa che è un percorso. Non tutti i percorsi possono essere pari altrimenti M = M. Quindi, senza perdità di generalità, possiamo assumere che esista un percorso dispari che inizia e termina con un arco di M. Questo percorso è aumentante per M.

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

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

69 Dimostrazione Dimostrazione: Poiché M e M* sono due abbinamenti e v è accoppiato in M*, si ha che M M* non può contenere un cammino v perché aumentante per M. Però, contiene un cammino v Pertanto, scambiando gli archi blu con quelli rossi è possibile ottenere da M* un altro abbinamento massimo con esposto.

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

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

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

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

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

75 Esempio Sia M il matching rosso v, PARI DISPARI DISPARI DISPARI PARI PARI PARI q, ESPOSTO

76 Esempio Sia M il matching rosso v, PARI DISPARI DISPARI DISPARI PARI PARI PARI

77 Esempio v q

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

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

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

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

82 Dimostrazione X 1 Nodi raggiungibili X 2 Definizione: Un nodo y Y 1 è raggiungibile se esiste P alternante rispetto ad M* da x in X 2 tale che l ultimo arco non appartiene ad M*. Y 1 : insiemi dei nodi y di Y raggiungibili da x in X 2.

83 Dimostrazione X 1 Y 2 Y 1 X 2 Y 2 Osservazione: Per definizione i nodi in Y 1 sono accoppiati, altrimenti M* non sarebbe massimo. Infine: Y 2 : Y Y 1

84 Dimostrazione X 1 Y 2 Y 1 X 2 Y 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.

85 Dimostrazione Dimostriamo che non esistono archi da nodi in X 2 verso nodi in Y non coperti da Z. Infatti, 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 necessariamente deve essere coperto. Y 2 X 1 Y 1 X 2 Y 2

86 Dimostrazione Dimostriamo che non esistono archi da nodi in X 1 verso nodi in Y non coperti da Z. Consideriamo l arco 1, da X 1 a Y 2. Se non fosse coperto allora il nodo y 1, estremo dell arco del matching, sarebbe raggiungibile. Ma allora esisterebbe un cammino aumentante e il matching non sarebbe massimo. y 1 Y 2 X 1 Y 1 X 2 1 Y 2

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

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

Ottimizzazione Combinatoria A. A

Ottimizzazione Combinatoria A. A Ottimizzazione Combinatoria A. A. 2005-2006 Docente Fabrizio Rossi Orario di ricevimento mercoledi 17-19 oppure su appuntamento Telefono 0862433139 e-mail rossi@di.univaq.it Sito web http://www.di.univaq.it/~oil

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Appunti sui problemi di matching

Appunti sui problemi di matching Appunti sui problemi di matching A. Agnetis 1 Formulazione I problemi di matching (talvolta chiamati problemi di accoppiamento, o abbinamento) sono tra i più importanti e più studiati problemi di ottimizzazione

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

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n NOTE DI ALGEBRA LINEARE 2- MM 9 NOVEMBRE 2 Combinazioni lineari e generatori Sia K un campo e V uno spazio vettoriale su K Siano v,, v n vettori in V Definizione Un vettore v V si dice combinazione lineare

Dettagli

Esercitazione 6 Ancora sul Network Flow

Esercitazione 6 Ancora sul Network Flow Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima

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

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

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

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

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

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola: o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {,}. Per ogni

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

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

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere

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

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

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

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

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici); Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo

Dettagli

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

Si consideri il seguente tableau ottimo di un problema di programmazione lineare ESERCIZIO 1 Si consideri il seguente tableau ottimo di un problema di programmazione lineare -25/3 0 4/3 19/6 9/2 0 0 0 7/6 1 0 1-1/2-3/2 1 0 0 3/2 11/3 1-2/3-1/3 0 0 0 0 2/3 2/3 0 1/3 1/6-1/2 0 1 0 7/6

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

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

LA MATEMATICA DELLE RELAZIONI SOCIALI

LA MATEMATICA DELLE RELAZIONI SOCIALI LA MATEMATICA DELLE RELAZIONI SOCIALI ALESSIO TORTI SILVIA LAZZARI FRANCESCA GERACE FLAVIA VICICONTE ABSTRACT. Nell articolo si analizzano, utilizzando la teoria dei grafi, le diverse configurazioni che

Dettagli

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3. COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 x 1 + x 2 2 2x 1 + x 2 x 1 0 x 2 0 Si trasformi questo problema in forma standard e lo si

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

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

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

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

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

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati. LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b

Dettagli

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è L. Pallottino, Sistemi Robotici Distribuiti - Versione del 10 Dicembre 2015 393 Coverage Si consideri ora il problema di coordinare una squadra di robot con dei sensori omnidirezionali in modo da garantire

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

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

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco

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

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

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

LEZIONE 4. { x + y + z = 1 x y + 2z = 3 LEZIONE 4 4.. Operazioni elementari di riga. Abbiamo visto, nella precedente lezione, quanto sia semplice risolvere sistemi di equazioni lineari aventi matrice incompleta fortemente ridotta per righe.

Dettagli

Programmazione Non Lineare

Programmazione Non Lineare Capitolo 1 Programmazione Non Lineare 1.1 Introduzione Un problema di ottimizzazione viene definito come la minimizzazione o la massimizzazione di una funzione a valori reali su un insieme specificato.

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

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

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

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

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

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

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

Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità.

Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità. RISULTATI DI NON APPROSSIMABILITA Tecnica di base: gap. Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità. Risultati negativi basati su prove verificabili in modo

Dettagli

Esercizi di Programmazione Lineare - Dualità

Esercizi di Programmazione Lineare - Dualità Esercizi di Programmazione Lineare - Dualità Esercizio n1 Dato il seguente problema 3 + 3 2 2 + a scriverne il duale; b risolvere il duale (anche geometricamente indicando cosa da esso si può dedurre sul

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente

Dettagli

8.10 Algoritmi di approssimazione

8.10 Algoritmi di approssimazione 296 Capitolo 8 NP-completezza e approssimazione 8.10 Algoritmi di approssimazione Dimostrare che un problema è NP-completo significa rinunciare a progettare per esso un algoritmo polinomiale di risoluzione

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

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO Introduzione alla Ricerca Operativa Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO Cos è la Ricerca Operativa? La Ricerca Operativa è la

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

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I APPUNTI DI TEORIA DEGLI INSIEMI MAURIZIO CORNALBA L assioma della scelta e il lemma di Zorn Sia {A i } i I un insieme di insiemi. Il prodotto i I A i è l insieme di tutte le applicazioni α : I i I A i

Dettagli

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16 Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema

Dettagli

Cammini minimi con sorgente singola

Cammini minimi con sorgente singola Capitolo 11 Cammini minimi con sorgente singola efinizione 11.1. Sia G = (V,, w) un grafo orientato e pesato; dato il cammino p = v 0, v 1,..., v k in G, il valore w(p) = k i=1 w(v i 1, v i ) rappresenta

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

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

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi di Analisi Matematica Ia. Carlo Bardaro Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

LA STRUTTURA DEI PROBLEMI DI OTTIMIZZAZIONE. L'ipotesi di razionalità implica che un decisore cerchi di

LA STRUTTURA DEI PROBLEMI DI OTTIMIZZAZIONE. L'ipotesi di razionalità implica che un decisore cerchi di LA STRUTTURA DEI PROBLEMI DI OTTIMIZZAZIONE L'ipotesi di razionalità implica che un decisore cerchi di individuare la migliore tra tutte le alternative a sua disposizione. Problemi di ottimizzazione =

Dettagli

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni Corso di Laurea in Matematica Geometria 2 Foglio di esercizi n. 2 a.a. 2015-16 Soluzioni Gli esercizi sono presi dal libro di Manetti. Per svolgere questi esercizi, studiare con cura i paragrafi 3.5, 3.6,

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

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

Università degli Studi di Palermo Facoltà di Economia. CdS Sviluppo Economico e Cooperazione Internazionale. Appunti del corso di Matematica

Università degli Studi di Palermo Facoltà di Economia. CdS Sviluppo Economico e Cooperazione Internazionale. Appunti del corso di Matematica Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 02 - I Numeri Reali Anno Accademico 2013/2014 D. Provenzano, M.

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 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 Laboratorio Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia MOLP Parte I 1 / 41 Contenuto della

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

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

VISITA IL SITO  PER ALTRO MATERIALE E GUIDE COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti

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

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

LEZIONE 12. v = α 1 v α n v n =

LEZIONE 12. v = α 1 v α n v n = LEZIONE 12 12.1. Combinazioni lineari. Definizione 12.1.1. Sia V uno spazio vettoriale su k = R, C e v 1,..., v n V vettori fissati. Un vettore v V si dice combinazione lineare di v 1,..., v n se esistono

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

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

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it Anno accademico 2000/2001 La Ricerca Operativa (Operation

Dettagli