Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6"

Transcript

1 Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6

2 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Tali problemi sono tipicamente raggruppati in classi ognuna delle quali è formata da più istanze. Ricerca Operativa 2 p. 2/6

3 Classi di problemi Una classe di problemi di ottimizzazione è formata da un insieme I di istanze. Ogni istanza I I è rappresentata da una coppia (f I,S I ) dove f I : S I R è detta funzione obiettivo e S I è detta regione ammissibile. Ricerca Operativa 2 p. 3/6

4 Problemi di massimo Se il problema è di massimo, allora una sua istanza I si rappresenta nel modo seguente maxf I (x) x S I e risolvere l istanza vuol dire trovare un x S I tale che f I (x ) f I (x) x S I. Ricerca Operativa 2 p. 4/6

5 Problemi di minimo Se il problema è di minimo, allora una sua istanza I si rappresenta nel modo seguente min f I (x) x S I e risolvere l istanza vuol dire trovare un x S I tale che f I (x ) f I (x) x S I. Ricerca Operativa 2 p. 5/6

6 Ottimo e valore ottimo In entrambi i casi il punto x viene chiamato ottimo (globale) dell istanza I del problema, mentre f I (x ) viene detto valore ottimo dell istanza. Ricerca Operativa 2 p. 6/6

7 Classi già note Problemi di Programmazione Lineare (PL): ogni istanza I è definita dal vettore c I dei coefficienti delle variabili nell obiettivo, dal vettore b I dei termini noti e dalla matrice dei vincoli A I : In tal caso: max c I x A I x b I x 0 f I (x) = c I x, S I = {x R n : A I x b I, x 0}. Ricerca Operativa 2 p. 7/6

8 Esempio max 2x 1 + 3x 2 + 4x 3 x 1 x 2 + x 3 5 x 1 + 2x 2 + 3x 3 2 x 1,x 2,x 3 0 c I = (2 3 4) b I = (5 2) A I = [ ] Ricerca Operativa 2 p. 8/6

9 Classi già note: continua Problemi di Programmazione Lineare Intera (PLI): max c I x A I x b I x 0 x Z n In tal caso: f I (x) = c I x, S I = {x Z n : A I x b I, x 0}. Ricerca Operativa 2 p. 9/6

10 Classificazione All interno delle classi dei problemi di ottimizzazione possiamo riconoscere due grandi categorie. Ottimizzazione Combinatoria: in ogni istanza I la regione ammissibile S I contiene un numero finito o un infinità numerabile di punti. Ottimizzazione Continua: la regione ammissibile S I può contenere un infinità non numerabile di punti. Ricerca Operativa 2 p. 10/6

11 Esempi Alla categoria dei problemi di ottimizzazione combinatoria appartiene la classe dei problemi di PLI; alla categoria dei problemi di ottimizzazione continua appartiene la classe dei problemi di PL. In questo corso ci occuperemo prevalentemente di problemi di ottimizzazione combinatoria (con regione ammissibile di solito costituita da un numero finito di elementi) ma dedicheremo una parte anche all ottimizzazione continua. Ricerca Operativa 2 p. 11/6

12 Cenni di complessità Come primo passo vogliamo associare ad ogni problema di ottimizzazione un grado di difficoltà. Ci renderemo conto che esistono delle notevoli differenze nella difficoltà di risoluzione dei diversi problemi di ottimizzazione. Tali differenze vengono formalizzate nella teoria della complessità. Per cominciare introdurremo come esempi di diversi gradi di difficoltà tre problemi di ottimizzazione. Ricerca Operativa 2 p. 12/6

13 Alberi Definizione Sia dato un grafo G = (V,A) con V = n dove V denota la cardinalità (il numero di elementi) dell insieme V. Si dice che G è un albero se soddisfa le seguenti condizioni (equivalenti tra loro) 1. G è privo di cicli e connesso (ovvero esiste un cammino tra ogni coppia di nodi); 2. G è privo di cicli e A = n 1; 3. G è connesso e A = n 1; 4. esiste un unico cammino che congiunge ogni coppia di nodi. Ricerca Operativa 2 p. 13/6

14 Alberi di supporto Definizione Sia dato un grafo generico G = (V,A). Si definisce albero di supporto di G un sottografo T = (V,A T ) di G (quindi con A T A) che è un albero. Si noti che un albero di supporto di G deve contenere tutti i nodi di G e che in virtù del punto 2. (o del punto 3.) della definizione di albero, si dovrà avere A T = V 1. Ad ogni arco e A del grafo associamo un peso w(e): w : A R Ricerca Operativa 2 p. 14/6

