3.6 Rilassamento Lagrangiano

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "3.6 Rilassamento Lagrangiano"

Transcript

1 3.6 Rilassamento Lagrangiano Consideriamo un generico problema di Programmazione Lineare Intera min {c t x : Ax b, Dx d, x Z n } con tutti i coefficienti interi, dei vincoli Ax b facili e altri Dx d difficili. Il rilassamento continuo e quello per eliminazione dei Dx d forniscono dei bound spesso deboli. Esempi: TSP eliminando i vincoli di taglio (o relativi ai sottocicli), UFL eliminando i vincoli di domanda Ambito più ampio: min {c t x : Dx d, x X R n } dove i vincoli Dx d sono quelli che rendono il problema difficile. Idea: eliminare i vincoli difficili aggiungendo, per ognuno di essi, alla funzione obiettivo un termine con un moltiplicatore 0 che ne penalizza la violazione e che è 0 in tutti i punti che lo rispettano. 1

2 Sottoproblema Lagrangiano Definizione: Dato un problema min {c t x : Dx d, x X R n } (1) Per ogni vettore di moltiplicatori di Lagrange u 0, il sottoproblema Lagrangiano è dove w(u) = min {L(x, u) : x X R n } (2) L(x, u) = c t x + u t (d Dx) è la funzione Lagrangiana del problema primale (1) e w(u) = min {L(x, u) : x X R n } è la funzione duale. Proposizione: Per ogni u 0, il sottoproblema Lagrangiano (2) è un rilassamento del problema (1). Dim. Chiaramente {x X : Dx d} X. Inoltre, per ogni u 0 e ogni x ammissibile per il problema (1), w(u) c t x + u t (d Dx) c t x dato che u t (d Dx) 0 e w(u) è il valore minimo di c t x + u t (d Dx) per x X. Conseguenza: Se z = min {c t x : Dx d, x X} è finito, allora w(u) z per ogni u 0. 2

3 Per determinare la migliore stima per difetto w su z, si risolve il problema Lagrangiano duale Definizione: Il duale Lagrangiano del problema primale (1) è max u 0 w(u) (3) Solo vincoli di non negatività! N.B.: Effettuando il rilassamento Lagrangiano di vincoli lineari la funzione obiettivo resta lineare. Gli altri vincoli possono essere qualunque, purché il problema rilassato sia abbastanza facile. Corollario: (Dualità debole) Per ogni coppia x {x X : Dx d} ammissibile per il primale (1) e u 0 ammissibile per il duale (3), vale w(u) c t x. (4) Conseguenze: i) Se x è ammissibile per il primale (1), ũ è ammissibile per il duale (3) e w(ũ) = c t x, allora x è ottima per il primale e ũ è ottima per il duale. ii) Due casi: w = max u 0 w(u) z = min {c t x : Dx d, x X}, oppure uno dei due problemi è illimitato e l altro è inammissibile. 3

4 Contrariamente al caso dei Programmi Lineari, per i problemi di ottimizzazione discreta può esistere un salto di dualità, ovvero w < z. Per i problemi di PL il duale Lagrangiano coincide con il duale usuale (cf. esercizio 4.2). Caso con anche vincoli di uguaglianza: Stessi risultati, unica differenza: per vincoli di uguaglianza moltiplicatori di Lagrange u i R. Se tutti gli m vincoli rilassati sono di uguaglianza, il problema Lagrangiano duale è: max w(u) u R m 4

5 Esempio 1: Problema di zaino binario Sia max z = 10x 1 + 4x x 3 s.v. 3x 1 + x 2 + 4x 3 4 x 1, x 2, x 3 {0, 1} Rilassando l unico vincolo lineare si ottiene la funzione Lagrangiana: L(x, u) = 10x 1 + 4x x 3 + u(4 3x 1 x 2 4x 3 ) Funzione duale: w(u) = max x {0,1} 3 10x 1 + 4x x 3 + u(4 3x 1 x 2 4x 3 ) per u 0 Raccogliendo, otteniamo il sottoproblema Lagrangiano: w(u) = max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u risolvibile in tempo lineare ponendo a 1 (0) le variabili con coefficiente non negativo (non positivo) e scegliendo un valore arbitrario per quelle con coefficiente nullo. Problema Lagrangiano duale: min u 0 w(u) = min u 0 ( max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u ) 5

6 Funzione duale: w(u) = max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u Valori di u per i quali i coefficienti di x 1, x 2, x 3 sono non positivi: u 10 3 per x 1, u 14 4 per x 3 e u 4 per x 2. Soluzione ottima del sottoproblema Lagrangiano in funzione di u: x = (1, 1, 1) per u [0, 10 3 ], x = (0, 1, 1) per u [ 10 3, 14 4 ], x = (0, 1, 0) per u [ 14 4, 4], x = (0, 0, 0) per u [4, ). Quindi w(u) = 28 4u per u [0, 10 3 ] 18 u per u [ 10 3, 14 4 ] 4 + 3u per u [ 14 4, 4] 4u per u [4, ) 6

7 Grafico della funzione duale: w(u) u Duale Lagrangiano: min u 0 w(u) = min u 0 ( max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u ) soluzione ottima u = 14 4 con w = w(u ) =

