Dualitá
Dualit ´a – p. 1/44
Dualitá
Problema di PL in forma standard max cx
Ax = b x ≥ 0 Chiamato problema primale.
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
Dualit ´a – p. 2/44
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;
Dualit ´a – p. 4/44
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;
Dualit ´a – p. 5/44
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
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.
Dualit ´a – p. 5/44
Continua
Nel primale vi sono m vincoli esattamente come nel duale vi sono m variabili;
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;
Dualit ´a – p. 6/44
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 4x1 + 5x2 + x4 = 4
x2 + x5 = 2
x1, x2, x3, x4, x5 ≥ 0
Dualit ´a – p. 7/44
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
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
↔ x1
↔ x2
↔ x3
↔ x4
↔ x5
Dualit ´a – p. 7/44
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
↔ x1
↔ x2
↔ x3
↔ x
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
↔ x1
↔ x2
↔ x3
↔ x4
↔ x5
Dualit ´a – p. 7/44
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
↔ x1
↔ x2
↔ x3
↔ x
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
↔ x2
↔ x3
↔ x4
↔ x5
Dualit ´a – p. 7/44
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
↔ x3
↔ x
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
↔ x4
↔ x5
Dualit ´a – p. 7/44
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
u ≥0 ↔ x
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
Dualit ´a – p. 7/44
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.
Dualit ´a – p. 9/44
Continua
OsservazionePer ogni x0 ∈ Sa e per ogni u0 ∈ Da si ha che cx0 ≤ u0b.
x0 ∈ Sa ⇒ Ax0 = b
Continua
OsservazionePer ogni x0 ∈ Sa e per ogni u0 ∈ Da si ha che cx0 ≤ u0b.
x0 ∈ Sa ⇒ Ax0 = b ⇒ u0b = u0Ax0 = (u0A)x0
Dualit ´a – p. 9/44
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
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
Dualit ´a – p. 9/44
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∗ = bu∗
allora x∗ ∈ Sott e u∗ ∈ Dott.
Dualit ´a – p. 10/44
Continua
OsservazioneSe x∗ ∈ Sa e u∗ ∈ Da ed inoltre cx∗ = bu∗
allora x∗ ∈ Sott e u∗ ∈ Dott.
Dall’osservazione precedente si ha che
∀ x ∈ Sa cx ≤ u∗b.
Continua
OsservazioneSe x∗ ∈ Sa e u∗ ∈ Da ed inoltre cx∗ = bu∗
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
Dualit ´a – p. 10/44
Continua
OsservazioneSe x∗ ∈ Sa e u∗ ∈ Da ed inoltre cx∗ = bu∗
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.
Dualit ´a – p. 11/44
Continua
OsservazioneSe uno dei due problemi ha obiettivo illimitato, allora l’altro ha regione ammissibile vuota.
obiettivo primale illimitato ⇒ Da = ∅
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:
Dualit ´a – p. 11/44
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
Dualit ´a – p. 12/44
Continua
Problema primale
↓
Problema duale
↓ Problema duale del duale
Continua
Problema primale
↓
Problema duale
↓
Problema duale del duale≡ Problema primale
Dualit ´a – p. 12/44
Continua
Problema primale
↓
Problema duale
↓
Problema duale del duale≡ Problema primale
Osservazione: Il duale del problema duale coincide con il problema primale.
Soluzioni di base per il duale
Base B → soluzione di base del primale:
xB = A−1B b xN = 0.
Dualit ´a – p. 13/44
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−1B .
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
Dualit ´a – p. 14/44
Continua
uBAB = cBA−1B AB = cB,
Continua
uBAB = cBA−1B AB = cB,
uBAN = cBA−1B AN,
Dualit ´a – p. 15/44
Continua
uBAB = cBA−1B AB = cB,
uBAN = cBA−1B AN, Vincoli soddisfatti se:
cN − cBA−1B AN ≤ 0 ovvero:
Continua
uBAB = cBA−1B AB = cB,
uBAN = cBA−1B AN, Vincoli soddisfatti se:
cN − cBA−1B AN ≤ 0
ovvero: ammissibile se tutti i coefficienti di costo ridotto sono non positivi.
Dualit ´a – p. 15/44
Valore obiettivo
In particolare se
cN − cBA−1B AN < 0
soluzione di base del duale uB ammissibile detta non degenere, altrimenti verrá detta degenere.
Valore obiettivo
In particolare se
cN − cBA−1B AN < 0
soluzione di base del duale uB ammissibile detta non degenere, altrimenti verrá detta degenere.
cBxB = cBA−1B b = uBb,
ovvero:le due soluzioni di base rispettivamente del primale e del duale associate alla base B hanno lo stesso valore dell’obiettivo
Dualit ´a – p. 16/44
Quindi ...
... in base ad un’osservazione precedente, se entrambe sono ammissibili per i rispettivi problemi, sono anche
soluzioni ottime degli stessi problemi.
I teorema della dualitá
. TeoremaUno 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.
Dualit ´a – p. 18/44
I teorema della dualitá
. TeoremaUno 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= ∅
I teorema della dualitá
. TeoremaUno 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.
Dualit ´a – p. 18/44
I teorema della dualitá
. TeoremaUno 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á:
c − c A−1A ≤ 0.
Continua
Ma allora uB∗ = cB∗A−1B∗ é ammissibile per il duale.
Dualit ´a – p. 19/44
Continua
Ma allora uB∗ = cB∗A−1B∗ é 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.
Continua
Ma allora uB∗ = cB∗A−1B∗ é 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.
Dualit ´a – p. 19/44
Relazioni primale-duale
Sott 6= ∅ ⇔ Dott 6= ∅ e i valori ottimi coincidono.
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 = ∅.
Dualit ´a – p. 20/44
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 espressa nell’Osservazione, se Da = ∅, allora Sa = ∅ oppure
l’obiettivo primale é illimitato.
Esempio
Primale (Sa = ∅)
max 2x1 − x2 x1 − x2 = 1
−x1 + x2 = −2 x1, x2 ≥ 0
Dualit ´a – p. 21/44
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á
. TeoremaSi 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
à m X
i=1
u∗i aij − cj
!
x∗j = 0.
Dualit ´a – p. 22/44
Dimostrazione
(u∗A − c)x∗ = 0 u∗ ∈ Da, x∗ ∈ Sa ⇒ x∗ ∈ Sott, u∗ ∈ Dott
Dimostrazione
(u∗A − c)x∗ = 0 u∗ ∈ Da, x∗ ∈ Sa ⇒ x∗ ∈ Sott, u∗ ∈ Dott
(u∗A − c)x∗ = 0 ⇒ u∗Ax∗ = cx∗.
Dualit ´a – p. 23/44
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:
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∗
Dualit ´a – p. 23/44
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
Dualit ´a – p. 24/44
Continua
x∗ ∈ Sott, u∗ ∈ Dott ⇒ (u∗A − c)x∗ = 0 Per il I teorema della dualitá:
u∗b = cx∗.
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:
Dualit ´a – p. 24/44
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
à m X
i=1
u∗i aij − cj
!
x∗j = 0.
Dualit ´a – p. 25/44
Continua
(u∗A − c)x∗ = 0 In forma scalare:
Xn
j=1
à m X
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.
Continua
(u∗A − c)x∗ = 0 In forma scalare:
Xn
j=1
à m X
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 X
i=1
u∗i aij − cj
!
x∗j ≥ 0.
Dualit ´a – p. 25/44
Continua
Quindi:
Xn
j=1
à m X
i=1
u∗i aij − cj
!
x∗j = 0.
se e solo se:
à m X
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,
Dualit ´a – p. 27/44
Di conseguenza ...
x∗j > 0 ⇒
Xm
i=1
u∗i aij − cj = 0,
Xm
i=1
u∗i aij − cj > 0 ⇒ x∗j = 0,
Esempio
max x1 − x2
x1 + 2x2 + x3 = 6 2x1 + x2 + x4 = 4 x1, x2, x3, x4 ≥ 0.
Dualit ´a – p. 28/44
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).
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).
Dualit ´a – p. 29/44
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:
Verifica di ottimalitá
Se
A−1B 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−1B
é ottima per il duale.
Dualit ´a – p. 31/44
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 = ∅.