15 Esempio G = (V,A) V = {a,b,c,d} A = {(a,b); (a,c); (a,d); (b,c); (b,d); (c,d)} e w(e) (a, b) 3 (a, c) 6 (a, d) 2 (b, c) 5 (b, d) 4 (c, d) 8 Ricerca Operativa 2 p. 15/6

16 Albero di supporto a peso minimo Regione ammissibile S: è composta da tutti i possibili alberi di supporto del grafo G, che sono in numero finito. Funzione obiettivo f: per ogni albero di supporto T = (V,A T ) S è definita come somma dei pesi degli archi dell albero, cioè f(t) = e A T w(e). Il problema dell albero di supporto a peso minimo o Minimum Spanning Tree (abbreviato nel seguito con M ST ) consiste nel determinare un albero di supporto T = (V,A T ) tale che f(t ) f(t) T S Ricerca Operativa 2 p. 16/6

17 Esempio T 1 = (V,A T1 ) A T1 = {(a,b); (a,d); (c,d)} f(t 1 ) = = 13 T 2 = (V,A T2 ) A T2 = {(a,c); (b,d); (c,d)} f(t 2 ) = = 18 Ricerca Operativa 2 p. 17/6

18 Il problema dello zaino Sia dato un insieme {1,...,n} di oggetti. Ad ogni oggetto i è associato: un peso p i > 0; un valore v i > 0. Si ha inoltre a disposizione uno zaino con capacità (peso massimo trasportabile) pari a b > 0. Ricerca Operativa 2 p. 18/6

19 Regione ammissibile È formata da tutti i sottinsiemi di oggetti il cui peso complessivo non supera la capacità dello zaino e quindi S = {N {1,...,n} : p i b}. i N Si noti che S è un insieme finito. Infatti S 2 n. Ricerca Operativa 2 p. 19/6

20 Funzione obiettivo f La funzione obiettivo è definita dalla somma dei valori degli oggetti nel sottinsieme, ovvero f(n) = i N v i. Il problema dello zaino, indicato nel seguito come problema KNAPSACK, è un problema di massimo e consiste nel determinare un sottinsieme N S tale che f(n ) f(n) N S. Ricerca Operativa 2 p. 20/6

21 Esempio Si consideri l insieme {1, 2, 3, 4} di oggetti con i seguenti valori e pesi v 1 = 8 v 2 = 6 v 3 = 10 v 4 = 1 p 1 = 7 p 2 = 7 p 3 = 13 p 4 = 4 Si supponga inoltre che la capacità dello zaino sia b = 16. Si ha che N 1 = {1, 4} S con f(n 1 ) = 9, N 2 = {2, 4} S con f(n 2 ) = 7, N 3 = {1, 3} S. Ricerca Operativa 2 p. 21/6

22 Nota bene La classe di problemi KNAPSACK prende il nome da una sua particolare applicazione (mettere oggetti nello zaino) ma naturalmente questa non è l unica applicazione in cui ci si trova a risolvere problemi in tale classe. Ricerca Operativa 2 p. 22/6

23 Circuito hamiltoniano Definizione Dato un grafo orientato G = (V,A), un circuito hamiltoniano è un sottografo C = (V,A C ) i cui archi formano un cammino orientato all interno del grafo che partendo da un nodo dello stesso tocca tutti gli altri nodi una ed una sola volta e ritorna infine al nodo di partenza. NB: A C = V. Ricerca Operativa 2 p. 23/6

24 Regione ammissibile S È costituita da tutti i possibili circuiti hamiltoniani del grafo. Se il grafo è completo (cioè esiste un arco orientato tra ogni coppia ordinata di nodi) il numero di tali circuiti è pari a (n 1)! dove n = V è il numero di nodi. Ricerca Operativa 2 p. 24/6

25 Funzione obiettivo f Ad ogni arco (i,j) A è associato un valore d ij che rappresenta la "distanza" da percorrere lungo tale arco. Dato il circuito hamiltoniano C = (V,A C ), f associa a C la somma delle "distanze" degli n archi attraversati dal circuito, cioè f(c) = (i,j) A C d ij e rappresenta quindi la "distanza" complessiva percorsa lungo il circuito. Ricerca Operativa 2 p. 25/6

26 Esempio Grafo completo con insieme di nodi V = {a,b,c,d}. Distanze d ij : a b c d a b c d Ricerca Operativa 2 p. 26/6

