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 e duale vengono introdotti partendo da un problema di ottimizzazione che consente di costruire simultaneamente i due modelli e comprenderne agevolmente il rapporto. A questo scopo si presta il classico problema della dieta che consiste nella determinazione della composizione di un insieme di componenti alimentari che ottimizzi una prefissata funzione obiettivo. Il problema viene presentato sia dal punto di vista di un cliente del mercato, sia da quello di un consulente farmaceutico che propone l acquisto di pillole. Viene presentata quindi la corrispondenza tra modello primale e modello duale, con la relativa trasformazione, e vengono descritti i principali teoremi del modello duale. 7.1 IL PROBLEMA DELLA DIETA Un signore deve seguire una dieta alimentare caratterizzata dalla presenza di 2 tipi di vitamine (A e B), da assumere in quantità almeno pari ad un limite inferiore prefissato dal medico. La dieta prescritta può essere realizzata attraverso pillole, da acquistare presso un venditore di prodotti farmaceutici, oppure attraverso 6 alimenti contenenti in varia misura queste vitamine, disponibili al mercato. I dati del problema sono riportati in tabella 7.1. Le righe si riferiscono alle 2 vitamine necessarie e le colonne si riferiscono ai 6 alimenti disponibili. In ciascun elemento di posto ij è riportato il numero di unità di vitamina i contenute in un kg di alimento j. Nell ultima riga è riportato il costo unitario di ciascun alimento espresso in /Kg. Nell ultima colonna è riportato il numero minimo di unità da assumere per ciascuna vitamina.
174 Capitolo settimo TAB. 7.1 Dati del problema della dieta Alimenti N di unità di vitamine per Kg di alimento Numero minimo di unità di vitamine 1 2 3 4 5 6 da assumere Vitamina A 1 0 2 2 1 2 9 Vitamina B 0 1 3 1 3 2 19 Costo unitario dell alimento 3.5 3 6 5 2.7 2.2 Il consulente farmaceutico propone al signore di acquistare pillole di vitamina A e B invece di acquistare gli alimenti al mercato. Il signore gli risponde che sta sviluppando un modello di ottimizzazione per decidere quali alimenti acquistare per rispettare la dieta al minimo costo. Egli quindi acquisterà le pillole solo se i loro prezzi saranno competitivi con quelli degli alimenti al mercato e quindi in ultima analisi se il loro costo totale risulterà non superiore al costo totale degli alimenti al mercato. Il consulente decide allora di determinare i prezzi delle pillole attraverso un modello di ottimizzazione che massimizzi il suo ricavo rispettando comunque i vincoli posti dalla richiesta del signore. Sia x 1 il prezzo di una unità di vitamina A e x 2 il prezzo di una unità di vitamina B. Poiché a 1j è il numero di unità di vitamina A contenute in 1 Kg di alimento j, a 1j x 1 sarà il costo della vitamina A in 1 Kg di j. Analogamente, poiché a 2j è il numero di unità di vitamina B in 1 Kg di j, a 2j x 2 sarà il costo della vitamina B in 1 Kg di j. La somma delle componenti, a 1j x 1 + a 2j x 2, esprimerà quindi il costo di 1 Kg di alimento j espresso in termini di prezzi delle pillole di vitamine. Per ciascun alimento j il costo unitario al mercato è invece c j. Il consulente si rende conto che il signore acquisterà le pillole solo se a 1j x 1 + a 2j x 2 c j, j, con x 1, x 2 0. Pensa inoltre che se il signore deciderà di rispettare la dieta assumendo le vitamine in pillole, lo farà acquistando esattamente il quantitativo minimo di vitamine necessario. Pertanto il ricavo del venditore, da massimizzare, potrà essere espresso dalla funzione: z = 9x 1 + 19x 2. Il modello del consulente sarà quindi il seguente:
Il modello duale 175 Max z = 9x 1 +19x 2 s.a x 1 3.5 x 2 3 2x 1 + 3x 2 6 2x 1 + x 2 5 x 1 + 3x 2 2.7 2x 1 + 2x 2 2.2 x j 0 j = 1,..,2 La soluzione di questo modello fornirà al consulente i prezzi a cui può vendere le pillole per massimizzare il profitto, nel rispetto dei vincoli del problema. Il signore nel frattempo sta decidendo quali alimenti comprare al mercato, e quanto di ciascuno di essi, per rispettare la dieta al minimo costo. A tal fine ha costruito un modello di programmazione lineare nel quale le variabili decisionali u i sono le quantità dei prodotti da acquistare, la funzione obiettivo esprime la minimizzazione del costo totale ed i vincoli esprimono il rispetto del limite inferiore imposto dal medico in merito alla quantità minima di vitamine A e B da assumere. Il suo modello è dunque il seguente: Min v = 3.5u 1 + 3u 2 + 6u 3 + 5u 4 +2.7u 5 +2.2u 6 u 1 + 2u 3 + 2u 4 + u 5 + 2u 6 9 u 2 + 3u 3 + u 4 + 3u 5 + 2u 6 19 u j 0 j = 1,...,6 La soluzione di questo modello fornirà al signore le quantità di ciascun alimento da acquistare al mercato per assumere il numero di vitamine imposto dalla dieta, sostenendo il costo minimo. Si possono notare subito le corrispondenze tra i due modelli. Le matrici dei coefficienti dei vincoli dei due modelli sono tra loro trasposte. Il vettore dei termini noti del primo modello corrisponde al vettore dei coefficienti della funzione obiettivo del secondo modello, mentre il vettore dei coefficienti della funzione obiettivo del primo modello corrisponde al vettore dei termini noti del secondo modello. I vincoli del primo modello sono del tipo, i vincoli del secondo modello sono del tipo. Il primo modello è a massimizzare, il secondo modello è a minimizzare.
176 Capitolo settimo Il primo modello si definisce modello primale, il secondo modello duale. Lo sviluppo della loro soluzione mette in evidenza ulteriori interessanti corrispondenze tra i due modelli. Le tabelle del simplesso relative al primo modello sono riportate nelle tabelle 7.2a-c. La soluzione finale è espressa dal vettore x 1 = 0.3, x 2 = 0.8 con valore di funzione obiettivo z = 17.9. Quindi per vendere le pillole realizzando il massimo ricavo, i prezzi di vendita delle unità di vitamina A e B devono essere rispettivamente pari a 0.3 ed 0.8. Le tabelle del simplesso relative al secondo modello sono riportate nelle tabelle 7.3a-c, indicando con r 1 e r 2 le variabili slack. La soluzione finale è espressa dal vettore u 5 = 5, u 6 = 2 con valore di funzione obiettivo v = 17.9. Quindi per rispettare la dieta prescritta al minimo costo il signore deve acquisire al mercato 5 kg di alimento 5 e 2 kg di alimento 6. Le due tabelle finali presentano interessanti corrispondenze. Si può notare subito che i due valori ottimi di funzione obiettivo sono uguali. In altri termini, assegnati i prezzi dei prodotti alimentari, il costo totale che il signore sostiene al mercato è pari al ricavo totale del consulente derivante dalla vendita delle pillole di vitamina. Inoltre i termini noti finali del primo modello sono pari ai coefficienti finali delle variabili non basiche del secondo modello. In particolare i prezzi delle vitamine A e B (valori ottimi delle variabili del primo modello) sono pari ai valori dei coefficienti di costo delle variabili slack non basiche dei vincoli del secondo modello, mentre le quantità dei prodotti da acquistare (valori ottimi delle variabili del secondo modello) sono pari (a meno del segno) ai valori dei coefficienti di costo delle variabili slack dei vincoli del primo modello corrispondenti a loro volta alle variabili dei prodotti da acquistare. I valori finali delle variabili del modello duale sono quindi pari ai valori dei coefficienti della f.o. del modello primale relativi alle variabili slack non basiche dei vincoli del primale corrispondenti alle variabili basiche del duale. Le variabili del modello duale sono pari in altri termini al tasso di variazione della f.o. del primale per una variazione unitaria delle variabili slack ad esse corrispondenti. Poiché si può dire che la variazione di valore di una variabile slack corrisponde ad una variazione di valore del termine noto, si può affermare che il valore ottimo di una variabile duale rappresenta il valore di una risorsa e- spressa in termini di variazione del valore di f.o. del modello primale. Pertanto se una variazione di termine noto (di risorsa) determina una variazione di valore della funzione obiettivo allora quella risorsa ha valore e questo valore è pari alla variazione di valore indotta nella f.o..
Il modello duale 177 TAB. 7.2a,b,c Soluzione del problema primale (a) x 1 x 2 y 1 y 2 y 3 y 4 y 5 y 6 z b y 1 1 0 1 0 0 0 0 0 0 3.5 y 2 0 1 0 1 0 0 0 0 0 3 y 3 2 3 0 0 1 0 0 0 0 6 y 4 2 1 0 0 0 1 0 0 0 5 y 5 1 3 0 0 0 0 1 0 0 2.7 y 6 2 2 0 0 0 0 0 1 0 2.2 z 9 19 0 0 0 0 0 0 1 0 Variabile entrante x 2 Variabile uscente y 5 (b) x 1 x 2 y 1 y 2 y 3 y 4 y 5 y 6 z b y 1 1 0 1 0 0 0 0 0 0 3.5 y 2.33 0 0 1 0 0.33 0 0 2.1 y 3 1 0 0 0 1 0 1 0 0 3.3 y 4 1.67 0 0 0 0 1.33 0 0 4.1 x 2.33 1 0 0 0 0.33 0 0 0.9 y 6 1.33 0 0 0 0 0.67 1 0 0.4 z 2.67 0 0 0 0 0 6.3 0 1 17.1 Variabile entrante x 1 Variabile uscente y 6 (c) x 1 x 2 y 1 y 2 y 3 y 4 y 5 y 6 z b y 1 0 0 1 0 0 0.5.75 0 3.2 y 2 0 0 0 1 0 0.5.25 0 2.2 y 3 0 0 0 0 1 0.5.75 0 3 y 4 0 0 0 0 0 1.5 1.25 0 3 x 2 0 1 0 0 0 0.5.25 0 0.8 x 1 1 0 0 0 0 0.5.75 0 0.3 z 0 0 0 0 0 0 5 2 1 17.9 Geometricamente ciò corrisponde al fatto che la variazione di termine noto modifica la posizione di un vincolo che partecipa alla formazione del vertice ottimo.
178 Capitolo settimo Se invece una variazione di termine noto (di risorsa) non determina alcuna variazione di valore della funzione obiettivo allora quella risorsa non ha valore. Geometricamente ciò corrisponde al fatto che la variazione di termine noto modifica la posizione di un vincolo che non partecipa alla formazione del vertice ottimo. Il rapporto primale duale, introdotto con l ausilio di un semplice esempio, può essere definito in termini formali. Nei paragrafi seguenti si descrive la trasformazione primale - duale e si introducono i principali teoremi della teoria della dualità. TAB. 7.3a,b,c Soluzione del problema duale (a) u 1 u 2 u 3 u 4 u 5 u 6 r 1 r 2 h 1 h 2 v w b h 1 1 0 2 2 1 2 1 0 1 0 0 0 9 h 2 0 1 3 1 3 2 0 1 0 1 0 0 19 v 3.5 3 6 5 2.7 2.2 0 0 0 0 1 0 0 w 1 1 5 3 4 4 1 1 0 0 0 1 28 (b) u 1 u 2 u 3 u 4 u 5 u 6 r 1 r 2 h 1 h 2 v w b u 6.5 0 1 1.5 1.5 0.5 0 0 0 4.5 h 2 1 1 1 1 2 0 1 1 1 1 0 0 10 v 2.4 3 3.8 2.8 1.6 0 1.1 0 1.1 0 1 0 9.9 w 1 1 1 1 2 0 1 1 2 0 0 1 10 (c) u 1 u 2 u 3 u 4 u 5 u 6 r 1 r 2 h 1 h 2 v w b u 5.5.5.5.5 1 0.5.5.5.5 0 0 5 u 6.75.25.25 1.25 0 1.75.25.75.25 0 0 2 v 3.2 2.2 3 3.6 0 0 0.3 0.8 0.3 0.8 1 0 179 w 0 0 0 0 0 0 0 0 2 1 0 1 0
Il modello duale 179 7.2 TRASFORMAZIONE PRIMALE - DUALE IN FORMA STANDARD Si consideri il seguente modello con m vincoli ed n variabili in cui con c T si indica il vettore riga dei coefficienti della funzione obiettivo: Max s.a z = c T x Ax b x 0 Questo modello può essere definito modello primale in forma standard. Si definisce modello duale (in forma standard) del modello precedente il seguente modello con n vincoli ed m variabili: Min s.a v = b T u A T u c u 0 Nel modello duale la matrice A T dei tassi di assorbimento è la trasposta della matrice A del primale. Il vettore c dei termini noti è il vettore (trasposto) dei coefficienti della funzione obiettivo del primale. Il vettore b T dei coefficienti della funzione obiettivo è il vettore (trasposto) dei termini noti del primale. Ciascuna variabile u i del vettore u corrisponde ad un vincolo i del primale e ciascun vincolo j del duale corrisponde ad una variabile x j del vettore x del primale. La trasformazione descritta si definisce trasformazione primale-duale in forma standard. E possibile effettuare la trasformazione primale-duale a partire da un modello primale non in forma standard, come descritto nel paragrafo seguente con l ausilio di un esempio numerico. 7.3 TRASFORMAZIONE PRIMALE - DUALE NON IN FORMA STANDARD Si può costruire una tabella di corrispondenza che associa a ciascun vincolo del primale una variabile del duale ed a ciascuna variabile del primale un vincolo del duale. Questa tabella può essere costruita con una procedura di trasformazione. Il modello primale assegnato, di dimensioni mxn, deve essere messo in forma standard, cioè con funzione obiettivo a massimizzare, vincoli di e variabili non negative (x 0).
180 Capitolo settimo Pertanto, se la funzione obiettivo è a massimizzare resta inalterata, se è a minimizzare viene trasformata in una funzione obiettivo a massimizzare cambiando segno ai termini della funzione. I vincoli di restano inalterati, i vincoli di vengono trasformati in vincoli di cambiando segno ai termini della disequazione ed i vincoli di = vengono sdoppiati in due vincoli, uno di ed un altro di. Il primo resta inalterato ed il secondo viene trasformato in un vincolo di. In questo modo il modello primale presenta tutti vincoli di. Per quel che riguarda le variabili, quelle non negative restano inalterate. Per ciascuna variabile x j non positiva si definisce una nuova variabile non negativa x j ' = x j. Per ciascuna variabile x k non ristretta nel segno (n.r.s.) si definiscono due nuove variabili non negative x k ' e x k '' (x k = x k ' x k ''). In questo modo il modello primale presenta tutte variabili non negative. Con queste trasformazioni il modello primale è in forma standard (f.o. z a massimizzare, vincoli e variabili x j non negative) e si può quindi operare la trasformazione già definita in un modello duale con f.o. v a minimizzare, vincoli e variabili u i non negative. Questo modello può presentare però un numero di vincoli maggiore di n ed un numero di variabili maggiore di m. In questo caso deve essere riportato alle dimensioni nxm, coerenti con le dimensioni mxn del modello primale originario. A tale scopo si devono operare trasformazioni volte ad accorpare righe (vincoli) e colonne (variabili). In questo modo si genera un modello duale coerente con il primale. Si consideri come esempio il seguente problema di programmazione lineare, assunto come primale: Max z = x 1 x 2 x 3 s.a x 1 3x 2 + 4x 3 = 5 x 1 2x 2 3 2x 2 x 3 4 x 1 0, x 2 0, x 3 n.r.s. Si effettuano preliminarmente i seguenti cambiamenti di variabili: x 1 = x 1 ' (x 1 ' 0) x 3 = x 3 ' x 3 '' (x 3 ', x 3 '' 0)
Il modello duale 181 Si sostituisce il vincolo di eguaglianza con i seguenti due vincoli ad esso equivalenti: x 1 3x 2 + 4x 3 5 x 1 3x 2 + 4x 3 5 Si ottiene pertanto: Max z = x 1 ' x 2 x 3 ' + x 3 '' s.a x 1 ' 3x 2 + 4x 3 ' 4x 3 '' 5 x 1 ' 3x 2 + 4x 3 ' 4x 3 '' 5 x 1 ' 2x 2 3 2x 2 x 3 ' + x 3 '' 4 x 1 ', x 2, x 3 ', x 3 '' 0 Cambiando il segno al primo ed al secondo membro della prima e della quarta relazione si ottiene: Max z = x 1 ' x 2 x 3 ' + x 3 '' s.a x 1 ' + 3x 2 4x 3 ' + 4x 3 '' 5 x 1 ' 3x 2 + 4x 3 ' 4x 3 '' 5 x 1 ' 2x 2 3 2x 2 + x 3 ' x 3 '' 4 x 1 ', x 2, x 3 ', x 3 '' 0 Questo modello primale è in forma standard e quindi il modello duale in forma standard risulta essere: Min v = 5u 1 + 5u 2 + 3u 3 4u 4 s.a u 1 u 2 u 3 1 3u 1 3u 2 2u 3 2u 4 1 4u 1 + 4u 2 + u 4 1 4u 1 4u 2 u 4 1 u 1, u 2, u 3, u 4 0 Questo modello duale presenta 4 vincoli e 4 variabili e quindi deve essere trasformato, per essere messo in una forma duale coerente con il modello primale assegnato, che aveva 3 vincoli e 3 variabili.
182 Capitolo settimo Si può notare che i coefficienti delle variabili u 1 e u 2 in tutte le disequazioni differiscono solo per il segno e dunque, ponendo: u 2 u 1 = u 12, u 12 essendo una variabile non ristretta nel segno, il modello duale si può riscrivere: Min v = 5u 12 + 3u 3 4u 4 s.a u 12 u 3 1 3u 12 2u 3 2u 4 1 4u 12 + u 4 1 4u 12 u 4 1 u 12 n.r.s.; u 3, u 4 0 Si noti inoltre che coefficienti e termini noti della terza e della quarta disequazione differiscono solo nel segno. Cambiando il verso della quarta disequazione esse equivalgono all equazione: 4u 12 + u 4 = 1. Pertanto: Min v = 5u 12 + 3u 3 4u 4 s.a u 12 u 3 1 3u 12 2u 3 2u 4 1 4u 12 + u 4 = 1 u 12 n.r.s.; u 3, u 4 0 Invertendo il senso della prima disequazione ed introducendo la variabile u 4 '= u 4, non positiva, si ottiene il modello duale conclusivo: Min v = 5u 12 + 3u 3 + 4u 4 ' s.a u 12 + u 3 1 3u 12 2u 3 + 2u 4 ' 1 4u 12 u 4 ' = 1 u 12 n.r.s.; u 3 0, u 4 ' 0 Sulla scorta di questi risultati è possibile costruire una tabella di corrispondenze, che lega i vincoli di un problema primale a massimizzare con le variabili di un problema duale a minimizzare ed inoltre lega le variabili del problema primale con i vincoli del duale. Queste corrispondenze, riportate in tabella 7.4a,b, consentono di passare da un problema primale, che non sia in forma standard, al problema duale ad esso associato.
TAB. 7.4a,b Corrispondenze Primale (max) Duale (min) Il modello duale 183 (a) (b) Primale Funzione obiettivo z max Vincoli i = Variabili x j x j 0 x j n.r.s. x j 0 matrice A vettore termini noti b vettore coefficienti f.o. c T Duale Funzione obiettivo v min Variabili u i u i 0 u i n.r.s. u i 0 Vincoli j = matrice A T vettore coefficienti f.o. b T vettore termini noti c x 1 x 2 x 3 0 n.r.s. 0 b a 11 a 12 a 13 b 1 A a 21 a 22 a 23 = b 2 a 31 a 32 a 33 b 3 c 1 c 2 c 3 c T PRIMALE z max u 1 u 2 u 3 0 n.r.s. 0 c a 11 a 21 a 31 c 1 A T a 12 a 22 a 32 = c 2 a 13 a 23 a 33 c 3 b 1 b 2 b 3 b T DUALE v min
184 Capitolo settimo 7.4 TEOREMI DEL DUALE Nel seguito vengono introdotti i principali teoremi della teoria della dualità. Teorema: Il duale del duale è il primale Con semplici operazioni di tipo algebrico il modello duale: Min s.a v = b T u A T u c u 0 può essere espresso nella forma standard del primale: Max s.a v' = b T u A T u c u 0 Utilizzando la definizione data di modello duale si potrà dunque scrivere il modello duale del modello primale così ottenuto: Min s.a v'' = c T x Ax b x 0 Questo modello può essere facilmente trasformato nella forma corrispondente a quella del primale originario: Max s.a z = c T x Ax b x 0 Teorema del duale in forma debole E possibile dimostrare che, assegnata una coppia di problemi l uno duale dell altro, un qualunque valore di funzione obiettivo v del modello duale è sempre non minore di un qualunque valore di funzione obiettivo z del modello primale (v z). Con la simbologia già introdotta ed indicando con I m e I n rispettivamente le matrici identità di ordine m ed n e con r il vettore delle variabili slack del duale, i sistemi di vincoli del primale e del duale possono essere scritti nella forma:
Il modello duale 185 Ax + I m y = b, A T u I n r = c Si premoltiplichi la prima relazione per u T e la seconda per x T ottenendo rispettivamente: u T Ax + u T I m y = u T b, x T A T u x T I n r = x T c Si noti che nella prima relazione u T b = b T u = v e nella seconda relazione x T c = c T x = z. Inoltre è u T Ax = x T A T u. Pertanto, sottraendo membro a membro le due relazioni si ottiene: u T I m y + x T I n r = v z, e dunque v z = u T y + x T r. Poiché le variabili dei due modelli sono non negative (u 0, y 0, x 0, r 0), si potrà scrivere: v z = u T y + x T r 0 e quindi v z. Teorema del duale in forma forte E possibile dimostrare che, assegnata una coppia di problemi l uno duale dell altro, il valore ottimo di funzione obiettivo z del primale è uguale al valore di funzione obiettivo v del duale (z = v ). Si consideri il vettore c T dei coefficienti della funzione obiettivo del primale, costituito dalle componenti relative alle variabili non basiche e basiche: c T = [c nb T c b T ]. Poiché stiamo considerando un modello primale a massimizzare, all ottimo devono valere le seguenti condizioni, relative ai vettori dei coefficienti delle variabili rispettivamente non basiche e basiche: c nb T = c nbt c b T B -1 NB 0 c b T = c b T c b T B -1 B = 0 Queste condizioni possono scriversi in forma aggregata come: c T = c T c T b (B ) -1 A 0 Si ponga c T b (B ) -1 = π T (vettore dei moltiplicatori del Simplesso). Si potrà scrivere pertanto c T π T A 0, cioè π T A c T e quindi A T π c. Ricordando l espressione dei vincoli del duale (A T u c) si può affermare che il vettore π è soluzione del modello duale. Si consideri ora l espressione π = c T b (B ) -1, e si postmoltiplichino entrambi i membri per il vettore b, ottenendo: π T b = c T b (B ) -1 b.
186 Capitolo settimo Poiché (B ) -1 b = x b sarà π T b = c T b x b, cioè b T π = c T b x b. Poiché si è visto che il vettore π è soluzione del modello duale, ricordando l espressione della funzione obiettivo del duale (v = b T u), b T π rappresenta un valore v 0 della f.o. v del duale. D altro canto il termine c T b x b rappresenta il valore ottimo z della funzione obiettivo del primale. Si potrà quindi scrivere che v 0 = z, cioè che un valore di funzione obiettivo del duale è pari al valore di funzione obiettivo del primale all ottimo. Questo valore v 0 non può che essere il valore v all ottimo del duale. Se così non fosse esisterebbe un altro valore v ^ di funzione obiettivo del duale migliore di v 0, cioè tale che v ^ < v 0. Si avrebbe allora v ^ < z, ma ciò non è possibile perché deve verificarsi v ^ z (teorema del duale in forma debole). Quindi deve essere v 0 = v e di conseguenza v = z. Il vettore π T = c T b (B ) -1, presente nell ultima tabella del simplesso del primale, è quindi soluzione ottima del modello duale. Teorema dello scarto complementare E possibile dimostrare che, assegnata una coppia di problemi l uno duale dell altro, vale all ottimo la seguente relazione, detta dello scarto complementare, tra le variabili del modello primale e del modello duale: u i y i = 0 ( i = 1, m) x j r j = 0 ( j = 1, n) Infatti si è già dimostrato che: v z = u T y + x T r (teorema in forma debole) v = z (teorema in forma forte) Dunque all ottimo v z = u T y + x T r = 0. Poiché u 0, y 0, x 0, r 0, si potrà scrivere: u T y = 0, x T r = 0 e quindi: u i y i = 0 ( i = 1, m), x j r j = 0 ( j = 1, n) Sulla scorta di questo risultato si può affermare che: y i = 0 u i 0, y i > 0 u i = 0 ( i = 1, m) x j = 0 r j 0, x j > 0 r j = 0 ( j = 1, n)
Il modello duale 187 Il teorema dello scarto complementare si presta a illustrare il significato delle variabili duali come valore delle risorse. Infatti, se y i = 0, il vincolo i è soddisfatto con il segno di = e quindi la risorsa corrispondente al vincolo i è completamente utilizzata. In questo caso una variazione (positiva o negativa) nel valore della risorsa disponibile (cioè di b i ) determina una variazione (positiva o negativa) del valore di funzione obiettivo. Questa variazione è espressa dal valore u i della variabile duale. Se invece y i > 0, il vincolo i è soddisfatto con il segno di disuguaglianza e quindi la risorsa corrispondente al vincolo non è utilizzata completamente. In questo caso una variazione (positiva o negativa) nel valore della risorsa disponibile (cioè di b i ) non determina una variazione (positiva o negativa) del valore di funzione obiettivo. Si può affermare quindi che la variabile duale u i ha il significato di valore della risorsa i espresso in termini di variazione del valore di f.o.. 7.5 ESEMPIO NUMERICO A scopo esemplificativo si consideri il seguente problema primale ed il relativo problema duale: Max z = 3x 1 + 4x 2 + 5x 3 + x 4 s.a 2x 1 + x 2 + 2x 3 + x 4 10 3x 2 + 4x 3 11 4x 1 + 2x 2 + x 3 + 2x 4 13 x 1 + x 2 + x 3 + x 4 2 x 1, x 2, x 3, x 4 0 Min v = 10u 1 + 11u 2 + 13u 3 + 2u 4 2u 1 + 4u 3 + u 4 3 u 1 + 3u 2 + 2u 3 + u 4 4 2u 1 + 4u 2 + u 3 + u 4 5 u 1 + 2u 3 + u 4 1 u 1, u 2, u 3 0 u 4 0 Per determinare la soluzione ottima dei due problemi sono necessarie rispettivamente 5 e 3 iterazioni dell algoritmo del Simplesso. Le soluzioni del primale hanno valore z 1 = 6, z 2 =10, z 3 = 13.75, z 4 = 20.5, z 5 = 21.06 (soluzione ottima).
188 Capitolo settimo Le soluzioni del duale hanno valore v 1 = 65, v 2 =21.44, v 3 = 21.06 (soluzione ottima). Si può verificare (Fig. 7.1) che è sempre v z (Teorema del duale in forma debole) e all ottimo v = z (Teorema del duale in forma forte). La soluzione basica ammissibile ottima del primale è: x 1 = 2.39, x 2 = 0.56, x 3 = 2.33, y 4 = 3.3, x 4 = 0, y 1 = 0, y 2 = 0, y 3 = 0. La soluzione basica ammissibile ottima del duale è: u 1 = 0.61, u 2 = 0.83, u 3 = 0.44, r 4 = 0.5, u 4 = 0, r 1 = 0, r 2 = 0, r 3 = 0. Si può verificare che x j r j = 0, j = 1,, 4, ed inoltre u i y i = 0, i = 1,, 4 (Teorema dello scarto complementare). FIG. 7.1 Andamento dei valori di v e z nelle iterazioni dell algoritmo del Simplesso v, z 60 50 v 40 30 21.06 20 v = z = 21.06 10 z 0 1 2 3 4 5 Iterazioni dell algoritmo del Simplesso