8 Esempio 2: Localizzazione ottima senza vincoli di capacità (UFL) Consideriamo la variante con profitti p ij e costi f j dei depositi, in cui si massimizza i profitti. Formulazione di PLMI: z = max i M s.v. j N p ijx ij j N f jy j j N x ij = 1 i M (5) x ij y j i M, j N y j {0, 1} j N 0 x ij 1 i M, j N Rilassando i vincoli di domanda (5) si ottiene il sottoproblema Lagrangiano: w(u) = max i M j N (p ij u i )x ij j N f jy j + i M u i s.v. x ij y j i M, j N (6) y j {0, 1} j N (7) 0 x ij 1 i M, j N (8) che si scompone in N sottoproblemi indipendenti, uno per ogni sito candidato j. 8

9 Infatti w(u) = j N w j(u) + i M u i dove w j (u) = max i M (p ij u i )x ij f j y j (9) s.v. x ij y j i M y j {0, 1} 0 x ij 1 i M Per ogni j N, il sottoproblema (9) può essere risolto per ispezione: Se y j = 0, allora x ij = 0 per ogni i e il valore della funzione obiettivo è 0. Se y j = 1, conviene servire tutti i clienti con profitto positivo, ossia x ij = 1 per tutti gli i t.c. p ij u i > 0, per un valore della funzione obiettivo di i M max{p ij u i, 0} f j. Quindi w j (u) = max{0, i M max{p ij u i, 0} f j }. Esempio: vedere capitolo 10 di L. Wolsey, Integer Programming, p

10 In certi casi la risoluzione del duale Lagrangiano (3) fornisce una soluzione ottima del problema primale (1). Proposizione: Se u 0 e i) x(u) è una soluzione ottima del sottoproblema Lagrangiano (2) ii) Dx(u) d iii) (Dx(u)) i = d i per ogni moltiplicatore di Lagrange u i > 0 (condizione degli scarti complementari), allora x(u) è una soluzione ottima del problema di partenza (1). Dim. In base a (i) w w(u) = c t x(u) + u t (d Dx(u)) e in base a (iii) c t x(u) + u t (d Dx(u)) = c t x(u). Secondo (ii) x(u) è una soluzione ammisssibile di (1) e quindi c t x(u) z. Di conseguenza w c t x(u) + u t (d Dx(u)) = c t x(u) z e, poiché w z, tutto vale con il segno di uguaglianza e x(u) è una soluzione ottima di (1). Osservazione: Se si procede al rilassamento Lagrangiano di vincoli di uguaglianza, le condizioni (iii) sono automaticamente soddisfatte, e una soluzione ottima del sottoproblema Lagrangiano è ottima per il problema (1) se è ammissibile. 10

11 Proprietà importante del duale Lagrangiano: Proprietà: La funzione duale w(u) è concava. Dim. Siano u 1 0 e u 2 0. Per qualsiasi α tale che 0 α 1, sia x una soluzione ottima del sottoproblema Lagrangiano (2) per ũ = αu 1 + (1 α)u 2, ovvero w(ũ) = c t x + ũ t (d D x). Per definizione di w(u), abbiamo w(u 1 ) c t x + u t 1(d D x) e w(u 2 ) c t x + u t 2(d D x). Moltiplicando la prima disuguaglianza per α e la seconda per 1 α, si ottiene αw(u 1 ) + (1 α)w(u 2 ) c t x + (αu 1 + (1 α)u 2 ) t (d D x) = w(αu 1 + (1 α)u 2 ). 11

12 3.6.1 Caratterizzazione del duale Lagrangiano in termini di PL Quanto è stringente il limite inferiore su z che si ottiene risolvendo il duale Lagrangiano? Teorema: Consideriamo un generico problema di Programmazione Lineare Intera min {c t x : Ax b, Dx d, x Z n } con tutti i coefficienti interi. Siano w(u) = min {c t x + u t (d Dx) : Ax b, x Z n } la funzione duale, w = max u 0 w(u) il valore ottimo del duale Lagrangiano (3) e X = {x Z n : Ax b}, allora w = min {c t x : Dx d, x conv(x)}. (10) Il problema viene convessificato, duale Lagrangiano caratterizzato in termini di un Programma Lineare Corollario 1: Visto che conv(x) {x R n : Ax b}, z P L = min {c t x : Ax b, Dx d, x R n } w z. Secondo la funzione obiettivo, queste disuguaglianze possono essere strette, e.g., z P L < w < z. 12

13 Illustrazione: tratta da D. Bertsimas, R. Weismantel, Optimization over integers, Dynamic Ideas, 2005, p Si consideri il PLI min 3x 1 x 2 s.v. x 1 x 2 1 x 1 + 2x 2 5 3x 1 + 2x 2 3 6x 1 + x 2 15 x 1, x 2 0 intere - Rappresentare la regione ammissibile e la soluzione ottima del PLI e del suo rilassamento continuo. x P LI = (1, 2) con z P LI = 1 e x P L = (1/5, 6/5) con z P L = 3/5. - Effettuare il rilassamento Lagrangiano del primo vincolo. Per ogni u 0, il sottoproblema Lagrangiano è w(u) = min (3x 1 x 2 + u( 1 x 1 + x 2 )) (x 1,x 2 ) X con X l insieme delle soluzioni intere che soddisfano tutti gli altri vincoli. Disegnare conv(x) e il poliedro conv(x) {(x 1, x 2 ) R 2 : x 1 x 2 1}. 13