27 Esempio - continua C 1 = (V,A C1 ) A C1 = {(a,b); (b,c); (c,d); (d,a)} Circuito hamiltoniano a b c d a. f(c 1 ) = = 18 C 2 = (V,A C2 ) A C2 = {(a,c); (c,d); (d,b); (b,a)} Circuito hamiltoniano a c d b a. f(c 2 ) = = 19 Ricerca Operativa 2 p. 27/6

28 Il problema del commesso viaggiatore o Travelling Salesman Problem (abbreviato con TSP nel seguito) è un problema di minimo in cui si cerca un circuito hamiltoniano C = (V,A C ) con "distanza" complessiva minima, cioè f(c ) f(c) C S. Ricerca Operativa 2 p. 28/6

29 Il problema TSP simmetrico Problema TSP in cui: (i,j) e (j,i) A : d ij = d ji. Si può rappresentare con un grafo non orientato con un solo arco non orientato tra ogni coppia di nodi e il numero totale di circuiti hamiltoniani è dimezzato rispetto al caso asimmettrico. Ricerca Operativa 2 p. 29/6

30 Nota bene Come per la classe di problemi KNAPSACK, anche la classe TSP prende il nome da una sua particolare applicazione ma anche in questo caso questa non è l unica applicazione in cui ci si trova a risolvere problemi in tale classe. Ricerca Operativa 2 p. 30/6

31 Enumerazione completa Valuta la funzione f per ogni elemento in S e restituisci l elemento con valore di f minimo (o massimo se il problema è di massimo). Tutte le istanze dei tre problemi descritti in precedenza sono risolvibili in modo esatto con questa procedura, detta di enumerazione completa, poiché le regioni ammissibili sono sempre costituite da un numero finito di elementi. Ricerca Operativa 2 p. 31/6

32 Ma una semplice osservazione metterà in luce i limiti di questo approccio. Problema TSP su un grafo completo con numero di nodi n = 22 numero di circuiti hamiltoniani pari a (n 1)! = 21! > Ipotesi: la valutazione della funzione obiettivo per un singolo circuito hamiltoniano richieda un nanosecondo (10 9 secondi). Quindi la valutazione di tutti i circuiti hamiltoniani richiede più di secondi > 200 anni! Ricerca Operativa 2 p. 32/6

33 Da un punto di vista pratico si parlerà di problema risolvibile con una data procedura solo nel caso in cui la procedura restituisca una soluzione in tempi ragionevoli. Ciò rende la procedura di enumerazione completa accettabile solo per istanze di problemi di dimensioni limitate (quindi per grafi con pochi nodi per i problemi MST e TSP e per istanze con pochi oggetti per il problema KNAPSACK). Ricerca Operativa 2 p. 33/6

34 Domanda Esistono altre procedure che consentono di risolvere in tempi ragionevoli istanze dei tre problemi visti con dimensioni molto più elevate? Risposta: dipende dal problema. È facile trovare procedure più efficienti dell enumerazione completa ma mentre per uno dei problemi (il problema MST ) si possono risolvere in tempi ragionevoli istanze di grandi dimensioni, per il problema KNAPSACK e, ancor più, per il problema T SP può essere difficile risolvere anche istanze di dimensioni non troppo elevate. Tutto ciò ha una formulazione ben precisa nella teoria della complessità, della quale si daranno brevi cenni di seguito. Ricerca Operativa 2 p. 34/6

35 Complessità Dimensione dim(i) = quantità di memoria necessaria per memorizzare (in codifica binaria) l istanza I. Procedura di risoluzione o algoritmo A per il problema. numop A (I)= numero di operazioni elementari eseguite da A per risolvere I. Ricerca Operativa 2 p. 35/6

36 Analisi worst case L analisi worst case definisce il tempo t A (k) necessario all algoritmo A per risolvere istanze di dimensione k come il massimo tra tutti i tempi di esecuzione di istanze di dimensione k, cioè t A (k) = max numop A(I). I: dim(i)=k Ricerca Operativa 2 p. 36/6

37 Continua Tipicamente non si conosce l espressione analitica della funzione t A (k) ma se ne conosce l ordine di grandezza. Si dice che la funzione t A (k) = O(g(k)), ovvero che t A (k) è dell ordine di grandezza della funzione g(k), se esiste una costante u > 0 tale che t A (k) ug(k). Ricerca Operativa 2 p. 37/6

38 Diverse possibili funzioni g g(k) k = 10 k = 20 k = 30 k = 40 k = 50 log 2 (k) k k k k 1024 > 10 6 > 10 9 > > k! > > > > Ricerca Operativa 2 p. 38/6

