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 7-9 oppure su appuntamento Telefono Sito web Orario delle lezioni martedi ore Aula.7 mercoledi ore Aula.6 giovedi ore Aula 2.4 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:. 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. 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 funzione 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 = {, 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 di sottoinsiemi F di U Si definisce Problema di Ottimizzazione Combinatoria min { S N js c j : S} 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. {a l, a 2 l 2, a 3 l 3 } di costo {a l 2, a 2 l 3, a 3 l } di costo {a l 3, a 2 l, a 3 l 2 } di costo 37 A L {a l 3, a 2 l 2, a 3 l } di costo {a l 2, a 2 l, a 3 l 3 } di costo {a l, a 2 l 3, a 3 l 2 } di costo 38 La soluzione ottima ha valore 28 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, {}, {2}, {3}, {4}, {, 2}, {, 4}, {2, 4}, {3,4} Soluzione ottima {, 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=,,n a j / 2 gli insiemi ammissibili sono almeno 2 n-

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-)!/2 possibili tour

14 Differenze e similarità Proprietà fondamentali dei problemi di OC:. 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 ( 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?. 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. 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 > ) 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 2 B A B C D C 3 Grafo intersezione righe-colonne D 4

24 La battaglia d Inghilterra (94) Problema 3. La battaglia d Inghilterra (Berge) Nel 94 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 Claudio Davide Anna Bice Carla Daniela A B C D Alì Bob Charlie David Evgenij 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 è detto trasversale (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 yy copre contemporaneamente due elementi di X, altrimenti questi sarebbero adiacenti, e dunque X non sarebbe indipendente. Quindi esiste un distinto yy per ogni xx, 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 959). Per ogni grafo G con n nodi si ha: (G) + (G) = n () Se inoltre G non ha nodi isolati μ(g) + (G) = n (2) Esempio ()

42 Esempio (2) Teorema di Gallai Teorema (Gallai 959). Per ogni grafo G con n nodi si ha: (G) + (G) = n () Se inoltre G non ha nodi isolati μ(g) + (G) = n (2)

43 Dimostrazione: Dimostrazione (I) () Sia S stabile in G. Allora V S è un trasversale di G S Se S* = (G), allora (G) < V S* = n (G).

44 Dimostrazione (II) Viceversa, se T è un trasversale, 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. H = V V A = n 2 A Osservazione: C = A H è un edge-cover V A

46 Quindi Dimostrazione (IV). 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à: ) 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à ) 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 archi Quindi <i<n s i = n <i<n (s i ) = <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 se il vertice 0 altrimenti i S Formulazione max st x x i i + x n i= j x i {0,}, i ( i, j) =,..., n E

51 Rilassamento Lineare max st n i= x i STAB RL x i + x j ( i, j) E x i 0, i =,..., n Osservazione: La limitazione x i < 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 se l' arco e 0 altrimenti C Formulazione min st e ( i) y e ee y e y e {0,}, e iv =,..., m

53 Rilassamento lineare min st ee y e EDGE-C RL e ( i) y e y e 0, e = iv,..., m Osservazione: La limitazione y e < 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 se l' arco e 0 altrimenti A Formulazione max st e ( i) y e y ee e y e {0,}, i =,..., n e =,..., m

56 Rilassamento Lineare max st e E y e MATCHING RL y e e (i) i =,...,n y e 0, e =,...,m Osservazione: La limitazione y e < 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 se il vertice 0 altrimenti i T Formulazione min st x x i i n i= + x j x i {0,}, i ( i, j) =,..., n E

58 Rilassamento lineare min st x x i i + x n j x i i= TRASV RL ( i, j) E 0, i =,..., n Osservazione: La limitazione x i < 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 +. 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à ) è un abbinamento Difatti, se D non fosse un abbinamento allora esisterebbero almeno due spigoli di D tra loro adiacenti. Questi due spigoli. 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, 957) Un abbinamento A di G è massimo se e solo se G non ammette cammini alternanti rispetto ad A che siano anche aumentanti. Dimostrazione Condizione necessaria: dal Teorema precedente, se esiste in G un cammino aumentante rispetto A, allora esiste un abbinamento di cardinalità A +, quindi, A non è massimo.

