Dualità
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
In forma scalare
Primale:
max Pn
j=1 cjxj Pn
j=1 aijxj = bi i = 1, . . . , m xj ≥ 0 j = 1, . . . , n Duale
min Pm
i=1 uibi Pm
i=1 uiaij ≥ cj j = 1, . . . , n
Variabili-vincoli
Esiste una stretta relazione tra
variabili del primale e vincoli del duale;
vincoli del primale e variabili del duale.
Continua
In particolare:
nel primale ci sono n variabili esattamente come nel duale vi sono n vincoli;
i coefficienti del j-esimo vincolo del duale coincidono con i coefficienti della variabile xj nei vincoli del primale il termine noto del j-esimo vincolo del duale coincide con il coefficiente di xj nell’obiettivo del primale.
Continua
Nel primale vi sono m vincoli esattamente come nel duale vi sono m variabili;
i coefficienti dell’i-esima variabile ui del duale
coincidono con i coefficienti dell’i-esimo vincolo del primale;
il coefficiente di ui nell’obiettivo del duale coincide con il termine noto dell’i-esimo vincolo del primale.
Esempio
Primale: max x1 + x2
3x1 + 2x2 + x3 = 5 ↔ u1 4x1 + 5x2 + x4 = 4 ↔ u2 x2 + x5 = 2 ↔ u3 x1, x2, x3, x4, x5 ≥ 0
Duale: min 5u1 + 4u2 + 2u3
3u1 + 4u2≥1 ↔ x1
2u1 + 5u2 + u3≥1 ↔ x2
u1≥0 ↔ x3 u2≥0 ↔ x4 u3≥0 ↔ x5
Relazioni primale-duale
Indichiamo con
Da = {u ∈ Rm : uA ≥ c}
la regione ammissibile del problema duale e con Dott = {u∗ ∈ Da : u∗b ≤ ub ∀ u ∈ Da}
l’insieme delle sue soluzioni ottime.
Le soluzioni dei due problemi primale e duale sono fortemente legate tra loro
Continua
OsservazionePer ogni x0 ∈ Sa e per ogni u0 ∈ Da si ha che cx0 ≤ u0b.
x0 ∈ Sa ⇒ Ax0 = b ⇒ u0b = u0Ax0 = (u0A)x0 x0 ∈ Sa ⇒ x0 ≥ 0
u0 ∈ Da ⇒ u0A ≥ c ⇒
|{z}
x0≥0
(u0A)x0 ≥ cx0
Continua
OsservazioneSe x∗ ∈ Sa e u∗ ∈ Da ed inoltre cx∗ = u∗b
allora x∗ ∈ Sott e u∗ ∈ Dott.
Dall’osservazione precedente si ha che
∀ x ∈ Sa cx ≤ u∗b. Ma essendo cx∗ = u∗b si ha anche
∀ x ∈ Sa cx ≤ cx∗ e quindi x∗ ∈ Sott.
Continua
OsservazioneSe uno dei due problemi ha obiettivo illimitato, allora l’altro ha regione ammissibile vuota.
obiettivo primale illimitato ⇒ Da = ∅
Per assurdo sia Da 6= ∅ e sia u0 ∈ Da. In base alla prima osservazione si ha:
∀ x ∈ Sa cx ≤ u0b
e quindi l’obiettivo del primale è limitato dal valore u0b, il che contraddice l’illimitatezza di tale obiettivo.
Continua
Problema primale
↓
Problema duale
↓
Problema duale del duale≡ Problema primale
Osservazione: Il duale del problema duale coincide con il problema primale.
Dimostrazione
Trasformiamo il duale in forma standard:
− max −(u′ − u′′)b
−(u′ − u′′)A + Iy = −c u′,u′′,y ≥ 0
Il duale di questo problema risulta essere:
− min −cz
−Az ≥ −b Az ≥ b
z ≥ 0
che risulta equivalente al problema primale:
max cz Az = b
z ≥ 0
Simmetria
Questa osservazione ci mostra la totale simmetria esistente tra problema primale e duale.
Si noti in particolare che si è dimostrata un’implicazione del tipo:
Il primale ha la proprietà P ⇒ il duale ha la proprietà P′ si è automaticamente dimostrato anche che
Il duale ha la proprietà P ⇒ il duale del duale ha la proprietà P′ o, equivalentemente
Il duale ha la proprietà P ⇒ il primale ha la proprietà P′
Esempio di simmetria
Abbiamo dimostrato che se il primale ha la proprietà P ≡ obiettivo illimitato, allora il duale ha la proprietà P′ ≡
regione ammissibile vuota.
Con questo abbiamo anche automaticamente dimostrato che se il duale ha la proprietà P ≡ obiettivo illimitato, allora il primale ha la proprietà P′ ≡ regione ammissibile vuota.
Soluzioni di base per il duale
Base B → soluzione di base del primale:
xB = A−1B b xN = 0.
Base B → soluzione di base del duale:
uB = cBA−1
B .
Appartenenza a Da
Quando questa soluzione di base del duale è ammissibile per il duale? Deve soddisfare i vincoli:
uBA ≥ c o, equivalentemente:
uBAB ≥ cB uBAN ≥ cN
Continua
uBAB = cBA−1
B AB = cB,
uBAN = cBA−1
B AN, Vincoli soddisfatti se:
cN − cBA−1
B AN ≤ 0
ovvero: ammissibile se tutti i coefficienti di costo ridotto sono non positivi.
Valore obiettivo
In particolare se
cN − cBA−1
B AN < 0
soluzione di base del duale uB ammissibile detta non degenere, altrimenti verrà detta degenere.
cBxB = cBA−1
B b = uBb,
ovvero: le due soluzioni di base rispettivamente del primale e del duale associate alla base B hanno lo stesso valore dell’obiettivo
Quindi ...
... in base a un’osservazione precedente, se entrambe sono ammissibili per i rispettivi problemi, sono anche soluzioni ottime degli stessi problemi.
I teorema della dualità
Teorema Uno dei due problemi ha soluzioni ottime se e solo se anche l’altro ha soluzioni ottime. Formalmente, Sott 6= ∅ se e solo se Dott 6= ∅. Inoltre, i valori ottimi dei due problemi coincidono.
Sott 6= ∅ ⇒ Dott 6= ∅
Sia Sott 6= ∅ e sia B∗ una base ottima per il problema primale. Quindi:
xB∗ = A−1B∗b xN∗ = 0,
è ammissibile per il primale ed inoltre soddisfa la condizione di ottimalità:
cN∗ − cB∗A−1B∗AN∗ ≤ 0.
Continua
Ma allora uB∗ = cB∗A−1
B∗ è ammissibile per il duale.
Le due soluzioni di base del primale e del duale associate a B∗ hanno lo stesso valore dell’obiettivo ed essendo
ammissibili rispettivamente per il primale e per il duale sono soluzioni ottime dei rispettivi problemi.
Dott 6= ∅ ⇒ Sott 6= ∅
conseguenza immediata della proprietà di simmetria tra primale e duale.
Relazioni primale-duale
Sott 6= ∅ ⇔ Dott 6= ∅ e i valori ottimi coincidono.
Se Sott = ∅ in quanto l’obiettivo primale è illimitato, allora Da = ∅. Per la simmetria tra primale e duale, se Dott = ∅ in quanto l’obiettivo duale è illimitato, allora Sa = ∅.
Se Sa = ∅, allora Da = ∅ oppure l’obiettivo duale è illimitato. Per la simmetria tra primale e duale, se Da = ∅, allora Sa = ∅ oppure l’obiettivo primale è illimitato.
Esempio
Primale (Sa = ∅)
max 2x1 − x2 x1 − x2 = 1
−x1 + x2 = −2 x1, x2 ≥ 0 Duale (Da = ∅):
min u1 − 2u2 u1 − u2 ≥ 2
−u1 + u2 ≥ −1
II teorema della dualità
Teorema Si ha che x∗ ∈ Sott e u∗ ∈ Dott se e solo se x∗ e u∗ appartengono rispettivamente a Sa e Da e soddisfano le condizioni di complementarità, cioè
(u∗A − c)x∗ = 0.
o, in forma scalare:
Xn
j=1
Xm
i=1
u∗i aij − cj
!
x∗j = 0.
Dimostrazione
(u∗A− c)x∗ = 0 u∗ ∈ Da, x∗ ∈ Sa ⇒ x∗ ∈ Sott, u∗ ∈ Dott
(u∗A − c)x∗ = 0 ⇒ u∗Ax∗ = cx∗.
x∗ ∈ Sa ⇒ Ax∗ = b Quindi:
u∗b = u∗Ax∗ = cx∗ ⇒ x∗ ∈ Sott, u∗ ∈ Dott
Continua
x∗ ∈ Sott, u∗ ∈ Dott ⇒ (u∗A − c)x∗ = 0 Per il I teorema della dualità:
u∗b = cx∗.
x∗ ∈ Sott ⇒ x∗ ∈ Sa ⇒ Ax∗ = b Quindi:
u∗b = u∗Ax∗ = cx∗ ⇒ u∗Ax∗−cx∗ = 0 ⇒ (u∗A−c)x∗ = 0
Continua
(u∗A − c)x∗ = 0 In forma scalare:
Xn
j=1
Xm
i=1
u∗i aij − cj
!
x∗j = 0.
u∗ ∈ Da e x∗ ∈ Sa implicano:
Xm
i=1
u∗i aij − cj ≥ 0, x∗j ≥ 0 ∀ j = 1, . . . , n.
e quindi:
m !
Continua
Quindi:
Xn
j=1
Xm
i=1
u∗i aij − cj
!
x∗j = 0.
se e solo se:
Xm
i=1
u∗i aij − cj
!
x∗j = 0 ∀ j = 1, . . . , n.
Di conseguenza ...
x∗j > 0 ⇒
Xm
i=1
u∗i aij − cj = 0,
Xm
i=1
u∗iaij − cj > 0 ⇒ x∗j = 0,
Esempio
max x1 − x2
x1 + 2x2 + x3 = 6 2x1 + x2 + x4 = 4 x1, x2, x3, x4 ≥ 0.
Il simplesso duale
Nel simplesso primale si genera una successione di basi ammissibili per il primale ma non per il duale fino a
raggiungere una base che sia anche ammissibile per il
duale (a patto che una tale base esista , a patto cioè che il primale ammetta soluzioni ottime e non abbia obiettivo
illimitato).
Nel simplesso duale si genera una successione di basi ammissibili per il duale ma non per il primale fino a
raggiungere una base che sia anche ammissibile per il
primale (a patto che una tale base esista , a patto cioè che il duale ammetta soluzioni ottime e non abbia obiettivo
illimitato).
Continua
Riformulazione del problema primale rispetto alla base B = {xi1, . . . , xik, . . . , xim} ammissibile per il duale:
max γ0 + Pn−m
j=1 γjxim+j xi1 = β1 + Pn−m
j=1 α1jxim+j
· · · xik = βk + Pn−m
j=1 αkjxim+j (1)
· · ·
xim = βm + Pn−m
j=1 αmjxim+j x1, . . . , xn ≥ 0
Ammissibilità per la soluzione di base del duale:
γj ≤ 0 j = 1, . . . , n − m.
Verifica di ottimalità
Se
A−1
B b ≥ 0, o, equivalentemente:
βi ≥ 0 i = 1, . . . , m
allora la base B è ottima, la soluzione di base del primale xB = A−1B b xN = 0
è ottima per il primale, mentre la soluzione di base uB = cBA−1
B
Verifica di illimitatezza del duale
Se esiste un r ∈ {1, . . . , m} tale che
βr < 0 αrj ≤ 0 j = 1, . . . , n − m, allora si ha Sa = ∅. Infatti, dall’equazione:
xir = βr
|{z}
<0
+
n−mX
j=1
αrj
|{z}
≤0
xim+j
| {z }
≥0
< 0,
ovvero:
xim+j ≥ 0, j = 1, . . . , n − m ⇒ xir < 0 ⇒ Sa = ∅
Quindi ...
... il duale ha obiettivo illimitato (Da = ∅ non si può verificare qui in quanto la soluzione di base del duale associata a B è per ipotesi ammissibile e quindi Da non può essere vuoto).
Cambio di base
Se le condizioni di ottimalità e illimitatezza non sono
soddisfatte, si effettua un cambio di base tenendo conto che si vuole:
mantenere l’ammissibilità duale;
migliorare (ridurre) o quantomeno non peggiorare il valore dell’obiettivo duale.
Scelta della variabile uscente dalla base
Seleziona la variabile xik tale che
βk = min{βi} < 0
(per convenzione quella con indice più piccolo se il minimo è raggiunto da più variabili).
Scelta della variabile entrante in base
Scelta solo tra quelle con αkj > 0.
In particolare: si sceglie la variabile xim+h tale che
− γh
αkh = min
− γj
αkj : αkj > 0
.
(nel caso il minimo sia raggiunto da più variabili si sceglie, per convenzione, quella con indice più piccolo).
L’algoritmo del simplesso duale
Inizializzazione Sia B0 una base ammissibile per il duale e k = 0.
Passo 1- verifica ottimalit `a Se soddisfatta la condizione di ottimalità: STOP . La soluzione di base associata a Bk è una soluzione ottima del problema. Altrimenti si vada al Passo 2.
Passo 2 - verifica di illimitatezza Se è soddisfatta la
condizione di illimitatezza, allora: STOP, si ha Sa = ∅ e Dott = ∅ in quanto il duale ha obiettivo illimitato.
Altrimenti si vada al Passo 3.
Passo 3 - scelta variabile uscente dalla base Si selezioni la variabile xik che dovrà uscire dalla base attraverso la regola vista.
Simplesso duale
Passo 4 - scelta variabile entrante in base Si selezioni la variabile xim+h che dovrà entrare in base attraverso la regola vista.
Passo 5 - operazione di cardine Si generi la nuova base Bk+1 sostituendo in Bk la variabile xik con la variabile xim+h e si esegua la corrispondente operazione di
cardine. Quindi, si ponga k = k + 1 e si ritorni al Passo 1.
Miglioramento dell’obiettivo
Il nuovo valore dell’obiettivo, esso è pari a:
γ0 − γh
|{z}
≤0
<0
z}|{βk αkh
|{z}>0
≤ γ0,
e quindi il valore dell’obiettivo per la nuova soluzione di base è migliore o quantomeno non peggiore rispetto alla precedente.
Se γh < 0 (cosa certamente vera nel caso non degenere) possiamo anche garantire che il nuovo valore dell’obiettivo sia strettamente minore rispetto al precedente.
Duale di un problema di PL generico
Come per i problemi in forma standard, vi sarà una stretta relazione tra le variabili di un problema ed i vincoli dell’altro.
Più precisamente avremo, come per la forma standard, che:
nel primale ci sono n variabili esattamente come nel duale vi sono n vincoli;
i coefficienti del j-esimo vincolo del duale coincidono
con i coefficienti della variabile xj nei vincoli del primale;
il termine noto del j-esimo vincolo del duale coincide con il coefficiente di xj nell’obiettivo del primale.
Continua
nel primale vi sono m vincoli esattamente come nel duale vi sono m variabili;
i coefficienti dell’i-esima variabile ui del duale
coincidono con i coefficienti dell’i-esimo vincolo del primale;
il coefficiente di ui nell’obiettivo del duale coincide con il termine noto dell’i-esimo vincolo del primale.
La tabella
Rispetto alla forma standard quello che può cambiare sono i versi delle disequazioni ed i segni delle variabili. Per
stabilire questi ci si può rifare allo specchietto nella seguente tabella.
min max
variabile ≥ 0 vincolo ≤ variabile ≤ 0 vincolo ≥ variabile libera vincolo =
vincolo ≥ variabile ≥ 0 vincolo ≤ variabile ≤ 0 vincolo = variabile libera
Esempio
min x1 + 2x2 + 3x3
x1 + x2 − x3 ≤ 1 ↔ u1 x1 − 2x2 + x3 ≥ 2 ↔ u2 x1 − x2 − x3 = 4 ↔ u3 x1 ≥ 0, x2 ≤ 0, x3 libera
max u1 + 2u2 + 4u3
u1 + u2 + u3≤1 ↔ x1
u1 − 2u2 − u3≥2 ↔ x2
−u1 + u2 − u3=3 ↔ x3 u ≤ 0, u ≥ 0, u libera
Continua
Le relazioni tra primale e duale (osservazioni varie, I e II teorema della dualità, simmetria tra i due problemi)
possono essere estesi anche a problemi di PL in forma più generale e ai loro duali.