39 Complessità degli algoritmi Un algoritmo per il quale t A (k) fosse dell ordine di grandezza di 2 k oppure k! si dice che ha complessità esponenziale. È evidente che un tale algoritmo consente di risolvere in tempi ragionevoli solo istanze di dimensioni limitate. Per questa ragione si cercano per i problemi algoritmi di risoluzione con complessità polinomiale, in cui cioè la funzione t A è dell ordine di grandezza di un polinomio k p per un qualche esponente p. Ricerca Operativa 2 p. 39/6

40 Continua Tanto maggiore è l esponente p del polinomio, quanto più rapidamente cresce il numero di operazioni dell algoritmo al crescere di k e quindi quanto più piccole sono le dimensioni dei problemi che l algoritmo è in grado di risolvere in tempi ragionevoli (già per p = 4 la crescita è piuttosto rapida). Tuttavia la crescita polinomiale è sempre preferibile ad una esponenziale. Ricerca Operativa 2 p. 40/6

41 Domanda Data una classe di problemi di ottimizzazione combinatoria, possiamo sempre trovare un algoritmo con complessità polinomiale che ne risolva le istanze? Risposta: forse, ma è molto improbabile. Ricerca Operativa 2 p. 41/6

42 La classe P Definizione Un problema di ottimizzazione appartiene alla classe P se esiste almeno un algoritmo di complessità polinomiale che lo risolve. I problemi di PL appartengono alla classe P ma l algoritmo del simplesso non ha complessità polinomiale! Esistono altri algoritmi che risolvono i problemi di PL e che hanno complessità polinomiale. Non è invece noto, ma è ritenuto improbabile, se i problemi di PLI appartengano alla classe P. Ricerca Operativa 2 p. 42/6

43 Algoritmo greedy per il problema MST Passo 1 Dato il grafo G = (V,A), si ordinino tutti gli m = A archi del grafo in ordine non decrescente rispetto al peso, cioè w(e 1 ) w(e 2 ) w(e m 1 ) w(e m ). Si parta con un insieme A T di archi vuoto, cioè A T =. Sia k = 1 Passo 2 Se A T = V 1 ci si arresta e si restituisce l albero T = (V,A T ) come soluzione. Altrimenti si vada al Passo 3. Passo 3 Se e k non forma cicli con gli archi in A T, lo si aggiunga ad A T, cioè si ponga A T = A T {e k }. Altrimenti si lasci A T invariato. Passo 4 Si ponga k = k + 1 e si ritorni al Passo 2. Ricerca Operativa 2 p. 43/6

44 Esempio e w(e) (a, b) 3 (a, c) 6 (a, d) 2 (b, c) 5 (b, d) 4 (c, d) 8 L algoritmo greedy, dopo l ordinamento degli archi, prende gli archi (a,d) e (a,b), scarta l arco (b,d) (forma un ciclo con i primi due) e infine prende l arco (b,c) arrestandosi a questo punto. Ricerca Operativa 2 p. 44/6

45 Complessità dell algoritmo Il numero di operazioni dell algoritmo è O( A log( A )), con A cardinalità dell insieme degli archi. Quindi: l algoritmo ha complessità polinomiale e ciò ci permette di dire che MST P. Ricerca Operativa 2 p. 45/6

46 Nota bene Nel risolvere un problema vorremmo sempre eseguire il minor numero possibile di operazioni. Quindi, dato un problema e un algoritmo che lo risolve, ci si può sempre chiedere se esista un algoritmo di complessità migliore che risolva il problema. Nel caso del MST tale algoritmo esiste e ha complessità pari a O( V 2 ) che, almeno per grafi densi, è migliore di O( A log( A )). Si può anche dimostrare che, in un senso che non specificheremo, questo algoritmo ha complessità ottima, ovvero non esiste un algoritmo che risolva il problema MST con complessità migliore di questa. Ricerca Operativa 2 p. 46/6

47 La classe NP Definizione Una classe di problemi con insieme di istanze I si dice che appartiene alla classe NP se, per ogni istanza I del problema, essendo nota la soluzione ottima x dell istanza, il calcolo del valore ottimo f I (x ) dell istanza può essere effettuato in un tempo polinomiale rispetto alla dimensione dell istanza. Ricerca Operativa 2 p. 47/6

48 P NP Infatti, per tutti i problemi nella classe P il calcolo del valore ottimo di ogni istanza del problema può essere effettuato in tempo polinomiale persino a prescindere dalla conoscenza della soluzione ottima x. Abbiamo quindi, in particolare, che MST P MST NP. Ricerca Operativa 2 p. 48/6