66 Teorema di Berge Dimostrazione Condizione sufficiente: dimostro che se A non è massimo allora esiste un cammino aumentante in G rispetto ad A. Sia B un abbinamento di G con un elemento più di A. Consideriamo il sottografo G di G individuato dall insieme di archi F = (A B) / (A B) e da tutti i loro estremi. 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) aumenta (q, v, &A); else //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 esplora_dispari (i, A, &LIST); if (trovato) 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 93). Teorema di König Se G = (X, Y, E) è un grafo bipartito allora μ(g) = (G) Dimostrazione Sia A un abbinamento massimo, e siano X : 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 Nodi raggiungibili X 2 Definizione: Un nodo y Y è raggiungibile se esiste P alternante rispetto ad A da x in X 2 tale che l ultimo arco non appartiene ad A Y : insiemi dei nodi y di Y raggiungibili da x in X 2

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

85 Teorema di König X Y 2 Y X 2 Consideriamo il seguente insieme di nodi Z = {z, 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, ) 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 perché i nodi in Y sono raggiungibili e quindi l arco sarebbe coperto X Y 2 X 2 Y 2

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

88 Dimostrazione (III) Consideriamo un arco da X a Y, ad esempio l arco 2. Se non fosse coperto significa che il nodo y 2 non è raggiungibile, ovvero non appartiene ad Y (contraddizione). x 2 y y 2 X Y 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 -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,} 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 > z UB 2 > > z UB h > z* z LB < 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 z UB 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. 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,} n } (z = min {c T x : x X, X {0,} 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à. 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 -albero è un sottografo di G consistente di due archi adiacenti al nodo più gli archi di un albero ricoprente i nodi {2,, n} Esempio

96 Rilassamenti per il TSP Osservazione Un ciclo hamiltoniano è un particolare -albero Pertanto, il problema Dati: grafo G = (V,E), pesi sugli archi c e per ogni arco e E Domanda: trovare l -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 -alberi

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 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 Il 2 abbinamento di peso minimo ha valore

102 Un esempio L -albero di peso minimo ha valore

103 Un esempio Il ciclo hamiltoniano di peso minimo ha valore

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

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

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

107 Ricapitolando Abbiamo definito per il TSP due lower bound con le seguenti proprietà:. 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. Ha complessità polinomiale 2. Per ogni istanza I di P con soluzione ottima z*(i), si ha z A (I) / z*(i) < () Osservazione: se P è problema di massimo < e () 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 005, è ottima?

112 Esempio Nearest Neighbor La soluzione ottima vale 2 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 = (, 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, 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 =

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

121 Esempio C = 2

122 Esempio C = 6

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, e 2, e 3 in G si ha c ei + c ej > c ek per i j k, i, j, k {, 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ù ee c e

127 Dimostrazione (idea)

128 Euristica Double Tree. 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,, v k ) procedure obtain_hamiltonian () T = {v }, i=2, v = v while T < n { if v i T T = T {v i } collega v a v i v = v i i ++ } collega v a v T è un ciclo hamiltoniano

130 Esempio Tour (5,4,5,3,2,3,,3,5,6,5,8,9,8,0,8,7,,7,8,5)

131 Proprietà Double tree è un algoritmo 2-approssimato per il TSP Dimostrazione. z* > z TREE (-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. 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 (,2,3,6,5,4,9,8,0,,7,8,5,3,)

134 Proprietà Christofides è un algoritmo 3/2-approssimato per il TSP Dimostrazione. z* > z TREE (-albero è un rilassamento per TSP) Siano {t, 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* = {, 2, 3, 4, 5, 6} Min albero ricoprente in rosso {t, t 2,..., t 2k } = {, 3, 5, 6} 6 5

135 Dimostrazione Sia C il ciclo formato dai vertici {t, t 2,..., t 2k } e z(c) il suo costo. Si ha che:. C è l unione di 2 matching perfetti: {t t 2, t 3 t 4,... t 2k- t 2k } {t 2 t 3, t 4 t 5,... t 2k t } 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= 0 x a j j n j= x j c x b per j j j =,..., n (KRL) è un rilassamento del problema di knapsack 0-. Infatti, la collezione degli insiemi ammissibili del problema di knapsack 0- è 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 c2... a 2 La soluzione con f c a n n e sia h l indice minimo per cui è ottima per (KLR) h j= a j > b x =, x2 =,..., xh =, xh = f, xh+ = 0,..., xn = = b a h j= h a j 0

139 Dimostrazione Supponiamo, senza perdita di generalità, che gli elementi del problema soddisfino c a e sia x LP = (x,, 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 < e un indice k > h tale che x k > 0. Sia d = min c2 > >... > a Per costruzione, d > 0. Consideriamo la soluzione: 2 c a { a x', a ( 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 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 = + = = = ' 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 = ; j < n; j ++) { if (d + a j < b) then x j = ; d = d + a j ; z = z + c j ; else x j = 0; } c a 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 = {, 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- un upper bound con le seguenti proprietà:. 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, } con il vincolo 0 < x < di una formulazione di un problema di PL-{0,}, 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. 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- max 5x + 2x 2 st 3x + 4x 2 < 6 x {0,} 2 Insiemi ammissibili F = {(0, 0), (0, ), (, 0)} Rappresentazione sul piano degli insiemi ammissibili

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

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

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

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

151 ovvero, è una formulazione x 2 x

152 Gerarchia di formulazioni Quando una formulazione è migliore di un altra? Definizione Se un poliedro P, formulazione di F, è contenuto in P 2, formulazione di F, diciamo che P è migliore di P 2. In generale P 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

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

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, ), (, 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. Elenco tutti gli insiemi ammissibili 2. Rappresento gli insiemi ammissibili come vettori a componenti in {0,} 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. 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. 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, formulazione di F, è contenuto in P 2, formulazione di F, diciamo che P è migliore di P 2. In generale, una gerarchia di formulazioni è costituita da un insieme di poliedri P 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. Formulazione 2. max c T x st ax b x x x k k x x i j {0,} n max c T x st ax b 2xk xi + n x {0,} x j

162 Esempio (II) Il rilassamento lineare della formulazione è migliore della formulazione 2. Difatti, il vincolo 2x x + è implicato dai vincoli x x k k k x x i j i x j Quindi, P 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 * B b N

165 Il caso fortunato (II) Osservazione Se la base ottima B ha determinante det (B )=+, allora RL ha una soluzione intera. Difatti: B = det( B) M m L O L m M mm T è una matrice a componenti intere con ij = ( 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) = {-, 0, +}. 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,}. 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 ] 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 ) = {-, 0, +} 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, +, -}. 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 [956] 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 {-, 0, } Teorema A è TU se i) a ij {-, 0, } ii) Ogni colonna ha al più due coefficienti non nulli iii) Esiste una partizione (M, M 2 ) dell insieme delle righe M tale che ogni colonna j contenente due coefficienti non nulli soddisfa a = im ij a i ij M 2

