eoria della Dualità Ad ogni problema di PL (Primale) è assoiato un problema Duale Problema Primale (P) min s. t. 1 1 + L+ n n a + L+ a b M 11 1 1n n 1 a + L+ a b m1 1 mn n m Problema Duale (D) ma b11+ L+ bmm s. t. a111+ L+ am1m 1 M a1n 1+ L+ amnm n (n variabili, m vinoli) (m variabili, n vinoli) Il problema D ha tante variabili quanti sono i vinoli di P e tanti vinoli quante sono le variabili di P. In forma matriiale: ( P) min A b 0 n R ( D) ma b A 0 m R D-78
Forma simmetria della dualità: regole di trasformazione (P) (D) ma min vinoli min ma vinoli Duale di un Primale on vinoli di uguaglianza: ( P) min A = b 0 n R ( D) mab A var. libere m R Infatti: A = b equivale a A b A b A b quindi si introduono 2m variabili duali, u e v ma( b u b v) A u A v u 0 v 0 e sostituendo = u - v si ottiene D m u, v R D-79
Forma non simmetria della dualità: regole di trasformazione (P) (D) ma min vinoli min ma vinoli vinolo = var. libera var. libera vinolo = Le trasformazioni sono reversibili: il duale del duale è il primale. La teoria della Dualità è importante perhè: le soluzioni di P e D sono legate tra loro; le soluzioni duali hanno un interpretazione eonomia utile per l analisi di sensitività (post-ottimalità); sulla teoria della dualità sono basati algoritmi, quali il Simplesso Duale e l Algoritmo Primale-Duale, alternativi al Simplesso (Primale) utili per erte lassi di problemi; può in erti asi essere onveniente risolvere D al posto di P (onviene risolvere il problema on il minor numero di vinoli) D-80
Risultati fondamentali della eoria della Dualità Siano dati i problemi ( P) min A b 0 ( D) ma b A 0 1.eorema (debole) della dualità Siano e soluzioni ammissibili rispettivamente per (P) e (D), allora b Dim. soluzione A 0 ( A ) soluzione A b 0 ( A) b ( A ) = A = ( A) b D-81
Corollario Se (P) è illimitato Se (D) è illimitato Se (P) ha soluzione ottima finita Se (D) ha soluzione ottima finita (D) non è ammissibile (P) non è ammissibile (D) ha soluzione ottima finita (P) ha soluzione ottima finita 2.eorema (forte) della dualità Se (P) e (D) ammettono soluzione ottima finita, allora per ogni ottimo per (P) esiste una soluzione ottima per (D) tale he = b La dimostrazione del eorema della dualità forte evidenzia he il valore della soluzione ottima di (D) orrispondente alla soluzione ottima di (P) = 1 b vale = 1 D-82
Dim. Sia la base assoiata a b = N = 1 0 A A 1 A 1 A 0 N = N = 1 [ ] [ ] [ 1 ] N N [ 1 0 N ] N 0 = 1 N N 0 = = b Se = b allora 1 b = b e Dimostriamo he Poihè è ammissibile per (D): 1 = 1 è la ondizione di ottimalità per (P) (problema di minimizzazione), è verifiata l ammissibilità. Per la dualità debole ammissibile per ui è ottima per (D). quindi è estremo superiore per (D), quindi la soluzione = 1 b ammissibile = b D-83
La base è ottima per (P) e per (D). Siano infatti X e Y rispettivamente gli insiemi delle soluzioni ammissibili per (P) e (D) A = [ N] min + N N + NN = b 0 N 0 una sol. di base per (P) b = N = 1 0 l ammissibilità per (P) 1 X b 0 = b mab = N N var. libere la orrispondente per (D) 1 l ammissibilità per (D) 1 a) ( ) Y b 1 ) ( ) N a) (vera sempre) b 1 ) N N 0 1 a 0 R N sono le (n-m) ondizioni di ottimalità (osti ridotti) di (P) La base è ottima se e sono rispettivamente ammissibili per (P) e (D). D-84
Solo in orrispondenza dell ottimo dalla base ammissibile per (P) si ottiene una soluzione ammissibile per (D) (he in partiolare è anhe ottima). Ad una generia iterazione del simplesso dalla base orrente per (P) si può ostruire un vettore π 1 = he non è soluzione di (D). ale vettore è detto dei MOLIPLICAORI DEL SIMPLESSO è ompare nel alolo dei oeffiienti di osto ridotto (problema di ma): ( [ ] ) 1 N N Il tableau ottimo: N 0 1 1 I N b 1 N N 1 0 b Nota: se la base iniziale è formata solamente da slak e tutte le slak sono fuori base all ottimo, allora nel tableau ottimo si possono leggere direttamente sia l inversa della base ottima he il valore ottimo delle variabili duali. s 0 s N 0 I A b I N b 0 0 0 N 0 s N 0 1 1 1 I N b 1 1 N N 1 0 b D-85
Il eorema dello sarto omplementare (Complementar Slakness heorem) Consideriamo la oppia di problemi (P) e (D) in forma anonia e trasformiamoli in forma standard ( P) min A b 0 ( D) ma b A 0 A Is = b 0 n var. s 0 m var. disurplus A + Iv = 0 mvar. v 0 n var. dislak Ad ogni variabile di (P) è assoiato un vinolo di (D) e quindi la orrispondente variabile di slak e vieversa. 3.eorema della slakness omplementare Data la oppia di soluzioni e rispettivamente ammissibili per (P) e (D), e sono ottime per (P) e (D) se e solo se s = ( a b ) = 0 = 1, K, m v = ( a ) = 0 i = 1, K, n i i i i i dove a a i è il vettore riga -esima di A è il vettore olonna i-esima di A D-86
Nota: Il teorema stabilise he: a. i > 0 a i = i (vinolo duale saturo: v i =0) b. a i < i i = 0 (vinolo duale non saturo: v i >0). > 0 a = b (vinolo primale saturo: s =0) d. a > b = 0 (vinolo primale non saturo: s >0) Dim. (Neessità) Siano e le soluzioni ottime. Allora si ha = b Inoltre e da ui A A A A b A b A b quindi poihè vale la dualità forte le relazioni preedenti sono verifiate ome uguaglianze. Consideriamo ad es. la prima A = ( A) = 0 poihè per ipotesi A 0 e 0 il prodotto deve annullarsi termine per temine e quindi segue i i i ( a ) = 0 i = 1K,, n Analogamente si giunge alla seonda relazione. D-87
Dim. (Suffiienza) Consideriamo vere le ondizioni di slakness omplementare per la oppia di soluzioni e : In forma vettoriale ( a b ) = 0 = 1, K, m ( a ) = 0 i = 1, K, n i i i ( b A) = 0 b = A ( A) = 0 = A da ui segue = b quindi per la dualità forte le due soluzioni sono ottime. D-88
Interpretazione eonomia della dualità Consideriamo un problema (P) di massimizzazione in forma anonia ( P) ma A b 0 ed la sua soluzione ottima (supposta non degenere) b = N = 1 0 > 0 Allora una piola variazione b>0 di b non ambia la base ottima + ( b b) = N = 1 + 0 Il nuovo valore della soluzione ausa una variazione del valore della funzione obiettivo b b 0 = 1 + 0 = 1 ( ) b 0 = b Allora può essere interpretato ome il prezzo (valore) marginale delle risorse (b) poihè india qual è la variazione dell obiettivo (maggior guadagno) onseguente ad una maggior disponibilità delle risorse. I valori duali ottimi sono anhe detti prezzi ombra D-89
Esempio: Il problema del Produt Mi Si devono stabilire i livelli ottimi di produzione di un azienda he produe un insieme di prodotti in modo da massimizzare il profitto riavato dalla loro vendita, tenendo onto della disponibilità limitata delle risorse neessarie alla produzione. ( P) ma A b 0 i i b livello di produzione del prodotto i-esimo profitto per unità di prodotto i-esimo disponibilità della risorsa -esima a i quantità di risorsa -esima neessaria per produrre un unità di prodotto i-esimo -esimo vinolo primale a b il onsumo totale di risorsa -esima non supera la disponibilità massima per la stessa risorsa. D-90
Il problema duale del Produt Mi: Avendo selto di vendere l azienda, ossia le sue risorse produttive, determinare il minimo prezzo delle risorse, imponendo he vendere le risorse sia almeno tanto onveniente he vendere i prodotti he l azienda produeva on esse. ( D) min b A 0 i b prezzo minimo a ui vendere la -esima risorsa profitto per unità di prodotto i-esimo disponibilità della risorsa -esima a i quantità di risorsa -esima neessaria per produrre un unità di prodotto i-esimo i-esimo vinolo duale i a i il valore di una unità di prodotto i-esimo alolato sulla base delle risorse usate per produrlo e del loro prezzo minimo deve superare il prezzo unitario di vendita del prodotto stesso (altrimenti non onverrebbe vendere le risorse ma produrre i prodotti). D-91
Interpretazione eonomia della slakness omplementare Primale Il valore delle risorse (il valore ottimo delle variabili duali) è positivo solamente quando le risorse sono utilizzate ompletamente (risorse sarse), ovvero quando sono nulle le variabili di slak assoiate ai vinoli orrispondenti. La -esima slak nel -esimo vinolo primale s = a b s = 0 Duale Il livello di produzione dei prodotti (il valore ottimo delle variabili primali) è positivo solamente quando il profitto he si riava dalla vendità di una loro unità è pari a quanto si riaverebbe vendendo le risorse neessarie alla produzione al loro prezzo minimo (ondizione di bilanio eonomio), ovvero quando non esiste un surplus di guadagno nella vendita delle risorse rispetto la produzione dei prodotti. La i-esima surplus nel i-esimo vinolo duale vi = i a i ivi = 0 D-92
Esempio: Il problema della dieta (Diet Problem) Determinare la dieta bilaniata più eonomia. Una dieta è bilaniata se soddisfa un erto livello minimo giornaliero di alorie e di altri elementi nutrizionali (e.g., proteine, alio, ferro, vitamine). In partiolare, avendo la possibilità di aquistare n diversi ibi, determinare la quantità he deve essere aquistata per iasun ibo, minimizzando la spesa omplessiva e soddisfaendo i livelli nutrizionali minimi. i i b ( P) min A b 0 quantità di ibo i-esimo da aquistare osto per unità di ibo i-esimo livello minimo per l elemento nutrizionale -esimo a i quantità di elemento nutrizionale -esimo presente in una unità di ibo i-esimo -esimo vinolo primale a b la quantità omplessiva dell elemento nutrizionale -esima fornita dai ibi aquistati deve essere almeno pari al relativo livello minimo. D-93
Il problema duale del Diet Problem: i b Volendo vendere singolarmente gli m elementi nutrizionali (ad esempio, in pillole) ad aquirenti interessati ad una dieta bilaniata, determinare il massimo prezzo per i singoli elementi in modo he la loro vendità sia ompetitiva rispetto la vendita dei ibi ontenenti tali elementi. ( D) ma b A 0 prezzo massimo a ui vendere il -esimo elemento nutrizionale osto per unità di ibo i-esimo livello minimo per l elemento nutrizionale -esimo a i quantità di elemento nutrizionale -esimo presente in una unità di ibo i-esimo i-esimo vinolo duale a i i il prezzo unitario sintetio del ibo i-esimo, ossia il prezzo della quantità di elementi nutrizionali forniti da una unità di ibo i-esimo, deve non essere superiore al prezzo reale del ibo i-esimo (altrimenti onverrebbe aquistare i ibi piuttosto he le le pillole). D-94
Un esempio ( P) min 1 + 2 1 2 X = 1 + 22 2 1 0 2 0 ( D) ma 2 + 2 Y = 1 2 1 2 1 2 1 2 0 0 1 2 2 / 2 X (2,2) (3/2,1/2) obiettivo primale Y 1 / 1 obiettivo duale Ottimo per (P) 1 =2 2 =2 0 =4 Ottimo per (D) 1 =3/2 2 =1/2 0 =4 D-95
Metodi di soluzione dei problemi lineari Simplesso Primale: determina una sequenza di soluzioni ammissibile per (P) erando di raggiungere l ammissibilità duale (he orrisponde alla ondizione di ottimalità del primale). Simplesso Duale: determina una sequenza di soluzioni ammissibili per (D) erando di raggiungere l ammissibilità primale. Metodo Primale-Duale: determina una sequenza di oppie (, ) di soluzioni ammissibili rispettivamente per (P) e (D) erando di soddisfare le ondizioni di slakness omplementare. Metodi Interni: Algoritmo dell Ellissoide (Khahian, 1979) Algoritmo di Karmakar (1984) D-96
Il Metodo del Simplesso Duale Il metodo si applia quando si può disporre di una soluzione di base non ammissibile per (P) ma i ui moltipliatori del simplesso sono soluzioni ammissibili per (D). ( P) min A = b 0 Sia una base tale he 1 = b 0 = π 1 0 Una soluzione on tali aratteristihe si die dual feasibile (ammissibile per il duale). Questa situazione si può verifiare quando si introdue un nuovo vinolo per (P) senza he questo sia soddisfatto dalla soluzione ottima trovata. L algoritmo del simplesso duale è utile poihè permette di determinare la nuova soluzione utilizzando il tableau primale. L idea di base: erare una nuova soluzione mantenendo verifiate le ondizioni di ottimalità per (P) (he orrispondono alle ondizioni di ammissibilità per (D)) e erando di verifiare le ondizioni di ammissibilità per (P). D-97
Data dual feasible riaviamo una nuova soluzione I vinoli duali verifiati da =π A 1 [ N] [ ] N a = = 1, K, m a < = m + 1, K, n Cerhiano un nuovo valore per in modo da soddisfare all uguaglianza uno dei vinoli per =m+1,...,n e ontemporaneamente migliorare l obiettivo. Si seglie un vinolo duale assoiato ad una var. (di base) primale non ammissibile. Sia i <0 la variabile primale selta, allora $ = ε ( 1) i dove ε>0 e ( -1 ) i è la riga i-esima di -1 La nuova soluzione migliora l obiettivo di (D) ( 1) 0 $ ε( 1) i = b < b = b b > b i i D-98
La nuova soluzione deve rimanere ammissibile per (D) $ A $ a = 1, K, n ma $ a 1 = a ε( ) i a ( -1 ) i a orrisponde al generio elemento i del tableau primale ottimo, in partiolare della matrie [ I -1 N ], e quindi 1 ( ) ia = 0 = 1, K, m; i 1 = 1, K, m; = i i = m + 1, K, n Si possono quindi derivare le ondizioni per ε dai vinoli duali $ a = = 1, K, m; i $ a = ε = 1, K, m; i $ a = a i = m +,, n ε 1 K (le he restano in base) (la i he lasia la base) D-99
I primi m vinoli (=1,...,m; i) erano già soddisfatti. Il vinolo =i è sempre soddisfatto per ε>0; Se i 0 per ogni (la i-esima riga del tableau), allora a ε i ε > 0 la soluzione ottima di (D) è illimitata, quindi (P) non ammette soluzione Se per qualhe =m+1,...,n, i <0, allora si alola il minimo valore di ε κ per ui uno tra tali vinoli (ad esempio, il k-esimo) è soddisfatto ome uguaglianza a ε k = min : i = m+ 1,..., n i < 0 Poihè il k-esimo vinolo duale si annulla, la k-esima var. primale entra nella base al posto della i-esima, he passa da un valore negativo al valore nullo. La nuova base si ottiene sostituendo in la olonna a i on la olonna a k e si itera il proedimento verifiando se la nuova soluzione primale è adesso ammissibile. D-100
L algoritmo del Simplesso Duale 1. Sia data una dual feasible. Se 0 allora la soluzione è ottima (l algoritmo termina). Altrimenti segliere la variabile usente orrispondente ad una omponente i-esima di negativa (ad esempio la più grande in modulo). 2. Se tutti i oeffiienti del tableau i, =m+1,...,n, sono non negativi, allora il problema non ammette soluzione (l algoritmo termina). Altrimenti segliere la variabile entrante k tale he k = a arg min : i = m+ 1,..., n i < 0 3. Effettuare un pivoting (ome per l algoritmo primale) per portare in base k al posto di i D-101
Un esempio Consideriamo anora il problema della produzione dei due tipi di vernii. Supponiamo he una nuova indagine di merato indihi he la massima domanda giornaliera di vernie per esterni non possa superare le 3 tonnellate. Deve essere introdotto un nuovo vinolo di disuguaglianza ed una nuova slak: E 3 E + 5 = 3 Si può verifiare he il nuovo vinolo non è soddisfatto dalla soluzione ottima preedente: 10 E = > 3 3 Introduiamo il nuovo vinolo nel tableau ottimo primale. 0 I E 3 4 5 E I 1 2 3 4 5 0 0 1 3 4 3 0 0 0 38 3 0 1 2 3 1 3 0 0 0 4 3 1 0 1 3 2 3 0 0 0 10 3 0 0 1 1 1 0 0 3 0 0 2 3 1 3 0 1 0 2 3 1 0 0 0 0 0 1 3 Si deve eliminare dalla nuova riga le variabili di base (solo E ) D-102
E ora evidente he la nuova soluzione primale non è ammissibile, mentre è dual feasible. Ammissibilità duale 0 I E 3 4 5 E I 1 2 3 4 5 0 0 1 3 4 3 0 0 0 38 3 0 1 2 3 1 3 0 0 0 4 3 1 0 1 3 2 3 0 0 0 10 3 0 0 1 1 1 0 0 3 0 0 2 3 1 3 0 1 0 2 3 0 0 1 3 2 3 0 0 1 1 3 Non ammissibilità primale La var. 5 ese di base lasiando il posto a 2, dato he 51 =-2/3 è l unio oeffiiente negativo nella riga. Nota. (P) è una massimizzazione, quindi l aggiornamento delle var. duali ed i vinoli da soddisfare sono $ = + ε ( 1) i a + ε i D-103
Il nuovo tableau si ottiene effettuando un pivoting 0 I E 3 4 2 E I 1 2 3 4 5 0 0 1 0 0 0 2 12 0 1 1 2 0 0 0 1 2 3 2 1 0 0 0 0 0 1 3 0 0 1 2 0 1 0 3 2 5 2 0 0 1 2 0 0 1 1 2 1 2 0 0 1 2 1 0 0 3 2 1 2 La nuova soluzione è sia ammissibile per il duale he per il primale, quindi è la soluzione ottima. 3 2 3 5 2 0 = 1 2 1 2 = 1 0 0 0 0 2 D-104