49 KNAPSACK NP Data una soluzione ottima N di un istanza I del problema di KNAPSACK, si ha f I (N ) = i N v i e quindi il calcolo richiede N n somme e quindi un numero polinomiale di operazioni rispetto alla dimensione dell istanza. Ricerca Operativa 2 p. 49/6

50 TSP NP Data una soluzione ottima C = (V I,A C ), dove A C = V I, di un istanza I, relativa al grafo G I = (V I,A I ), del problema di TSP, si ha f I (C ) = (i,j) A C e quindi il calcolo richiede V I somme, ovvero un numero polinomiale (in tal caso lineare) di operazioni rispetto alla dimensione dell istanza. d ij Ricerca Operativa 2 p. 50/6

51 Ma......stabilito che P NP, ci si può chiedere se tutti i problemi in NP sono risolvibili in tempo polinomiale, cioè P = NP, oppure se esistono problemi in NP che non sono risolvibili in tempo polinomiale, cioè P NP. La risposta è... beh, se l avete siete pronti ad entrare nell olimpo dei grandi della matematica! Tra le due possibili risposte quella che, di gran lunga, si ritiene la più probabile è che P NP. Ricerca Operativa 2 p. 51/6

52 Problemi NP completi Definizione Un problema si dice NP completo se soddisfa le seguenti due proprietà: appartiene alla classe NP ; se esistesse un algoritmo di complessità polinomiale che lo risolve, allora P = NP. Ricerca Operativa 2 p. 52/6

53 Continua In base alla definizione e al fatto che non sia chiaro se P = NP o P NP, possiamo dire che non sono al momento noti algoritmi di complessità polinomiale in grado di risolvere problemi N P completi. Inoltre, se, come si ritiene, P NP, allora non esisterebbero algoritmi di complessità polinomiale per tali problemi. Ne risulta quindi che la classe dei problemi NP completi è una classe di problemi "difficili" nel senso che, a meno che non sia P = NP, non possiamo risolverli in tempo polinomiale. Per i problemi visti abbiamo che KNAPSACK,TSP NP completi. Ricerca Operativa 2 p. 53/6

54 Problemi di approssimazione Sia data una classe di problemi di ottimizzazione con insieme I di istanze e tale che I I x S I : f I (x) 0. Per ogni istanza I I sia x la soluzione ottima dell istanza e sia opt(i) = f I (x ) il valore ottimo dell istanza. Ricerca Operativa 2 p. 54/6

55 Continua Definizione Per i problemi di massimo il problema di ε-approssimazione, ε 0, consiste nel determinare un punto x S I tale che opt(i) f I (x) 1 + ε. Per i problemi di minimo il problema di ε-approssimazione consiste nel determinare un punto x S I tale che f I (x) opt(i) 1 + ε. In entrambi i casi il punto x viene definito soluzione ε-approssimata del problema. Ricerca Operativa 2 p. 55/6

56 Continua Per ε = 0 il problema coincide con quello di ottimizzazione. Ma per ε > 0 si richiede qualcosa di meno rispetto al problema di ottimizzazione: non si cerca la soluzione ottima ma una soluzione che non si discosti troppo da quella ottima. In particolare, si ricava che in una soluzione ε-approssimata il valore f I in corrispondenza di tale soluzione differisce, sia per i problemi di massimo che per quelli di minimo, per al più εopt(i) dal valore ottimo opt(i) dell istanza. Chiaramente, tanto maggiore è il valore di ε, quanto minore è la precisione garantita da una soluzione ε-approssimata. Ricerca Operativa 2 p. 56/6

57 Algoritmi di approssimazione Un algoritmo A si definisce algoritmo di ε-approssimazione per una classe di problemi di ottimizzazione, se risolve il problema di ε-approssimazione associato ad ogni istanza I I del problema di ottimizzazione. Ricerca Operativa 2 p. 57/6

58 Ma allora dato un problema NP completo, qual è la complessità dei corrispondenti problemi di ε-approssimazione per diversi possibili valori di ε? Possiamo riconoscere quattro diversi possibili casi in ordine crescente di difficoltà. Ricerca Operativa 2 p. 58/6

