• Non ci sono risultati.

vincoli del primale e variabili del duale

N/A
N/A
Protected

Academic year: 2021

Condividi "vincoli del primale e variabili del duale"

Copied!
47
0
0

Testo completo

(1)

Dualità

(2)

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

(3)

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

(4)

Variabili-vincoli

Esiste una stretta relazione tra

variabili del primale e vincoli del duale;

vincoli del primale e variabili del duale.

(5)

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.

(6)

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.

(7)

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

(8)

Relazioni primale-duale

Indichiamo con

Da = {u ∈ Rm : uA ≥ c}

la regione ammissibile del problema duale e con Dott = {u ∈ Da : ub ≤ ub ∀ u ∈ Da}

l’insieme delle sue soluzioni ottime.

Le soluzioni dei due problemi primale e duale sono fortemente legate tra loro

(9)

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

(10)

Continua

OsservazioneSe x ∈ Sa e u ∈ Da ed inoltre cx = ub

allora x ∈ Sott e u ∈ Dott.

Dall’osservazione precedente si ha che

∀ x ∈ Sa cx ≤ ub. Ma essendo cx = ub si ha anche

∀ x ∈ Sa cx ≤ cx e quindi x ∈ Sott.

(11)

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.

(12)

Continua

Problema primale

Problema duale

Problema duale del duale Problema primale

Osservazione: Il duale del problema duale coincide con il problema primale.

(13)

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

(14)

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

(15)

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.

(16)

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 .

(17)

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

(18)

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.

(19)

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

(20)

Quindi ...

... in base a un’osservazione precedente, se entrambe sono ammissibili per i rispettivi problemi, sono anche soluzioni ottime degli stessi problemi.

(21)

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−1Bb xN = 0,

è ammissibile per il primale ed inoltre soddisfa la condizione di ottimalità:

cN cBA−1BAN 0.

(22)

Continua

Ma allora uB = cBA−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.

(23)

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.

(24)

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

(25)

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è

(uA − c)x = 0.

o, in forma scalare:

Xn

j=1

Xm

i=1

ui aij − cj

!

xj = 0.

(26)

Dimostrazione

(uA− c)x = 0 u ∈ Da, x ∈ Sa x ∈ Sott, u ∈ Dott

(uA − c)x = 0 uAx = cx.

x ∈ Sa Ax = b Quindi:

ub = uAx = cx x ∈ Sott, u ∈ Dott

(27)

Continua

x ∈ Sott, u ∈ Dott (uA − c)x = 0 Per il I teorema della dualità:

ub = cx.

x ∈ Sott ⇒ x ∈ Sa Ax = b Quindi:

ub = uAx = cx uAx−cx = 0 ⇒ (uA−c)x = 0

(28)

Continua

(uA − c)x = 0 In forma scalare:

Xn

j=1

Xm

i=1

ui aij − cj

!

xj = 0.

u ∈ Da e x ∈ Sa implicano:

Xm

i=1

ui aij − cj ≥ 0, xj ≥ 0 ∀ j = 1, . . . , n.

e quindi:

m !

(29)

Continua

Quindi:

Xn

j=1

Xm

i=1

ui aij − cj

!

xj = 0.

se e solo se:

Xm

i=1

ui aij − cj

!

xj = 0 ∀ j = 1, . . . , n.

(30)

Di conseguenza ...

xj > 0

Xm

i=1

ui aij − cj = 0,

Xm

i=1

uiaij − cj > 0 ⇒ xj = 0,

(31)

Esempio

max x1 − x2

x1 + 2x2 + x3 = 6 2x1 + x2 + x4 = 4 x1, x2, x3, x4 ≥ 0.

(32)

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).

(33)

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.

(34)

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

(35)

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 = ∅

(36)

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).

(37)

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.

(38)

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).

(39)

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).

(40)

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.

(41)

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.

(42)

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.

(43)

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.

(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.

(45)

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

(46)

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

(47)

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.

Riferimenti

Documenti correlati

Roberta Bassani Sistema IeFP Claudia Spigola Francesca Penner.

Allora la soluzione ottima duale non cambia e, per la dualit` a forte, neanche la soluzione ottima del primale, cio` e l’aggiunta di due nuove alternative non inficia l’ottimalit`

• la gran parte dei giovani che non vuole continuare gli studi nel sistema di istruzione a tempo pieno si inserisce in percorsi di formazione professionale in

Andrea Gandini - Presidente CDS, società partner del programma PIL UNIFE Dottorato di ricerca duale dell’Università di Bergamo e ADAPT Emmanuele Massagli - Presidente ADAPT La

Nelle figure successive sono riportate le deformate di ciascun organismo relative rispettivamente all'azione della neve, all'azione del vento agente nel verso positivo degli assi

Inoltre, i coefficienti del j-esimo vincolo del duale coincidono con i coefficienti della variabile x j nei vincoli del primale, mentre il termine noto del j-esimo vincolo del

Se tale variabile duale ha valore nullo nella soluzione ottima del duale, `e vero che modificando arbitrariamente nel vincolo del primale corrispondente a tale variabile duale

(5) se la soluzione ottima del duale di un problema di PL in forma standard soddisfa un vincolo come diseguaglianza stretta, allora la variabile del primale corrispondente a