171 Dimostrazione Supponiamo che A non sia TU e sia B la più piccola sottomatrice quadrata per cui det (B) {-, 0, }. Ora, B ha almeno 2 elementi non nulli per colonna (altrimenti non sarebbe minimale). Quindi, data la partizione (M, M 2 ), posso sommare le righe in M 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 a b c e i g d f h l l i h g f e d c b a A Matrice di incidenza nodi-archi M = M, M 2 =

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,} ik ik ik A ( i, j) A c ij x k k k ij ( i) ( i) ( i) x x x ki ki ki = per i = s = 0 per ogni i V = per i = t \ { s, t}

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

175 Matrice di incidenza di grafi bipartiti e d c b a M 2 M a b c d e 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 b c a b c

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

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Problemi di Instradamento di Veicoli

Problemi di Instradamento di Veicoli Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Instradamento di Veicoli Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

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

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

Dettagli

Ottimizzazione Multi Obiettivo

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

Dettagli

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4 Lezioni di Ricerca Operativa Lezione n 4 - Problemi di Programmazione Matematica - Problemi Lineari e Problemi Lineari Interi - Forma Canonica. Forma Standard Corso di Laurea in Informatica Università

Dettagli

Ricerca Operativa A.A. 2007/2008

Ricerca Operativa A.A. 2007/2008 Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del

Dettagli

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

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

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Ricerca Operativa A.A. 2007/2008. 10. Dualità in Programmazione Lineare

Ricerca Operativa A.A. 2007/2008. 10. Dualità in Programmazione Lineare Ricerca Operativa A.A. 2007/2008 10. Dualità in Programmazione Lineare Luigi De Giovanni - Ricerca Operativa - 10. Dualità in Programmazione Lineare 10.1 Soluzione di un problema di PL: punti di vista