59 I quattro gradi di difficoltà Caso 1 Per ogni ε > 0 esiste un algoritmo di ε-approssimazione che richiede tempi polinomiali sia rispetto alla dimensione delle istanze, sia rispetto all inverso 1 ε della precisione richiesta. In tal caso si dice che il problema ammette uno schema di approssimazione completamente polinomiale. Caso 2 Per ogni ε > 0 esiste un algoritmo di ε-approssimazione che richiede tempo polinomiale rispetto alla dimensione delle istanze ma esponenziale rispetto all inverso 1 ε della precisione richiesta. In tal caso si dice che il problema ammette uno schema di approssimazione polinomiale. Ricerca Operativa 2 p. 59/6

60 Caso 3 Per valori piccoli di ε, anche il problema di ε-approssimazione è N P completo, mentre per valori di ε più elevati è risolvibile in tempo polinomiale. Caso 4 Per ogni valore di ε il problema di ε-approssimazione è N P completo. Ricerca Operativa 2 p. 60/6

61 Tra i problemi visti KNAPSACK rientra nel Caso 1: esiste un algoritmo di approssimazione per tale problema, denominato algoritmo scaling-rounding, di complessità O ( n ε 2). T SP rientra nel Caso 4 (anche nel sottocaso simmetrico): per esso non è possibile risolvere in tempi polinomiali, a meno che non sia P = NP, neppure il problema di ε-approssimazione per ogni valore di ε. Più avanti introdurremo un caso particolare di problema TSP, chiamato problema TSP metrico, che, come vedremo, rientra nel Caso 3. Ricerca Operativa 2 p. 61/6

62 Tecniche euristiche Quando affrontiamo un problema vorremmo avere risposte in "tempi ragionevoli". Questo è tanto più difficile, quanto più difficile è il problema che cerchiamo di risolvere in base alla teoria della complessità. Quindi possiamo aspettarci che per problemi nella classe P si possano risolvere in modo esatto in "tempi ragionevoli" anche istanze molto grandi, mentre per problemi NP completi questo è più complicato, in taluni casi persino se ci si accontenta di una soluzione approssimata. Ricerca Operativa 2 p. 62/6

63 Tuttavia questa non è una regola sempre valida. Il tutto, infatti, è strettamente legato all applicazione a cui siamo interessati e a cosa si intende per "tempi ragionevoli" per essa. In alcune applicazioni si devono risolvere problemi appartenenti alla classe P ma si desiderano risposte in tempo reale (frazioni di secondo), che neppure un algoritmo di complessità polinomiale è in grado di fornire. In altre applicazioni si devono risolvere problemi difficili ma i tempi richiesti per la risposta sono molto larghi (giorni o persino mesi) ed in tal caso si può anche sperare di risolvere tali problemi in modo esatto nei limiti di tempo richiesti. Ricerca Operativa 2 p. 63/6

64 In ogni caso ci si pone la seguente domanda: cosa possiamo fare se i "tempi ragionevoli" entro cui si desidera una risposta sono troppo brevi per poter sperare di ottenere una soluzione esatta o approssimata del problema che stiamo affrontando? Possiamo utilizzare tecniche euristiche. Ricerca Operativa 2 p. 64/6

65 Tecniche euristiche Un euristica si può definire come un compromesso tra tempi di esecuzione e qualità della soluzione trovata e deve quindi soddisfare i seguenti due requisiti in conflitto tra loro: 1. essere eseguibile in tempi ragionevoli (in particolare deve avere complessità polinomiale); 2. deve restituire su molte istanze del problema una soluzione ottima o vicina a quella ottima. Ricerca Operativa 2 p. 65/6

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6 Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Ricerca Operativa 2 p. 2/6 Introduzione In questo corso ci occuperemo di problemi

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

Teoria della Complessità Concetti fondamentali

Teoria della Complessità Concetti fondamentali Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non

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

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

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

3.2 Rilassamenti lineari/combinatori e bounds

3.2 Rilassamenti lineari/combinatori e bounds 3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una

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

Teoria della Complessità Computazionale

Teoria della Complessità Computazionale Teoria della Complessità Computazionale Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Rev. 1.3, 11/00 rev. 1.3 - Novembre 2000 Teoria della Complessità Studia la difficoltà dei problemi

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

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE COMPLESSITÀ DEGLI ALGORITMI L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile In base a quali parametri

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

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Proprietà di un euristica

Proprietà di un euristica p. 1/3 Euristiche Cosa fare se non ci possiamo aspettare di determinare in tempi ragionevoli una soluzione ottima o approssimata di un problema? Dobbiamo rinunciare a trattare il problema? No, possiamo

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

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

Branch-and-bound per TSP

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

Dettagli

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo

Dettagli

Problemi intrattabili

Problemi intrattabili Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi

Dettagli

PROGRAMMAZIONE LINEARE A NUMERI INTERI