14 In base al teorema, determinare il valore ottimo del duale Lagrangiano w = max u 0 w(u) e la corrispondente soluzione ottima x D. Si ottiene x D = (1/3, 4/3) con w = 1/3. Quindi abbiamo: z P L = 3/5 < w = 1/3 < z P LI = 1, 2 Tracciando la funzione duale w(u) si può verificare graficamente che la soluzione ottima è u = 5/3 con w = 1/3. 14

15 Dim. Consideriamo il caso X = {x 1,..., x k } con un numero finito, anche se elevatissimo, di soluzioni ammissibili. Il problema duale Lagrangiano equivale a massimizzare una funzione concava lineare a tratti non ovunque differenziabile: w = max u 0 w(u) = max u 0 {min x X [ct x + u t (d Dx)]} = max u 0 { min 1 l k [ct x l + u t (d Dx l )]} e si può esprimere come il seguente Programma Lineare: w = max y s.v. c t x l + u t (d Dx l ) y l u 0, y R che contiene un numero elevatissimo di vincoli. Prendendo il duale di questo PL e applicando la dualità forte si ottiene: k w = min µ l (c t x l ) s.v. l=1 k µ l (Dx l d) 0 l=1 k µ l = 1 l=1 µ l 0 l. 15

16 Ponendo x = k l=1 µ lx l con k l=1 µ l = 1 e µ l 0 per ogni l, si ottiene: w = min c t x s.v. Dx d x conv(x). Il risultato si può estendere al caso in cui X è la regione ammissibile di qualsiasi PLI. Esempio di funzione duale w(u) concava lineare a tratti 16

17 In certi casi il limite inferiore su z ottenuto tramite rilassamento Lagrangiano non è più stringente del rilassamento continuo (lineare). Corollario 2: Se X = {x Z n : Ax b} e conv(x) = {x R n : Ax b} allora w = z P L = min {c t x : Ax b, Dx d, x R n }. Esempio: Sia un generico problema di zaino binario e il suo rilassamento continuo (lineare) max z = n i=1 p ix i s.v. n i=1 a ix i b x i {0, 1} n max x [0,1] n{ p i x i : i=1 i n a i x i b}. Il rilassamento Lagrangiano è tanto forte quanto il rilassamento continuo poiché X = {x {0, 1} n } e banalmente conv(x) = {x [0, 1] n }, i cui vincoli sono già contenuti nel rilassamento continuo. Quindi secondo il corollario w = z P L. i=1 17

18 3.6.2 Risoluzione del duale Lagrangiano Generalizzazione del metodo del gradiente per le funzioni di classe C 1 a funzioni C 1 a tratti Definizione: Sia C R n convesso e f : C R convessa su C un vettore γ R n è un sottogradiente di f in x C se f(x) f(x) + γ t (x x) x C il sottodifferenziale, indicato f(x), è l insieme di tutti i sottogradienti di f in x. Proprietà: 1) Una funzione f : C R convessa possiede almeno un sottogradiente in ogni punto interno x di C. N.B.: Esistenza di (almeno) un sottogradiente in ogni punto di int(c), con C convesso, è una condizione necessaria e sufficiente affinché f sia convessa su int(c). 2) Se f è convessa e x C, f(x) è un insieme non vuoto, convesso, chiuso e limitato 3) x è un minimo (globale) di f se e solo se 0 f(x ) 18

19 Consideriamo il problema min x R n f(x) con f(x) convessa Metodo del sottogradiente: Si parte da qualsiasi x 0, all iterazione k si sceglie un qualunque γ k f(x k ) e si pone con α k > 0 x k+1 := x k α k γ k Osservazione: Non si effettua un ottimizzazione 1-D perché nel caso delle funzioni non ovunque differenziabili γ con γ f(x) non è necessariamente di discesa! Esempio pagina successiva Ma si può dimostrare che, se il passo è sufficientemente piccolo, ci si avvicina ad una soluzione ottima: Lemma: Sia x k una soluzione non ottima e x una qualsiasi soluzione ottima, allora implica x k+1 x < x k x 2. 0 < α k < 2 f(x k) f(x ) γ k 2 19

20 Esempio: min 1 x1,x 2 1 f(x 1, x 2 ) con f(x 1, x 2 ) = max{ x 1, x 1 + x 2, x 1 2x 2 } non ovunque continuamente differenziabile Curve di livello in marrone, punti di non differenziabilità in verde (del tipo: (t, 0), ( t, 2t) e ( t, t) per t 0), minimo globale x = (0, 0) Se x k = (1, 0) e si considera il sottogradiente γ k = (1, 1) f(x k ), f(x) aumenta (peggiora) lungo la semiretta {x R 2 : x = x k α k γ k, α k 0} ma se il passo α k è sufficientemente piccolo x k+1 = x k α k γ k si avvicina a x. Esempio tratto da capitolo 8 di Bazaraa et al., Nonlinear Programming, Wiley, 2006, p