Dettagli

1. Sia dato un poliedro. Dire quali delle seguenti affermazioni sono corrette.

1. Sia dato un poliedro. Dire quali delle seguenti affermazioni sono corrette. . Sia dato un poliedro. (a) Un vettore x R n è un vertice di P se soddisfa alla seguenti condizioni: x P e comunque presi due punti distinti x, x 2 P tali che x x e x x 2 si ha x = ( β)x + βx 2 con β [0,

Dettagli

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria Formulazioni PLI di problemi di decisione Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici, Claudio Cavalletti, Daniela

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

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

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

5. Problemi di Ottimizzazione e Programmazione Matematica

5. Problemi di Ottimizzazione e Programmazione Matematica Dispense del corso di Ottimizzazione Combinatoria (IN440) 5. Problemi di Ottimizzazione e Programmazione Matematica Marco Liverani Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso

Dettagli

Richiami di algebra lineare e geometria di R n

Richiami di algebra lineare e geometria di R n Richiami di algebra lineare e geometria di R n combinazione lineare, conica e convessa spazi lineari insiemi convessi, funzioni convesse rif. BT.5 Combinazione lineare, conica, affine, convessa Un vettore

Dettagli

Ricerca Operativa (Compito A) Appello del 16/06/2014 Andrea Scozzari

Ricerca Operativa (Compito A) Appello del 16/06/2014 Andrea Scozzari Ricerca Operativa (Compito A) Appello del 16/06/2014 Andrea Scozzari Esercizio n.1 Un agenzia finanziaria deve investire 1000000 di euro di un suo cliente in fondi di investimento. Il mercato offre cinque

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

Ricerca Operativa 2. Introduzione al metodo del Simplesso Ricerca Operativa 2. Introduzione al metodo del Simplesso Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema di ottimizzazione vincolata è definito dalla massimizzazione

Dettagli

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain 1 PROGRAMMAZIONE LINEARE 1 1 Programmazione lineare 1.1 Modelli matematici Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling

Dettagli

Ricerca Operativa Dualità e programmazione lineare

Ricerca Operativa Dualità e programmazione lineare Ricerca Operativa Dualità e programmazione lineare L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni del

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

Dettagli

NUMERI COMPLESSI. Test di autovalutazione

NUMERI COMPLESSI. Test di autovalutazione NUMERI COMPLESSI Test di autovalutazione 1. Se due numeri complessi z 1 e z 2 sono rappresentati nel piano di Gauss da due punti simmetrici rispetto all origine: (a) sono le radici quadrate di uno stesso

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico 2012-2013 Indice 1. Introduzione........................................

Dettagli

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo)

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) Se si ha un problema lineare e' possibile risolverlo in piu' modi (equivalenti ) - Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) - Trovare soluzione ottima duale (con il simplesso

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

Introduzione alla programmazione lineare. Mauro Pagliacci

Introduzione alla programmazione lineare. Mauro Pagliacci Introduzione alla programmazione lineare Mauro Pagliacci c Draft date 25 maggio 2010 Premessa In questo fascicolo sono riportati gli appunti dalle lezioni del corso di Elaborazioni automatica dei dati

Dettagli

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 0// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x + x x +x x x x x x x 0 x x

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

0.1 Esercizi calcolo combinatorio

0.1 Esercizi calcolo combinatorio 0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

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

Dettagli

PROBLEMI DI SCELTA dipendenti da due variabili d azione

PROBLEMI DI SCELTA dipendenti da due variabili d azione prof. Guida PROBLEMI DI SCELTA dipendenti da due variabili d azione in un problema di programmazione lineare, si ricorda che la funzione obiettivo z=f(x,y)=ax+by+c assume il suo valore massimo (o minimo)

Dettagli

(3,4) (1,3) (2,2) (0,2) (3,4) (2,4) t (2,3) (3,5) (2,4) (3,5) (6,8) (3,4) (1,2) 1 (1,3)

(3,4) (1,3) (2,2) (0,2) (3,4) (2,4) t (2,3) (3,5) (2,4) (3,5) (6,8) (3,4) (1,2) 1 (1,3) Prova Scritta di RICERCA OPERATIVA èinformaticiè 2èè98 - Esame æ Cognome: æ Nome:. Una compagnia petrolifera possiede 3 depositi dai quali puço prelevare benzina e trasportarla ai 5 impianti di distribuzione.

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1 Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l

Dettagli

Principi e Metodologie della Progettazione Meccanica

Principi e Metodologie della Progettazione Meccanica Principi e Metodologie della Progettazione Meccanica ing. F. Campana a.a. 06-07 Lezione 11: CAE e Ottimizzazione Strutturale Il ruolo dell ottimizzazione nell ambito della progettazione meccanica Durante

Dettagli

Indice. Nota degli autori. 1 Capitolo 1 Introduzione alla ricerca operativa

Indice. Nota degli autori. 1 Capitolo 1 Introduzione alla ricerca operativa XI Nota degli autori 1 Capitolo 1 Introduzione alla ricerca operativa 1 1.1 Premessa 1 1.2 Problemi di ottimizzazione 6 1.3 Primi approcci ai modelli di ottimizzazione 13 1.4 Uso del risolutore della Microsoft

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 A Ricerca Operativa Primo appello 4 novembre 005 Esercizio Incontrate una ragazza con il suo cane Fido e vi chiedete che età possa avere. Lei sembra leggervi nel pensiero e vi dice: Non si chiede l età

Dettagli

Prof. Ing. Michele Marra Appunti delle lezioni di Ricerca Operativa Teoria dei grafi

Prof. Ing. Michele Marra Appunti delle lezioni di Ricerca Operativa Teoria dei grafi CAPITOLO III 3.1 Introduzione Nei paragrafi seguenti verranno introdotti gli strumenti di base connessi con la Pianificazione di un Sistema decisionale complesso: si inizierà con alcuni elementi fondamentali

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

Massimi e minimi vincolati in R 2 - Esercizi svolti

Massimi e minimi vincolati in R 2 - Esercizi svolti Massimi e minimi vincolati in R 2 - Esercizi svolti Esercizio 1. Determinare i massimi e minimi assoluti della funzione f(x, y) = 2x + 3y vincolati alla curva di equazione x 4 + y 4 = 1. Esercizio 2. Determinare

Dettagli

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

Parte 6. Applicazioni lineari

Parte 6. Applicazioni lineari Parte 6 Applicazioni lineari A Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Applicazioni fra insiemi, 2 Applicazioni lineari tra spazi vettoriali, 2 3 Applicazioni lineari da R n a R

Dettagli

I costi d impresa (R. Frank, Capitolo 10)

I costi d impresa (R. Frank, Capitolo 10) I costi d impresa (R. Frank, Capitolo 10) COSTI Per poter realizzare la produzione l impresa sostiene dei costi Si tratta di scegliere la combinazione ottimale dei fattori produttivi per l impresa È bene

Dettagli

La Programmazione Lineare

La Programmazione Lineare 4 La Programmazione Lineare 4.1 INTERPRETAZIONE GEOMETRICA DI UN PROBLEMA DI PROGRAMMAZIONE LINEARE Esercizio 4.1.1 Fornire una rappresentazione geometrica e risolvere graficamente i seguenti problemi

Dettagli

Politecnico di Milano. Reti Wireless. Seminari didattici. Introduzione all ottimizzazione. Ilario Filippini

Politecnico di Milano. Reti Wireless. Seminari didattici. Introduzione all ottimizzazione. Ilario Filippini Politecnico di Milano Reti Wireless Seminari didattici Introduzione all ottimizzazione Ilario Filippini 2 Esempio 1! 3 Esempio 1!! 4 Esempio 2!!? 5 Ottimizzazione!!!!!! Ottimizzazione 6 Approccio matematico

Dettagli

TEORIA RELAZIONALE: INTRODUZIONE

TEORIA RELAZIONALE: INTRODUZIONE TEORIA RELAZIONALE: INTRODUZIONE Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

Informatica Grafica. Un introduzione

Informatica Grafica. Un introduzione Informatica Grafica Un introduzione Rappresentare la Geometria Operabile da metodi di calcolo automatici Grafica Vettoriale Partiamo dalla rappresentazione di un punto... Spazi Vettoriale SPAZI VETTORIALI

Dettagli

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2 NLP -OPT 1 CONDIZION DI OTTIMO [ Come ricavare le condizioni di ottimo. ] Si suppone x* sia punto di ottimo (minimo) per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J la condizione

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 CANDIDATO.. VOTO

METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 CANDIDATO.. VOTO METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 1) In un problema multiattributo i pesi assegnati ai vari obiettivi ed i risultati che essi assumono in corrispondenza alle varie alternative

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

Corso di Gestione dei sistemi di trasporto. Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche. Simona Sacone - DIST

Corso di Gestione dei sistemi di trasporto. Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche. Simona Sacone - DIST Corso di Gestione dei sistemi di trasporto Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche Simona Sacone - DIST Introduzione La gestione operativa dell azienda è estremamente critica.

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 9/0/06 (Cognome) (Nome) (Matricola) Esercizio. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel

Dettagli

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 8// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x 8 x Base

Dettagli

Syllabus: argomenti di Matematica delle prove di valutazione

Syllabus: argomenti di Matematica delle prove di valutazione Syllabus: argomenti di Matematica delle prove di valutazione abcdef... ABC (senza calcolatrici, senza palmari, senza telefonini... ) Gli Argomenti A. Numeri frazioni e numeri decimali massimo comun divisore,

Dettagli

Esercitazione n o 3 per il corso di Ricerca Operativa

Esercitazione n o 3 per il corso di Ricerca Operativa Esercitazione n o 3 per il corso di Ricerca Operativa Ultimo aggiornamento October 17, 2011 Fornitura acqua Una città deve essere rifornita, ogni giorno, con 500 000 litri di acqua. Si richiede che l acqua

Dettagli

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2 Chiusura lineare Def. Sia A V (K) con A. Si dice copertura lineare (o chiusura lineare) di A, e si indica con L(A), l insieme dei vettori di V che risultano combinazioni lineari di un numero finito di

Dettagli

Università del Salento

Università del Salento Università del Salento Dipartimento di Matematica DAI SISTEMI DI DISEQUAZIONI LINEARI.. ALLA PROGRAMMAZIONE LINEARE Chefi Triki La Ricerca Operativa Fornisce strumenti matematici di supporto alle attività

Dettagli

Prodotto elemento per elemento, NON righe per colonne Unione: M R S

Prodotto elemento per elemento, NON righe per colonne Unione: M R S Relazioni binarie Una relazione binaria può essere rappresentata con un grafo o con una matrice di incidenza. Date due relazioni R, S A 1 A 2, la matrice di incidenza a seguito di varie operazioni si può

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 19/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica Esame di Geometria (Prof. F. Tovena) Argomenti: Proprietà di nucleo e immagine di una applicazione lineare. dim V = dim

Dettagli

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno SIMULAZIONE ESAME di OTTIMIZZAZIONE 28 novembre 2005 SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : XXXXXXXXXXXXXXXXX Nome : XXXXXXXXXXXXXX VALUTAZIONE

Dettagli

Rette e piani con le matrici e i determinanti

Rette e piani con le matrici e i determinanti CAPITOLO Rette e piani con le matrici e i determinanti Esercizio.. Stabilire se i punti A(, ), B(, ) e C(, ) sono allineati. Esercizio.. Stabilire se i punti A(,,), B(,,), C(,, ) e D(4,,0) sono complanari.

Dettagli

Modelli per la gestione delle scorte

Modelli per la gestione delle scorte Modelli per la gestione delle scorte Claudio Arbib Università di L Aquila Seconda Parte Sommario Sui problemi di gestione aperiodica equazioni di stato Funzioni di costo Un modello convesso formulazione

Dettagli

Riconoscere e formalizzare le dipendenze funzionali

Riconoscere e formalizzare le dipendenze funzionali Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse

Dettagli

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Corso di Laurea in Ingegneria Informatica Analisi Numerica Corso di Laurea in Ingegneria Informatica Lucio Demeio Dipartimento di Scienze Matematiche 1 2 Analisi degli errori Informazioni generali Libro di testo: J. D. Faires, R. Burden, Numerical Analysis, Brooks/Cole,

Dettagli

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

Barriere assorbenti nelle catene di Markov e una loro applicazione al web Università degli studi di Roma Tre Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Matematica Sintesi relativa alla Tesi di Laurea in Matematica di Giulio Simeone Barriere assorbenti

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 20/202 Lezione 6-8 Rappresentazione di funzioni non lineari: - Costi fissi - Funzioni lineari a tratti Funzioni obiettivo non lineari:

Dettagli

Grafi. Il collegamento fra due nodi in un grafo rappresenta una relazione di adiacenza o di vicinanza tra essi

Grafi. Il collegamento fra due nodi in un grafo rappresenta una relazione di adiacenza o di vicinanza tra essi Lezione 6 Grafi Grafi Estensione di alberi e liste Il collegamento fra due nodi in un grafo rappresenta una relazione di adiacenza o di vicinanza tra essi Sono importanti, perché innumerevoli situazioni

Dettagli

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1

Dettagli

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

Elementi di matematica finanziaria

Elementi di matematica finanziaria Elementi di matematica finanziaria 1. Percentuale Si dice percentuale di una somma di denaro o di un altra grandezza, una parte di questa, calcolata in base ad un tanto per cento, che si chiama tasso percentuale.

Dettagli

Fondamenti di Internet e Reti 097246

Fondamenti di Internet e Reti 097246 sul livello di Rete Instradamento. o Si consideri la rete in figura.. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si calcoli il cammino

Dettagli

CORSO DI LAUREA IN INGEGNERIA.

CORSO DI LAUREA IN INGEGNERIA. CORSO DI LAUREA IN INGEGNERIA. FOGLIO DI ESERCIZI 4 GEOMETRIA E ALGEBRA LINEARE 2010/11 Esercizio 4.1 (2.2). Determinare l equazione parametrica e Cartesiana della retta dello spazio (a) Passante per i

Dettagli

STRUTTURE NON LINEARI

STRUTTURE NON LINEARI PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo

Dettagli

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2)

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2) Algoritmi per la visualizzazione DISEGNO DI GRAFI: ALCUNI CASI PARTICOLARI Disegno 2D ortogonale Disegno ortogonale 2D () Disegno ortogonale 2D (2) Punto di vista umano: primo criterio per giudicare la

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

Un applicazione della programmazione lineare ai problemi di trasporto

Un applicazione della programmazione lineare ai problemi di trasporto Un applicazione della programmazione lineare ai problemi di trasporto Corso di Ricerca Operativa per il Corso di Laurea Magistrale in Ingegneria della Sicurezza: Trasporti e Sistemi Territoriali AA 2012-2013

Dettagli

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

CAPITOLO IV RISOLUZIONE DEI SISTEMI LINEARI COL METODO DEI DETERMINANTI

CAPITOLO IV RISOLUZIONE DEI SISTEMI LINEARI COL METODO DEI DETERMINANTI CAPITOLO IV RISOLUZIONE DEI SISTEMI LINEARI COL METODO DEI DETERMINANTI 1. REGOLA DI CRAMER Sia S un sistema lineare di n ( 2) equazioni in n incognite su un campo K : a 11 x 1 + a 12 x 2 + + a 1n x n

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e elematica (DIS) Università di Genova paolucci@dist.unige.it http://www.dattero.dist.unige.it Estratto per la parte

Dettagli

La dualità nella Programmazione Lineare

La dualità nella Programmazione Lineare Capitolo 5 La dualità nella Programmazione Lineare In questo capitolo verrà introdotto un concetto di fondamentale importanza sia per l analisi dei problemi di Programmazione Lineare, sia per lo sviluppo

Dettagli

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri Stima di parametri Il gestore di un sito turistico dove si pratica il bungee-jumping deve fornire alla sovrintendenza municipale un documento che riguarda la sicurezza del servizio fornito. Il documento

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

OGNI SPAZIO VETTORIALE HA BASE

OGNI SPAZIO VETTORIALE HA BASE 1 Mimmo Arezzo OGNI SPAZIO VETTORIALE HA BASE CONVERSAZIONE CON ALCUNI STUDENTI DI FISICA 19 DICEMBRE 2006 2 1 Preliminari Definizione 1.0.1 Un ordinamento parziale (o una relazione d ordine parziale)

Dettagli

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND. IPSI G. Plana Via Parenzo 46, Torino efinizione di Mintermine onsiderata una qualunque riga della tabella di verità in cui la funzione booleana di uscita Q vale, si definisce mintermine il prodotto logico

Dettagli