PROGRAMMAZIONE LINEARE A NUMERI INTERI PROGRAMMAZIONE LINEARE A NUMERI INTERI N.B. Nei seguenti esercizi vengono utilizzate, salvo diversa indicazione, le seguenti notazioni: PLO programma lineare ordinario S a insieme delle soluzioni ammissibili

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

Certificati dei problemi in NP

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

Dettagli

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Massimo flusso e matching

Massimo flusso e matching Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia

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 (a.a. 2016/17) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola: Secondo appello //0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x + x x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

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 consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via algebrica, a

Dettagli

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2

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

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni

Dettagli

Quinto appello 27/6/ = 4. B b B = 2 b N = 4

Quinto appello 27/6/ = 4. B b B = 2 b N = 4 Quinto 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

Dettagli

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche 9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di

Dettagli

Problema del trasporto

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

Dettagli

Matroidi, algoritmi greedy e teorema di Rado

Matroidi, algoritmi greedy e teorema di Rado Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione

Dettagli

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2

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

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO Prima prova Intermedia di Ricerca Operativa 2 COMPITO A 13 novembre 2015 Nome e Cognome Matricola: Esercizio 1 (7 punti): Si consideri il seguente problema di programmazione lineare intera. max 32x 1 +

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

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.

Dettagli

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

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

Dettagli

Introduzione ai Problemi di Flusso su Reti

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

Dettagli

Matrici unimodulari e totalmente unimodulari

Matrici unimodulari e totalmente unimodulari Matrici unimodulari e totalmente unimodulari Sia una matrice intera di dimensione con, si dice unimodulare se presa una qualsiasi sottomatrice di ordine massimo (di dimensione ) vale det = 1, +1, 0. Una

Dettagli

Complessità Computazionale

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

Dettagli

Problema di flusso massimo

Problema di flusso massimo p. 1/5 Problema di flusso massimo Si consideri una rete, ovvero un grafo orientato G = (V,A). Attraverso tale rete si fa viaggiare quello che chiameremo genericamente un flusso di "prodotto". A seconda

Dettagli

Teoria della Complessità Computazionale

Teoria della Complessità Computazionale Teoria della Complessità Computazionale Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 21 Ottobre 2014 Ricerca Operativa 2

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

Laboratorio di Algoritmi

Laboratorio di Algoritmi Laboratorio di Algoritmi Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 10.30-13.30 in Aula 2 Martedì 8.30-10.30 in aula 3 Giovedì 8.30-10.30 in aula

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso

Dettagli

Teoria dei Grafi Concetti fondamentali

Teoria dei Grafi Concetti fondamentali Teoria dei Grafi Concetti fondamentali I grafi sono un mezzo per rappresentare relazioni binarie. Ad esempio: due città connesse da una strada due calcolatori connessi in una rete telematica due persone

Dettagli

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2010

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2010 A Ricerca Operativa Seconda prova intermedia La produzione del pane su scala industriale segue un processo in cinque fasi: () preparazione ingredienti, () impasto in gradienti, (3) prima cottura, (4) trattamento

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 intrattabili, classi P e NP. Problemi intrattabili, classi P e NP

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.

Dettagli

Teoria della Complessità Computazionale Parte I: Introduzione

Teoria della Complessità Computazionale Parte I: Introduzione Teoria della Complessità Computazionale Parte I: Introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - ottobre 2003 Teoria della Complessità Studia la difficoltà dei

Dettagli

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione

Dettagli

Parte IV: Matrici totalmente unimodulari

Parte IV: Matrici totalmente unimodulari Parte IV: Matrici totalmente unimodulari Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)}

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 Esercizio 1 1)Dato il seguente problema di PL: max 2x 1 x 2 x 1 + x 2 2 x 1 + 2x 2 7 x 1 + x 2 1 x 1, x 2 0 trasformarlo in forma standard (2 punti) 2)

Dettagli

Parte II: Ottimalità, rilassamenti e bound

Parte II: Ottimalità, rilassamenti e bound Parte II: Ottimalità, rilassamenti e bound Ottimalità, rilassamenti e bound Consideriamo il seguente problema z * = max {c T x : x X, X {0,1} n } dove z* è il valore della soluzione ottima x*. Domanda:

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

Programmazione dinamica

Programmazione dinamica p. 1/1 Programmazione dinamica La programmazione dinamica è un altro approccio che consente di risolvere problemi in modo esatto. Considereremo solo problemi di massimo ma piccole modifiche consentono

Dettagli

A-2 a PI. Esercizio 2. Domanda 3

