Rilassamento Lagrangiano
|
|
|
- Eugenia Marini
- 9 anni fa
- Просмотров:
Транскрипт
1
2 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 P di programmazione lineare a numeri interi: (P ) z(p ) = min c T x s.t. Ax b (1) Bx d x {0, 1} dove A è una matrice m 1 n, B è una matrice m 2 n, b è un vettore di dimensione m 1, d è un vettore di dimensione m 2 e c ed x sono vettori di dimensioni n. Supponiamo che i vincoli (1) siano vincoli difficili. Il Rilassamento Lagrangiano di P rispetto ai vincoli (1) si ottiene: 1. rilassando dal problema P i vincoli (1); 2. introducendo tali vincoli nella funzione obiettivo associando a loro un vettore di penalità, chiamato vettore delle penalità Lagrangiane (o moltiplicatori Lagrangiani).
3 RILASSAMENTO LAGRANGIANO 2 Il rilassamento Lagrangiano di P rispetto ai vincoli Ax b è il seguente problema L(λ): L(λ) z(l(λ)) = min c T x λ(ax b) s.t. Bx d x {0, 1} dove λ 0 è il vettore delle penalià Lagrangiane di dimensione m 1 e L(λ) viene chiamata Funzione Lagrangiana. Esempio 1: (P ) z(p ) = min 3x 1 + 7x x 3 s.t. x 1 + 3x 2 + 5x 3 7 x 1, x 2, x 3 {0, 1} L(λ) z(l(λ)) = min 3x 1 + 7x x 3 λ(x 1 + 3x 2 + 5x 3 7) s.t. x 1, x 2, x 3 {0, 1} L importanza di L(λ) sta nel fatto che z(l(λ)), λ 0, è un valido lower bound al costo della soluzione ottima di P, z(p ). In certe condizione la soluzione ottima di L(λ) è anche la soluzione ottima di P.
4 RILASSAMENTO LAGRANGIANO 3 Teorema (Dualità Lagrangiana Debole). Il valore ottimo z(p ) del problema P è maggiore o uguale al valore ottimo z(l(λ)) del problema L(λ), per ogni vettore λ 0, ovvero: z(p ) z(l(λ)), λ 0. Dimostrazione. Sia x la soluzione ottima di P. Si noti che x è anche una soluzione ammissibile per L(λ) per ogni λ 0. Si ha quindi che c T x λ(ax b) z(l(λ)) ma λ(ax b) 0 (poichè λ 0 e Ax b), quindi c T x z(l(λ)) ovvero z(p ) z(l(λ)), λ 0.
5 RILASSAMENTO LAGRANGIANO 4 Set Covering Problem Il Set Covering Problem (SCP) è il problema di coprire le righe di una matrice m n (a ij ) con coefficienti 0 ed 1, con un sottoinsieme di colonne a costo minimo. Sia x j una variabile binaria 0-1 definita come segue: x j = 1 se la colonna j con costo c j è in soluzione; 0 altrimenti. Una formulazione matematica per il problema SCP è la seguente: (SC) z(sc) = min n s.t. n c j x j a ij x j 1, i = 1,..., m (2) x j {0, 1}, j = 1,..., n Esempio 2: m = 3, n = 6, c j = [1, 2, 3, 4, 5, 6] (a ij ) = Soluzione ottima S = {2, 3} di costo 5.
6 RILASSAMENTO LAGRANGIANO 5 Il Rilassamento Lagrangiano del problema SC rispetto ai vincoli (2) è il seguente: (L(λ)) z(l(λ)) = min n c j x j m λ i ( n a ij x j 1) i=1 s.t. x j {0, 1}, j = 1,..., n dove λ i 0, i = 1,..., m. Il problema L(λ) può essere riscritto come segue: (L(λ)) z(l(λ)) = min n (c j m λ i a ij )x j + m i=1 λ i i=1 s.t. x j {0, 1}, j = 1,..., n Posto C j = c j m i=1 λ i a ij, j = 1,..., n, L(λ) diventa: (L(λ)) z(l(λ)) = min n C j x j + m λ i i=1 s.t. x j {0, 1}, j = 1,..., n la cui soluzione ottima può x essere calcolata ponendo: x j = 1 se C j 0; 0 altrimenti., j = 1,..., n
7 RILASSAMENTO LAGRANGIANO 6 Esempio 3 Si consideri il seguente problem di Set Covering: (P 1) z(p 1) = min 2x 1 + 3x 2 + 4x 3 + 5x 4 s.t. x 1 + x 3 1 x 1 + x 4 1 x 2 + x 3 + x 4 1 x 1, x 2, x 3, x 4 {0, 1} La soluzione ottima è x 1 = x 2 = 1 e x 3 = x 4 = 0. Rilassando mediante le penalità Lagrangiane λ 1, λ 2 e λ 3 i 3 vincoli di P 1 si ottiene il seguente problema: (L(λ)) z(l(λ)) = min 2x 1 + 3x 2 + 4x 3 + 5x 4 λ 1 (x 1 + x 3 1) ovvero λ 2 (x 1 + x 4 1) λ 3 (x 2 + x 3 + x4 1) s.t. x 1, x 2, x 3, x 4 {0, 1} (L(λ)) z(l(λ)) = min C 1 x 1 + C 2 x 2 + C 3 x 3 + C 4 x 4 + λ 1 + λ 2 + λ 3 s.t. x 1, x 2, x 3, x 4 {0, 1} dove C 1 = 2 λ 1 λ 2 C 2 = 3 λ 3 C 3 = 4 λ 1 λ 3 C 4 = 5 λ 2 λ 3
8 RILASSAMENTO LAGRANGIANO 7 Se λ 1 = 1.5, λ 2 = 1.6 e λ 3 = 2.2 si ha: C 1 = 2 λ 1 λ 2 = 1.1 C 2 = 3 λ 3 = 0.8 C 3 = 4 λ 1 λ 3 = 0.3 C 4 = 5 λ 2 λ 3 = 1.2 per cui la soluzione ottima x di L(λ) é x 1 = 1, x 2 = x 3 = x 4 = 0 di costo z(l(λ)) = = 4.2 ( 5). Se λ 1 = 1, λ 2 = 1 e λ 3 = 3 si ha: C 1 = 2 λ 1 λ 2 = 0 C 2 = 3 λ 3 = 0 C 3 = 4 λ 1 λ 3 = 0 C 4 = 5 λ 2 λ 3 = 1 per cui la soluzione ottima x è di L(λ) x 1 = x 2 = x 3 = x 4 = 0 di costo L(λ) = = 5 (= z(p 1)). Si noti che x non è una soluzione ammissibile per P 1. Si noti inoltre che esistono soluzioni ottime alternative di L(λ) tutte di costo z(l(λ)) = 5 che si ottengono ponendo x 1 = 1 e/o x 2 = 1 e/o x 3 = 1 e x 4 = 0. Fra tali soluzioni vi è anche la soluzione ottima di P 1.
9 RILASSAMENTO LAGRANGIANO 8 Lagrangiano Duale Dal teorema della Dualità debole per cui z(l(λ)) z(p ), λ 0, si ha che l ottimo z(d L ) del seguente problema: (D L ) z(d L ) = max λ 0 [z(l(λ))] è un valido lower bound a z(p ); ovvero z(d L ) z(p ). Il problema D L è detto Lagrangiano Duale di P. Duality Gap Nel caso in cui z(d L ) < z(p ) allora si dice che esiste un duality gap fra il problema P e il problema D L. Sia λ la soluzione ottima del problema D L. Sia inoltre x la soluzione ottima di RL(λ), ovvero: z(d L ) = z(l(λ)) = cx λ(ax b) Si consideri il caso in cui x è anche l ottimo di P, ovvero z(p ) = cx. È evidente che z(d L ) < z(p ) se λ(ax b) > 0.
10 RILASSAMENTO LAGRANGIANO 9 Esempio 4 (P ) z(p ) = min 3x 1 + 7x x 3 s.t. x 1 + 3x 2 + 5x 3 7 x 1, x 2, x 3 {0, 1} (L(λ)) z(l(λ)) = min 3x 1 + 7x x 3 λ(x 1 + 3x 2 + 5x 3 7) ovvero s.t. x 1, x 2, x 3 {0, 1} (L(λ)) z(l(λ)) = min (3 λ)x 1 + (7 3λ)x 2 + (10 5λ)x 3 + 7λ s.t. x 1, x 2, x 3 {0, 1} Per calcolare z(d L ), calcoliamo L(λ), λ 0: λ = 0, z(l(0)) = 0 e x = (0, 0, 0); λ = 1, z(l(1)) = 7 e x = (0, 0, 0); λ = 2, z(l(2)) = 14 e x = (0, 0, 0) oppure x = (0, 0, 1); λ = 7 3, z(l(7 44 )) = 3 3 e x = (0, 0, 1) oppure x = (0, 1, 1); λ = 3, z(l(3)) = 14 e x = (0, 1, 1) oppure x = (1, 1, 1); λ > 3, z(l(λ)) = 2λ + 20 e x = (1, 1, 1). Quindi esiste un gap di dualità in quanto z(d L ) = 44 3 (= z(l(7 3 ))), z(p ) = 17 e x = (0, 1, 1), che corrisponde ad una delle soluzioni di z(l( 7 3 )).
11 RILASSAMENTO LAGRANGIANO 10 Teorema (Dualità Lagrangiana Forte). Sia x la soluzione ottima di L(λ) per un dato λ 0. Se x e λ soddisfano le seguenti condizioni: x è ammissibile per P (ovvero Ax b) e (3) λ(ax b) = 0, (4) allora x è la soluzione ottima di P ed inoltre z(d L ) = z(l(λ)). Dimostrazione. Dimostriamo x è una soluzione ottima di P. Essendo x soluzione ammissibile di P si ha cx z(p ). (5) Per il teorema della dualità Lagrangiana debole si ha: Quindi da (5( e (6) si ottiene z(p ) L(λ) = cx λ(ax b) ). (6) } {{ } =0 per la (4 cx z(p ) cx ovvero z(p ) = cx (= z(l(λ))). (7) Dimostriamo che z(d L ) = z(l(λ)). Per come è definito il problema D L si ha che: z(d L ) L(λ) z(p ) z(d L ) (8) Quindi da (7) e (8) si ottiene z(d L ) = z(p ).
12 RILASSAMENTO LAGRANGIANO 11 Considerazioni Si noti che le condizioni del teorema della dualità lagrangiana forte sono sufficienti, ma non necessarie. Nell esempio 4 la soluzione duale ottima che si ha per λ = 7 3 soluzione ottima del problema primale (x = (0, 1, 1)), ma: fornisce la λ(ax b) = λ(x 1 + 3x 2 + 5x 3 7) = 7 3 ( ) = Dato un problema P : Quali vincoli devono essere rilassati in modo Lagrangiano? È necessario considerare rilassamenti per i quali la complessità computazionale necessaria per risolvere il problema L(λ) è di tipo polinomiale o pseudopolinomiale; Come risolvere il problema D L? Il numero di penalità Lagrangiane necessarie per effettuare il rilassamento influenza la complessità computazionale necessaria per risolvere il problema D L ; Che relazioni ci sono fra il Rilassamento Lineare di P ed il Rilassamento Lagrangiano di P?
13 RILASSAMENTO LAGRANGIANO 12 Relazione fra il Rilassamento Lineare ed il Rilassamento Lagrangiano Dato un insieme X la sua chiusura convessa (conv(x)) è il minimo insieme convesso che contiene X Sia X = {x : Bx d, x 0} Z n {x : Bx d, x 0} X conv(x) z(p ) = min c T x z(p ) = min c T x Ax b Ax b Bx d x conv(x) 0 intere x intere z(lp ) = min c T x z(p ) = min c T x Ax b Ax b Bx d x conv(x) x 0 Il valore ottimo z(lp ) del Rilassamento Lineare di P è un valido lower bound al costo della soluzione ottima di P, ovvero z(lp ) z(p ). Il valore ottimo z(p ) del rilassamento continuo della seconda formulazione di P è un valido lower bound di z(p ) ovvero z(p ) z(p ). QUALE RAPPORTO TRA z(lp ) e z(p )?
14 RILASSAMENTO LAGRANGIANO 13 Teorema Dimostrazione. z(lp ) z(p ) Siccome conv(x) {x : Bx d, x 0}, l insieme delle soluzioni del problema P dato da {x : Ax b, x conv(x)} è contenuto nell insieme delle soluzioni del problema LP dato da {x : Ax b, Bx d, x 0}, ovvero: {x : Ax b, x conv(x)} {x : Ax b, Bx d, x 0}. (9) Di conseguenza da (9) si ha che z(lp ) z(p ). Teorema (Caratterizzazione del Lagrangiano Duale, vedi per esempio L.A. Wolsey, Integer Programming, pag. 172, Wiley, 1998). Il costo della soluzione ottima z(d L ) del Lagrangiano Duale è uguale al costo della soluzione ottima del problema P z(p ) = min c T x s.t. Ax b x conv(x) Relazione fra Ril. Lagrangiano e Ril. Lineare Il lower bound ottenuto Rilassando in modo Lagrangiano il problema P è sempre maggiore o uguale del lower bound ottenuto dal Rilassamento Lineare di P z(lp ) z(d L )
15 RILASSAMENTO LAGRANGIANO 14 Esempio - Relazione fra Ril. Lagrangiano e Ril. Lineare Ax b Ax b Bx d Bx d (a) {x : Ax b, Bx d, x 0 intero } (b) {x : Ax b, Bx d, x 0} Ax b Bx d (a) conv(x) (b) {x : Ax b, x conv(x)}
16 RILASSAMENTO LAGRANGIANO 15 Proprietà di integralità Definizione: proprietà di integralità. Si dice che il Rilassamento Lagrangiano L(λ) soddisfa la proprietà di integralità se la regione ammissibile di L(λ) (per un dato vettore λ 0) ha solo vertici interi {x : Bx d, x 0} = conv({x : Bx d, x 0} Z n ) = conv(x). (10) Ne consegue che per qualunque vettore di costi c T z(l(λ)) = z(ril. lineare di L(λ)) Teorema (Proprietà d integralità). Se il Rilassamento Lagrangiano L(λ) di P soddisfa la proprietà di integralità, allora z(d L ) = z(lp ). Dimostrazione. Da (10) si ha {x : Ax b, x conv(x)} = {x : Ax b, Bx d, x 0} P LP Per cui il problema P ed il problema LP sono definiti sullo stesso insieme di soluzioni ammissibili, di conseguenza z(lp ) = z(p ) e per il teorema di caratterizzazione del lagrangiano duale z(p ) = z(d L ).
17 RILASSAMENTO LAGRANGIANO 16 Assegnamento Generalizzato Sono dati m contenitori ed n oggetti. Il contenitore j ha una capacità pari a b j (j = 1,..., m). Ogni oggetto i (i = 1,..., n) occupa una spazio pari a a ij nel contenitore j (j = 1,..., m). Sia c ij il costo per assegnare l oggetto i al contenitore j. Si vuole assegnare ogni oggetto ad uno ed un solo contenitore nel rispetto della capacità dei contenitori e minimizzando il costo complessivo. Una formulazione matematica è la seguente: x ij = 1 se l oggetto i viene assegnato al contenitore j; 0 altrimenti. (AG) z(ag) = Min s.t. n m i=1 m n i=1 c ij x ij x ij = 1, i = 1,..., n (11) a ij x ij b j, j = 1,..., m (12) x ij {0, 1}, i = 1,..., n, j = 1,..., m I vincoli (11) impongono che ogni oggetto sia assegnato ad un ed un solo contenitore, mentre le disuguaglianze (12) impongono il vincolo sulla capacità dei contenitori.
18 RILASSAMENTO LAGRANGIANO 17 Si considerino i seguenti tre Rilassamenti del problema AG: - Rilassamento Lagrangiano rispetto ai vincoli (11): z(l 1 (λ)) = min s.t. n m i=1 n i=1 (c ij λ i )x ij + n λ i i=1 a ij x ij b j, j = 1,..., m x ij {0, 1}, i = 1,..., n, j = 1,..., m - Rilassamento Lagrangiano rispetto ai vincoli (12): z(l 2 (µ)) = min s.t. n m i=1 m (c ij + a ij µ j )x ij m x ij = 1, i = 1,..., n µ j b j x ij {0, 1}, i = 1,..., n, j = 1,..., m µ j 0, j = 1,..., m - Rilassamento Lagrangiano rispetto ai vincoli (11) e (12): z(l 3 (λ, µ)) = min n m i=1 (c ij λ i + a ij µ j )x ij + n i=1 λ i m s.t. x ij {0, 1}, i = 1,..., n, j = 1,..., m µ j 0, j = 1,..., m µ j b j Siccome L 2 e L 3 soddisfano la proprietà di integralità e possono essere facilmente risolti per ispezione. Si ha z(d L2 ) = z(d L3 ) = z(lp ). Per quanto riguarda L 1, si ha z(d L1 ) z(lp ). Si noti che la risoluzione di L 1 (λ) coinvolge la risoluzione di m problemi di knapsack.
19 RILASSAMENTO LAGRANGIANO 18 Risoluzione del Lagrangiano Duale Teorema La Funzione Lagrangiana è concava. z(l(λ)) = z(l(αλ 1 + (1 α)λ 2 )) z(l(λ 2 )) αz(l(λ 1 )) + (1 α)z(l(λ 2 )) z(l(λ 1 )) λ 1 λ = αλ 1 + (1 α)λ 2 λ 2 αz(l(λ 1 )) + (1 α)z(l(λ 2 )) z(l(λ)). Subgradiente Un vettore s è detto subgradiente di L(λ) in λ se soddisfa: z(l(λ)) z(l(λ)) + s(λ λ) z(l(λ)) + s(λ λ)) z(l(λ)) z(l(λ)) λ λ
20 RILASSAMENTO LAGRANGIANO 19 Il Lagrangiano Duale (D L ) z(d L ) = max λ 0 [z(l(λ))] potrebbe essere risolto come un problema di Programmazione Lineare Continua, ma spesso risulta molto oneroso dal punto di vista computazionale. Per risolvere D L si usano perciò altri metodi, di tipo euristico, fra i quali l ottimizzazione subgradiente. 1. Calcola la funzione z(l(λ)) per λ dato. 2. Calcola un subgradiente s in λ; 3. λ := λ + θs (un passo nella direzione del subgradiente) 4. Se non è attivo un criterio di arresto, then goto 1. Il metodo genera una sequenza finita di vettori λ 1, λ 2,..., λ k e di valori z(l(λ 1 )), z(l(λ 2 )),..., z(l(λ k )) N.B. i valori z(l(λ i )) non sono monotoni!
21 RILASSAMENTO LAGRANGIANO 20 Calcolo del subgradiente Dato λ sia x la soluzione di RL(λ), ovvero Per un generico λ si ha che z(l(λ)) = cx λ(ax b) (13) z(l(λ)) = min x X (ct x λ(ax b)) cx λ(ax b) (14) Sottraendo dalla (14) la (13) si ottiene: ovvero z(l(λ)) z(l(λ)) (λ λ)(ax b) z(l(λ)) z(l(λ)) (Ax b)(λ λ) ne segue che s = (Ax b) è un subgradiente di z(l(λ)) in λ. Affinche z(l(λ)) sia maggiore di z(l(λ)) è necessario che: (Ax b)(λ λ) > 0, ovvero, è necessario muoversi nella direzione del subgradiente: λ = λ + θs, θ > 0 Il problema (non facile) è quello di determinare il valore di θ.
22 RILASSAMENTO LAGRANGIANO 21 Metodo del Subgradiente Indichiamo in forma di sommatoria i vincoli Ax b, ovvero, n a ij x j b i, i = 1,..., m 1. Algoritmo Subgradiente Step 1. Step 2. Step 3. Sia α un parametro predefinito. Poni LB =. Sia inoltre z(u B) il costo di una soluzione euristica al problema. Si ponga λ i = 0, i = 1,..., m 1. Si risolva il problema L(λ). Sia x la soluzione ottima di L(λ) di costo z(l(λ)). Poni LB = max[lb, L(λ)]. Se Ax b e λ(ax b) = 0 allora x è la soluzione ottima di P. Siano s i, i = 1,..., m 1, i subgradienti per i vincoli rilassati, calcolati come: s i = b i n a ij x j, i = 1,..., m 1. Step 4. θ = α[z(ub) z(l(λ))] / m 1 i=1 s 2 i. Step 5. Si aggiornino le Penalita Lagrangiane nel seguente modo: λ i = max[0, λ i + θs i ], i = 1,..., m 1. Vai allo Step 2.
23 RILASSAMENTO LAGRANGIANO 22 In genere 0 < α 2. Osservazioni Il valore di α va opportunatamente ridotto (α = α/2) se per iterazioni risulta z(l(λ)) LB. In genere = 20. In generale è necessario imporre un numero massimo di iterazioni all algoritmo in quanto non vi è nessuna garanzia sulla sua terminazione. Il lower bound z(l(λ)) prodotto ad una generica iterazione può essere inferiore al lower bound prodotto all iterazione precedente. Il lower bound LB tende a crescere rapidamente durante le primi iterazioni dell algoritmo per poi convergere lentamente verso z(d L ).
24 RILASSAMENTO LAGRANGIANO 23 Set Covering Si consideri il problema di Set Covering dell esercizio 3. Una possibile iterazione del Metodo Subgradiente è la seguente. Step 1. Poni α = 2. Poni z(u B) = 6 (soluzione euristica ottenuta ponendo x 1 = x 3 = 1, x 2 = x 4 = 0). Poni λ 1 = 1.5, λ 2 = 1.6 e λ 3 = 2.2. Step 2. La soluzione di L(λ) è x 1 = 1 e x 2 = x 3 = x 4 = 0 con z(l(λ)) = 4.2 Step 3. Le equazioni per il subgradiente sono: s 1 = (1 x 1 x 3 ) = 0 s 2 = (1 x 1 x 4 ) = 0 s 3 = (1 x 2 x 3 x 4) = 1 Step 4. θ = 2(6 4.2) ( ) = 3.6 Step 5. L aggiornamento delle penalità Lagrangiane produce: λ 1 = max(0, (0)) = 1.5 λ 2 = max(0, (0)) = 1.6 λ 3 = max(0, (1)) = 5.8 L iterazione successiva produce: x 1 = x 2 = x 3 = x 4 = 1 con z(l(λ)) = 0.7 (< 4.2).
25 RILASSAMENTO LAGRANGIANO 24 Rilassamenti con vincoli di tipo diverso Si consideri il seguente problema P di programmazione lineare a numeri interi: (P ) z(p ) = min c T x s.t. A 1 x b 1 (15) A 2 x b 2 (16) A 3 x = b 3 (17) Bx d x {0, 1} dove A 1 è una matrice m 1 n, A 2 è una matrice m 2 n ed A 3 è una matrice m 3 n. Il rilassamento Lagrangiano del problema P secondo i vincoli (15), (16) e (17) è il seguente: (L(λ, µ, ω)) z(l(λ, µ, ω) = min c T x λ(a 1 x b 1 ) + s.t. µ(a 2 x b 2 ) ω(a 3 x b 3 ) Bx d x {0, 1} λ, µ 0 - λ: vettore di dimensione m 1 associato ai vincoli (15); - µ: vettore di dimensione m 2 associato ai vincoli (16); - ω: vettore (libero) di dimensione m 3 associato ai vincoli (17);
26 RILASSAMENTO LAGRANGIANO 25 Nel caso del problema P lo Step 5 del Metodo del Subgradiente si modifica come segue: Calcolo dei subgradienti (Step 3): - G i = b 1 i n - F i = b 2 i n - H i = b 3 i n a 1 ijx j, i = 1,..., m 1 ; a 2 ijx j, i = 1,..., m 2 ; a 3 ijx j, i = 1,..., m 3. Calcolo dello step T (Step 4): θ = m 1 i=1 α(z(ub) L(λ)) G 2 i + m 2 Fi 2 + m 3 Hi 2 i=1 i=1 (18) Per quanto riguarda l aggiornamento delle penalità Lagrangiane si ha (Step 5): - A 1 x b 1 : λ i = max[0, λ i + θg i ], i = 1,..., m 1 ; - A 2 x b 2 : µ i = max[0, µ i + θf i ], i = 1,..., m 2 ; - A 3 x b 3 : ω i = ω i + θh i, i = 1,..., m 3.
27 RILASSAMENTO LAGRANGIANO 26 Euristici Lagrangiani La soluzione di L(λ) può essere utilizzata per costruire una soluzione ammissibile al problema originale P. Nel caso del Set Covering, una soluzione ammissibile per L(λ) può contenere righe non coperte dalle variabili {x j } in soluzione. Una possibile Euristico Lagrangiano per il Set Covering si basa perciò sul seguente semplice algoritmo, applicabile una volta calcolata la soluzione di L(λ): Step 1. Poni S = {j : x j = 1, j = 1,..., n}. Step 2. Per ogni riga i non coperta (ovvero per cui aggiungi ad S la colonna corrispondente al min,...,n {c j : a ij = 1}. j S a ij x j = 0) Step 3. S è una soluzione ammissibile per il SCP di costo c j j S Si noti che gli Euristici di tipo Lagrangiano permettono di stimare la distanza dall ottimo della soluzione euristica prodotta in quanto è noto un lower bound z(l(λ)) al costo della soluzione ottima.
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
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
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
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
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
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.
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)
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
Tecniche di rilassamento
Tecniche di rilassamento 1 Introduzione Consideriamo un problema di ottimizzazione P in forma di minimo (P ) min f(x), x F (P ) Possimo definire un nuovo problema R nel seguente modo: (R) min Φ(x), x F
Esercizi sulla Programmazione Lineare. min. cx Ax b x 0
Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )
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)}
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
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
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
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),
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
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
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)
Domande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR
1 Giovedí 14 Maggio 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Geometria di R n 1 Dare la definizione di Poliedro e Vertice di un Poliedro 2 Dare la definizione di Poliedro e di Politopo
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
Metodi per la risoluzione di sistemi lineari
Metodi per la risoluzione di sistemi lineari Sistemi di equazioni lineari. Rango di matrici Come è noto (vedi [] sez.0.8), ad ogni matrice quadrata A è associato un numero reale det(a) detto determinante
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
5.5 Metodi generali per la soluzione di problemi
5.5 Metodi generali per la soluzione di problemi di PLI I problemi di PLI hanno caratteristiche molto diverse dai problemi di PL. In alcuni casi, la soluzione del problema lineare rilassato, ottenuto cioè
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)
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:
Problemi di Flusso: Il modello del Trasporto
Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su
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
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
Il modello duale. Capitolo settimo. Introduzione
Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale
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)
Il rilassamento Lagrangiano nella soluzione di problemi di programmazione lineare intera
Il rilassamento Lagrangiano nella soluzione di problemi di programmazione lineare intera Alessandro Agnetis, Paolo Detti January 24, 212 1 La tecnica Lagrangiana L applicazione di algoritmi di enumerazione
Problemi di localizzazione di servizi (Facility Location Problems)
9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili
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
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
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema
Soluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2015-2016 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Paolo Tubertini, Daniele Vigo rev. 2. ottobre 2016 Fondamenti di
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:
Problemi di Ottimizzazione
Problemi di Ottimizzazione Obiettivo: misura della qualità di una soluzione. Vincoli: condizioni che devono essere soddisfatte per ottenere una soluzione ammissibile. Problema di Ottimizzazione: determina
Il metodo dei Piani di Taglio (Cutting Planes Method)
Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera
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
RICERCA OPERATIVA (a.a. 2018/19)
Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima
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 [email protected] http://www.di.unipi.it/~galli 3 Novembre 2015 Ricerca Operativa 2 Laurea Magistrale in
Parte III: Algoritmo di Branch-and-Bound
Parte III: Algoritmo di Branch-and-Bound Divide et Impera Sia z * max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)
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
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