21 Teorema: Se f convessa, lim x f(x) = +, lim k α k = 0 e k=0 α k =, allora il metodo del sottogradiente termina dopo un numero finito di iterazioni con una soluzione ottima x o genera una successione infinita di punti {x k } che possiede una sottosuccessione che converge verso x. Scelta del passo: In pratica, successioni {α k } tali che lim k α k = 0, k=0 α k = (come, ad esempio, α k = 1/k) sono molto lente. A volte si sceglie α k = α 0 ρ k, per un dato ρ < 1. Una scelta più sofisticata e diffusa è: α k = ε k f(x k ) ˆf γ k 2 dove 0 < ε k < 2 e ˆf è il valore ottimo (minimo) f(x ) o una sua stima. Criterio di arresto: numero massimo di iterazioni perché anche se 0 f(x k ) non è detto che in x k si adoperi quel sottogradiente. N.B.: Il metodo non essendo monotono, si deve memorizzare il migliore u k trovato. Per estendere il metodo al caso con vincoli semplici (limiti superiori e/o inferiori sulle variabili) basta effettuare ad ogni iterazione una proiezione. 21

22 Metodo del sottogradiente per la risoluzione del duale Lagrangiano Duale Lagrangiano: max u 0 w(u) con w(u) = min {c t x + u t (d Dx) : x X R n } concava e lineare a tratti. Caratterizzazione dei sottogradienti di w(u): Proposizione: Siano ũ 0 e X(ũ) = {x X : w(ũ) = c t x + ũ t (d Dx)} l insieme delle soluzione ottime del sottoproblema Lagrangiano (2). Allora per ogni x(ũ) X(ũ), il vettore (d Dx(ũ)) w(ũ); ogni sottogradiente di w(u) in ũ può essere espresso come combinazione convessa dei sottogradienti (d Dx(ũ)) con x(ũ) X(ũ). Il primo punto è una semplice conseguenza delle definizioni di funzione duale e di sottogradiente. 22

23 Dim. Per definizione di w(u) In particolare, per qualsiasi x(ũ) X(ũ) si ha w(u) c t x + u t (d Dx) x X, u 0. w(u) c t x(ũ) + u t (d Dx(ũ)) u 0 (11) e chiaramente Sottraendo (12) da (11) si ottiene w(ũ) = c t x(ũ) + ũ t (d Dx(ũ)). (12) w(u) w(ũ) (u t ũ t )(d Dx(ũ)) u 0 che equivale a w(u) w(ũ) + (u t ũ t )(d Dx(ũ)) u 0. Quindi (d Dx(ũ)) w(ũ). 23

24 Procedura: 1) Scegliere u 0 iniziale, porre k := 0. 2) Risolvere il sottoproblema Lagrangiano min {c t x + u t k(d Dx) : x X}. (d Dx(u k )) è un sottogradiente di w(u) in u k, dove x(u k ) è la soluzione ottima trovata. 3) Aggiornare i moltiplicatori di Lagrange: u k+1 = max{0, u k + α k (d Dx(u k ))} con, ad esempio, α k = ε k ŵ w(u k ) d Dx(u k ) 2, dove ŵ è una stima del valore ottimo w. 4) Porre k := k

25 Esempio: Rilassamento Lagrangiano per il problema di zaino binario Sia Problema Lagrangiano duale: min u 0 con funzione duale max z = 10x 1 + 4x x 3 s.v. 3x 1 + x 2 + 4x 3 4 x 1, x 2, x 3 {0, 1} w(u) = min u 0 ( max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u ) w(u) = 28 4u per u [0, 10 3 ] 18 u per u [ 10 3, 14 4 ] 4 + 3u per u [ 14 4, 4] 4u per u [4, ) 25

26 w(u) u Soluzione ottima u = 14 4 con w = w(u ) =

27 Problema Lagrangiano duale: min u 0 w(u) = min u 0 ( max x {0,1} 3 (10 3u)x 1 + (4 u)x 2 + (14 4u)x 3 + 4u ) Sottogradiente γ k = (4 3x k 1 x k 2 4x k 3), dove x k = x(u k ) è la soluzione ottima del sottoproblema Lagrangiano alla k-esima iterazione. Aggiornamento moltiplicatore: u k+1 = max{0, u k α k γ k } con α k = 1 2 k Metodo del sottogradiente: k u k α k w(u k ) x k γ k max (10, 4, 14) t x + 4u = 28 (1, 1, 1) max ( 2, 0, 2) t x + 4u = (0, 0, 0) max (4, 2, 6) t x + 4u = (1, 1, 1) max (1, 1, 2) t x + 4u = (1, 1, 1) max ( 0.5, 0.5, 0) t x + 4u = (0, 1, 0) 3 Simbolo : sono presenti più soluzioni ottime x k e scegliamo quella lessicograficamente più piccola (poniamo a 0 ogni variabile x k i con coefficiente nullo) sia raggiunto all iterazione k = 4, il sottogradi- N.B.: benché il valore ottimo del moltiplicatore u = 14 4 ente non è nullo. 27

28 3.6.3 Rilassamento Lagrangiano per il TSP simmetrico (Held & Karp 1970) Problema: Dato un grafo non orientato G = (V, E) con un costo c e Z + per ogni lato e E, determinare un ciclo Hamiltoniano di costo totale minimo. Formulazione di PLI: min s.v. e E c ex e e δ(i) x e = 2 i V (13) e E(S) x e S 1 S V, 2 S n 1 (14) x e {0, 1} e E dove E(S) = {{i, j} E : i S, j S} Osservazioni: i) Causa presenza dei vincoli (13), metà di quelli di eliminazione dei sottocicli (14) sono ridondanti: sia S = V \ S allora e E(S) x e S 1 se e solo se e E(S) x e S 1. Si possono quindi eliminare tutti i vincoli (14) con 1 S. ii) Sommando tutti i vincoli di grado (13) e dividendo per 2 si ottiene e E x e aggiungere alla formulazione. = n, che si può 28

29 Ricordiamo che un ciclo Hamiltoniano è un 1-albero (i.e., un albero di supporto sui nodi {2,..., n} più due lati incidenti al nodo 1) in cui tutti i nodi hanno esattamente due lati incidenti. Poiché e E c ex e + i V u i(2 e δ(i) x e) = e={i,j} E (c e u i u j )x e + 2 i V u i, rilassando i vincoli di grado (13) per tutti i nodi eccetto il nodo 1, si ottiene il sottoproblema Lagrangiano: w(u) = min e E (c e u i u j )x e + 2 i V u i s.v. e δ(1) x e = 2 e E(S) x e S 1 e E x e = n x e {0, 1} S V, 2 S n 1, 1 S e E dove u 1 = 0 e E(S) = {{i, j} E : i S, j S}. N.B.: Le soluzioni ammissibili di questo problema sono esattamente gli 1-alberi. Per trovare un 1-albero di costo minimo: determinare con metodo greedy (Kruskal o Prim) un albero di supporto di costo minimo sui nodi {2,..., n} e selezionare due lati incidenti al nodo 1 di costo minimo. 29

30 Osservazione: Poiché i vincoli e δ(1) x e = 2 e E(S) x e S 1 S V, 2 S n 1, 1 S e E x e = n con x 0 descrivono il guscio convesso dei vettori (binari) di incidenza dei 1-alberi, il Corollario 2 implica che w = z P L. Il rilassamento continuo min s.v. e E c ex e e δ(i) x e = 2 i V e E(S) x e S 1 S V, 2 S n 1 x e 0 e E con un numero esponenziale di vincoli può quindi essere risolto senza considerarli esplicitamente. Poiché i vincoli rilassati sono di uguaglianza, il duale Lagrangiano è: max u R V : u 1 =0 w(u) 30

31 Esempio: tratto da L. Wolsey, Integer Programming, p Sia grafo non orientato G = (V, E) con 5 nodi e la matrice dei costi: Funzione duale: w(u k ) = min e u e={i,j} E(c k i u k j)x k e + 2 i V u k i : x k vettore di incidenza di uno 1-albero Notazione: c k ij = c e u k i uk j per e = {i, j} E Sottogradiente γ k con γi k = (2 e δ(i) xk e), dove x k = x(u k ) è la soluzione ottima del sottoproblema Lagrangiano alla k-esima iterazione. Non avendo rilassato il vincolo e δ(i) x e = 2 per i = 1, avremo sempre γ k 1 = 0. Partendo da u k 1 = 0 per k = 0, questo implica u k 1 = 0 per ogni k. 31

32 Una soluzione ammissibile di costo 148 trovata mediante una euristica: Risolviamo il duale Lagrangiano partendo da u 0 = 0 con ε = 1: Risolvendo il sottoproblema Lagrangiano con costi: C 0 = C = (c 0 e = c e per ogni e E dato che u 0 = 0), si trova x(u 0 ) corrispondente all 1-albero di costo 130:

33 Noto x(u 0 ), si può calcolare il valore della funzione duale: w(u 0 ) = , pari al costo dell 1-albero + 2 i V u0 i. Sottogradiente Aggiornamento vettore dei moltiplicatori: Quindi γ 0 = u 1 = u 0 + (ŵ w(u0 )) γ 0 ( ) = 0 + γ C 1 = x(u 1 ) corrisponde all 1-albero di costo 143: =

34 1 5 2 e w(u 1 ) = i V u1 i = 143. Poiché abbiamo Quindi u 2 = u 1 + (ŵ w(u1 )) γ 1 2 γ 1 = C 2 = 4 3 γ 1 = ( ) =

35 x(u 2 ) corrisponde all 1-albero di costo 147.5: e w(u 2 ) = Essendo tutti i costi c e interi, la soluzione ammissibile di costo 148 trovata con l euristica è ottima. JAVA Applet: mertens/tsp/index.html 35

36 3.6.4 Euristiche Lagrangiane Quando u k si avvicina a u, le soluzioni ottime x(u k ) dei sottoproblemi Lagrangiani tendono ad essere ammissibili per il primale. Esempio: nel TSP simmetrico, molti nodi del 1-albero hanno grado 2. Spesso semplici euristiche permettono di trasformare x(u k ) in una soluzione ammissibile senza peggiorare troppo il valore della funzione obiettivo. Esempio: Problema di Copertura di un Insieme ( Set covering ) min { n c j x j : j=1 n a ij x j 1, i = 1,..., m; x {0, 1} n } j=1 con a ij {0, 1} per 1 i m, 1 j n. Sottoproblema Lagrangiano ottenuto rilassando tutti i vincoli di copertura: n m m min{ (c j u i a ij )x j : x {0, 1} n } + con u 0. j=1 i=1 36 i=1 u i

37 Se c j = c j m i=1 u ia ij, per j = 1,..., n, si ottiene min{ n j=1 c jx j : x {0, 1} n } + m i=1 u i che si risolve ponendo x j = 1 se c j < 0, e x j = 0 altrimenti. Basta considerare x(u k ), eliminare dal problema le righe coperte da x(u k ) e coprire le altre in modo greedy. Sia la y soluzione greedy parziale, x(u k )+y è chiaramente una soluzione ammissibile. Verificare se qualche x j (u k ) = 1 può essere posta a 0. Fissare il valore di alcune variabili: Sia una soluzione ammissibile di valore ẑ, ogni migliore soluzione soddisfa m n m u i + min x {0,1} n{ (c j u i a ij )x j } c t x < ẑ i=1 j=1 Proprietà: Siano N + = {j N : c j m i=1 u ia ij > 0} e N = {j N : c j m i=1 u ia ij < 0}. - Se k N + e m i=1 u i + j N (c j m i=1 u ia ij ) + (c k m i=1 u ia ik ) ẑ, allora x k = 0 in qualsiasi soluzione migliore. - Se k N e m i=1 u i + j N \{k} (c j m i=1 u ia ij ) ẑ, allora x k = 1 in qualsiasi soluzione migliore. i=1 Esempio: Set covering (cf. capitolo 10 di L. Wolsey, Integer Programming, p.178) 37

38 3.6.5 Scelta del duale Lagrangiano Se il problema contiene più gruppi di vincoli, bisogna scegliere quali vincoli rilassare e quali mantenere esplicitamente. Criteri di scelta: i) quanto è stringente il bound w ottenuto risolvendo il duale Lagragiano, ii) difficoltà di risoluzione dei sottoproblemi Lagrangiani, iii) difficoltà di risoluzione del duale Lagrangiano: w = max u 0 w(u). Per (i) abbiamo il teorema. Per (ii) dipende dal problema specifico (ottimizzazione su X e conv(x)). Riguardo (iii), il numero di variabili duali è un indice di difficoltà del problema duale. Esempio: Localizzazione ottima senza vincoli di capacità (UFL) Consideriamo la variante in cui si massimizza i profitti, con profitti p ij, costi di attivazione dei depositi f j e, per ogni cliente, approvigionamento da un unico deposito. 38

39 max i M j N p ijx ij j N f jy j s.v. j N x ij = 1 i M (15) x ij y j i M, j N (16) y j {0, 1} x ij {0, 1} j N i M, j N Rilassando i vincoli di domanda (15) si ottiene il sottoproblema Lagrangiano: w(u) = max i M j N (p ij u i )x ij j N f jy j + i M u i s.v. x ij y j i M, j N y j {0, 1} x ij {0, 1} che si scompone in N sottoproblemi, uno per ogni sito candidato j, j N i M, j N w(u) = i M u i + j N max i M (p ij u i )x ij f j y j s.v. x ij y j i M y j {0, 1} x ij {0, 1} i M che si possono risolvere per ispezione (cf. Esempio 2 precedente). 39

40 Poiché abbiamo stabilito nell esercizio 3.3 che X j = {(x, y j ) R m n+1 : x ij y j, i M; 0 x ij 1, i M} ha tutti i vertici (punti estremi) interi, il bound Lagrangiano w ottenuto risolvendo min u 0 w(u) equivale a quello del rilassamento continuo. Rilassando i vincoli di coerenza (16) si ottiene il sottoproblema Lagrangiano: w(u) = max i M s.v. j N p ijx ij j N f jy j + i M j N x ij = 1 y j {0, 1} x ij {0, 1} j N u ij(y j x ij ) i M j N i M, j N Quanto stringente è il duale Lagrangiano e quanto difficile è il sottoproblema Lagrangiano? 40

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

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

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

Dettagli

3.6 Metodi basati sui piani di taglio

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

Dettagli

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n 5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe

Dettagli

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate 5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f (x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe

Dettagli

5.3 Metodo dei piani di taglio

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

Dettagli

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

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

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.5 Metodi dei piani di taglio

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

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 8-9 Soluzioni di alcuni esercizi Esercizi - I 3. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

Rilassamento Lagrangiano

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

Dettagli

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

5.5 Programmazione quadratica (PQ)

5.5 Programmazione quadratica (PQ) 5.5 Programmazione quadratica (PQ Minimizzare una funzione quadratica soggetta a vincoli lineari: 1 min x t Qx + c t x 2 s.v. a t i x b i i D (P a t i x = b i i U x R n dove Q matrice n n, D e U sono gli

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

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

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

Dualitá in Programmazione Lineare e alcune conseguenze

Dualitá in Programmazione Lineare e alcune conseguenze Dualitá in Programmazione Lineare e alcune conseguenze Giacomo Zambelli 1 Dualitá per problemi in forma standard Si consideri il seguente problema di PL in forma standard: z = max c x Ax = b (1) ove A

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

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

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

Dettagli

4.4 Programmazione quadratica

4.4 Programmazione quadratica 4.4 Programmazione quadratica Minimizzare una funzione quadratica soggetta a vincoli lineari: min 1 2 xt Qx + c t x s.v. a t i x b i i D (P) a t i x = b i i U x R n dove Q matrice n n, D e U sono gli insiemi

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

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

Scuola di Dottorato in Ingegneria L. da Vinci. Problemi di estremo vincolato ed applicazioni. Introduzione ai problemi di estremo

Scuola di Dottorato in Ingegneria L. da Vinci. Problemi di estremo vincolato ed applicazioni. Introduzione ai problemi di estremo Scuola di Dottorato in Ingegneria L. da Vinci Problemi di estremo vincolato ed applicazioni Pisa, 28-29 Maggio, 2009 Introduzione ai problemi di estremo G. Mastroeni Ricercatore, Dipartimento di Matematica

Dettagli

Dualità Lagrangiana. Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Dualità Lagrangiana. Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Dualità Lagrangiana Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 3 Novembre 2015 Ricerca Operativa 2 Laurea Magistrale in

Dettagli

Le condizioni di Karush-Kuhn-Tucker

Le condizioni di Karush-Kuhn-Tucker Capitolo 9 Le condizioni di Karush-Kuhn-Tucker 9. Introduzione In questo capitolo deriveremo le condizioni necessarie di Karush-Kuhn-Tucker (KKT) per problemi vincolati in cui S è descritto da vincoli

Dettagli

Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare

Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare A. Agnetis 1 Richiami su condizioni di Karush-Kuhn-Tucker e convessità Si consideri il problema di ottimizzazione vincolata: min f(x) (1) x X R

Dettagli

Il teorema di dualità forte

Il teorema di dualità forte Complementi di Algoritmi e Strutture Dati Il teorema di dualità forte Docente: Nicolò Cesa-Bianchi versione 13 maggio 2018 Ricordiamo la formulazione del problema di programmazione lineare nella sua forma

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

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

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

Dettagli

Programmazione Lineare Intera

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

Dettagli

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

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (9 punti) Sia dato il seguente problema di PL: max x + 2x 2 + x 3 x x 2 + x 3 = 2x + 3x 2 + x 4 = 2 x, x 2, x 3, x 4 0 Si determini il duale del problema ( punto).

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

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Programmazione Lineare Intera: Piani di Taglio

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

Dettagli

Università degli Studi di Roma La Sapienza

Università degli Studi di Roma La Sapienza Università degli Studi di Roma La Sapienza Dipartimento di Informatica e Sistemistica A. Ruberti Proff. Gianni Di Pillo and Laura Palagi Note per il corso di OTTIMIZZAZIONE (a.a. 2007-08) Dipartimento

Dettagli

METODI DELLA RICERCA OPERATIVA

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

Dettagli

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

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

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista)

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Domenico Salvagnin 2011-06-12 1 Introduzione Dato un problema di programmazione lineare intera (mista), non è sempre possibile (o conveniente)

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

8.3 Condizioni di ottimalità (qualifica dei vincoli e KKT) 2

8.3 Condizioni di ottimalità (qualifica dei vincoli e KKT) 2 8.1 Campagna pubblicitaria Una agenzia di pubblicità deve effettuare una campagna promozionale con due mezzi di comunicazione: gli annunci alla radio e quelli sui giornali. Vengono considerate m stazioni

Dettagli

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

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

Dettagli

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

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

Soluzione. 8.1 Campagna pubblicitaria. Exercise session 8 Optimization Prof. E. Amaldi. Insiemi. I = {1,...,m}: insieme delle radio

Soluzione. 8.1 Campagna pubblicitaria. Exercise session 8 Optimization Prof. E. Amaldi. Insiemi. I = {1,...,m}: insieme delle radio Soluzione 8.1 Campagna pubblicitaria Insiemi I = {1,...,m}: insieme delle radio J = {1,...,n}: insieme dei giornali Variabili r i r 1 i : minuti sulla stazione radiofonica i I (sotto i 25) : minuti sulla

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

Stime dell ottimo - Rilassamenti. PRTLC - Rilassamenti

Stime dell ottimo - Rilassamenti. PRTLC - Rilassamenti Stime dell ottimo - Rilassamenti PRTLC - Rilassamenti Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento

Dettagli

Esercizi sulla Programmazione Lineare Intera

Esercizi sulla Programmazione Lineare Intera Soluzioni 4.7-4.0 Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare Intera 4.7 Algoritmo del Simplesso Duale. Risolvere con l algoritmo del simplesso duale il seguente

Dettagli

Rilassamento Lagrangiano

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

Dettagli

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima.

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima. COMPITO DI RICERCA OPERATIVA APPELLO DEL 06/07/05 ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2 x 1 0 x 2 0 Lo si trasformi in forma standard e se ne

Dettagli

Esercizi di Programmazione Lineare

Esercizi di Programmazione Lineare Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema

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

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano Capitolo 3: Ottimizzazione non vincolata parte III E. Amaldi DEI, Politecnico di Milano 3.4 Metodi di ricerca unidimensionale In genere si cerca una soluzione approssimata α k di min g(α) = f(x k +αd k

Dettagli

Teoria della Programmazione Lineare Intera

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

Dettagli

Programmazione Non Lineare

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

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare p. 1/39 Geometria della programmazione lineare Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria Geometria della programmazione

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

7.9 Il caso vincolato: vincoli di disuguaglianza

7.9 Il caso vincolato: vincoli di disuguaglianza 7.9 Il caso vincolato: vincoli di disuguaglianza Il problema con vincoli di disuguaglianza: g i (x) 0, i = 1,..., p, (51) o, in forma vettoriale: g(x) 0, può essere trattato basandosi largamente su quanto

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

La dualità nella Programmazione Lineare

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

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

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

Dettagli

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

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

Dettagli

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

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

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

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

Dettagli

RICERCA OPERATIVA (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

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

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

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

Il Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.

Il Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S. Il Branch & Bound Il metodo Branch & Bound è una tecnica che permette di risolvere all ottimo un generico problema di Programmazione Lineare Intera. Tale metodo si basa su due concetti cardine: quello

Dettagli

PROGRAMMAZIONE LINEARE E DUALITA'

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

Dettagli

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti Sull algoritmo di ascesa duale per il problema della localizzazione di impianti A. Agnetis In queste note presentiamo l algoritmo di ascesa duale per la generazione di lower bound di buona qualità per

Dettagli

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

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

Dettagli

Esercizi su ottimizzazione vincolata

Esercizi su ottimizzazione vincolata Esercizi su ottimizzazione vincolata 1. Rispondere alle seguenti domande (a) Quando un vincolo di disuguaglianza è detto attivo? (b) Cosa è l insieme delle soluzioni ammissibili? Gli algoritmi di ricerca

Dettagli

NLP KKT 1. Le condizioni necessarie di ottimo per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J

NLP KKT 1. Le condizioni necessarie di ottimo per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J NLP KKT 1 Le condizioni necessarie di ottimo per il problema min f o (x) g i (x) 0 i I h j (x) = 0 j J sono, riferite ad un punto ammissibile x*, μ 0 f o (x*) + i I μ i g i (x*) + j J λ j h j (x*) = 0

Dettagli

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

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max 3x 1 + 2x 2 x 1 + 1 2 x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 Lo si risolva con l algoritmo che si ritiene più opportuno

Dettagli

Dualitá. Dualitá p. 1/4

Dualitá. Dualitá p. 1/4 Dualitá Dualitá p. 1/4 Dualitá p. 2/4 Dualitá Problema di PL in forma standard max cx Ax = b x 0 Chiamato problema primale. A questo associato un altro problema di PL, detto problema duale: min ub ua c

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 9 Marzo Programmazione Matematica Geometria di R n Esempi Teoria della PL Forma Standard. logo.

Ricerca Operativa. G. Liuzzi. Lunedí 9 Marzo Programmazione Matematica Geometria di R n Esempi Teoria della PL Forma Standard. logo. 1 Lunedí 9 Marzo 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Problema di Ottimizzazione min(o max) f (x) con la restrizione x S dove f (x) : R n R è detta funzione obiettivo S R n

Dettagli

città

città Esercitazione 11-4-18 Esercizio 1. Si consideri il problema di trovare il ciclo hamiltoniano di costo minimo su una rete di 5 città, le cui distanze reciproche sono indicate in tabella: città 2 3 4 5 1

Dettagli

4.5 Metodo del simplesso

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

Dettagli

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola: 3 o Appello /2/2 RICERCA OPERATIVA (a.a. 2/) Nome: Cognome: Matricola: ) Si risolva algebricamente il seguente problema di PL max x 2x 2 x x 2 2 x x + x 2 3 x 2 7 mediante l algoritmo del Simplesso Primale

Dettagli

Il metodo del simplesso

Il metodo del simplesso Capitolo 5 Il metodo del simplesso 5. La forma standard Esercizio 5.. Porre il problema di Programmazione Lineare: in forma standard. min x +x + x + x x +x 5 x 4 x, x Si trasformano i vincoli di disuguaglianza

Dettagli

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

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

Dettagli

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

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

Dettagli

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Risoluzione di sistemi lineari sparsi e di grandi dimensioni Risoluzione di sistemi lineari sparsi e di grandi dimensioni Un sistema lineare Ax = b con A R n n, b R n, è sparso quando il numero di elementi della matrice A diversi da zero è αn, con n α. Una caratteristica

Dettagli

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I COMPITO DI RICERCA OPERATIVA ESERCIZIO. (8 punti) Sia dato il seguente problema di PL: min x x + x x 4 x x + x + x 4 = 5 x + x + x x, x, x, x 4 0 Lo si trasformi in forma standard ( punto). Si determini

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 7 x x Utilizzando il Teorema degli scarti complementari, si dimostri che

Dettagli

Soluzione dei Problemi di Programmazione Lineare

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

Dettagli

2.2 Alberi di supporto di costo ottimo

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

Dettagli

2.2 Alberi di supporto di costo ottimo

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

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 3 dicembre 2004 SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : Nome : ANONIMO VALUTAZIONE Per gli esercizi 1,3,5 le risposte CORRETTE

Dettagli

2.2 Alberi di supporto di costo ottimo

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

Dettagli

2.2 Alberi di supporto di costo ottimo

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

Dettagli

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

Esame di Ricerca Operativa del 09/06/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 09/06/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 09/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 Base

Dettagli

SQP (Sequential Quadratic Programming ) La soluzione del problema min f o (x) g i (x) = 0, i I

SQP (Sequential Quadratic Programming ) La soluzione del problema min f o (x) g i (x) = 0, i I SQP (Sequential Quadratic Programming ) La soluzione del problema min f o (x) g i (x) = 0, i I e caratterizzata dalle condizioni f o (x) + i I μ i g i (x) = 0 e dall ammissibilita ( g i (x) = 0, i I )

Dettagli