A-2 a PI. Esercizio 2. Domanda 3 A-2 a PI Ricerca Operativa 1 Seconda prova intermedia È dato il problema di PL in figura. 1. Facendo uso delle condizioni di ortogonalità, dimostrare o confutare l ottimalità della soluzione x = 1; x =

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

PROBLEMA DEL COMMESSO VIAGGIATORE PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero

Dettagli

Esercizi svolti a lezione

Esercizi svolti a lezione Esercizi svolti a lezione Problema 1 In un corso di laurea sono previsti un certo numero di esami obbligatori. Esistono inoltre dei vincoli di propedeuticità: se un esame A è propedeutico ad un esame B

Dettagli

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

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 1 Algoritmi e Strutture Dati II: Parte B Anno Accademico 004-005 Docente: Ugo Vaccaro Lezione 1 Dalla Teoria della NP-Completezza abbiamo appreso che esiste una classe di problemi (NPhard) per cui non è

Dettagli

NP completezza. Problemi astratti

NP completezza. Problemi astratti NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti

Dettagli

NP completezza. Vittorio Maniezzo - Università di Bologna

NP completezza. Vittorio Maniezzo - Università di Bologna NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Estratto per la parte di programmazione lineare e ottimizzazione sui grafi Corso di Metodi di Ottimizzazione per l'ingegneria della Sicurezza Laurea Magistrale in Ingegneria

Dettagli

3.4 Metodo di Branch and Bound

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

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

Dettagli

PROBLEMI SU GRAFO (combinatori)

PROBLEMI SU GRAFO (combinatori) PROLMI SU GRO (combinatori) In molti problemi il numero di soluzioni ammissibili è finito. Questi problemi sono quasi sempre descritti su grafi. Rete stradale: come andare da a in tempo minimo? Grafo orientato

Dettagli

Branch-and-bound per KNAPSACK

Branch-and-bound per KNAPSACK p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano

Dettagli

Teoria dei Grafi Elementi di base della Teoria dei Grafi

Teoria dei Grafi Elementi di base della Teoria dei Grafi L. Pallottino, Sistemi Robotici Distribuiti - Versione del 4 Marzo 2015 42 Teoria dei Grafi Elementi di base della Teoria dei Grafi Definizione 1. Un grafo G = (V, E) è composto da un insieme finito di

Dettagli

Ottimizzazione Combinatoria 2 Presentazione

Ottimizzazione Combinatoria 2 Presentazione Ottimizzazione Combinatoria Presentazione ANTONIO SASSANO Università di Roma La Sapienza Dipartimento di Informatica, Automatica e Gestionale «Antonio Ruberti» Roma, Febbraio Prerequisiti (cosa sapete)

Dettagli

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

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

Dettagli

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola: Primo appello //7 RICERCA OPERATIVA (a.a. 6/7) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {,

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

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola: 5 o Appello 8/0/0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si individui un albero dei cammini minimi di radice sul grafo in figura, utilizzando l algoritmo più appropriato dal punto di vista

Dettagli

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

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

Dettagli

ESERCIZIO 1: Punto 1

ESERCIZIO 1: Punto 1 ESERCIZIO : Punto La seguente matrice è una matrice delle distanze di un istanza del problema del Commesso Viaggiatore. - - - - - - - Calcolare.Il valore del rilassamento che si ottiene determinando l

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

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

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

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

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

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 http://www.dattero.dist.unige.it Anno accademico

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

Programmazione Dinamica (PD)

Programmazione Dinamica (PD) Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Esercizi Union-Find e su Grafi. Ugo Vaccaro

Esercizi Union-Find e su Grafi. Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste

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

Progettazione di Algoritmi

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

Dettagli

LA PROGRAMMAZIONE MATEMATICA (p.m.)

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

Dettagli

Problemi di flusso a costo minimo

Problemi di flusso a costo minimo p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.

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

Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari

Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari L. De Giovanni G. Zambelli 1 Problema dell assegnamento Sia dato un grafo non orientato bipartito

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

Esercizio 2. Domanda 3

Esercizio 2. Domanda 3 A-2 a PI Ricerca Operativa 1 Seconda prova intermedia È dato il problema di PL in figura. 1. Facendo uso delle condizioni di ortogonalità, dimostrare o confutare l ottimalità della soluzione 2; 0; 2. Facendo

Dettagli

Università Ca Foscari Venezia

Università Ca Foscari Venezia Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi NOTE sul Metodo del BRANCH & BOUND Università Ca Foscari Venezia, Dipartimento di Management,

Dettagli

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli