• Non ci sono risultati.

1 Dualit´a Dato un problema di PL in forma canonica max c

N/A
N/A
Protected

Academic year: 2021

Condividi "1 Dualit´a Dato un problema di PL in forma canonica max c"

Copied!
11
0
0

Testo completo

(1)

1 Dualit´a

Dato un problema di PL in forma canonica max cTx

ATx≤ b x≥ 0

che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue

min bTx Au≥ c

u≥ 0 Indichiamo con

Da ={u ∈ Rm : Au≥ c, u ≥ 0}

la regione ammissibile del problema duale e con

Dott={u∈ Da : bTu≤ bTu ∀ u ∈ Da}

l’insieme delle sue soluzioni ottime. Si pu´o notare che esiste una stretta relazione tra

• variabili del primale e vincoli del duale;

• vincoli del primale e variabili del duale.

In particolare notiamo che

1. nel primale ci sono n variabili esattamente come nel duale vi sono n vin- coli. Inoltre, i coefficienti del j-esimo vincolo del duale coincidono con i coefficienti della variabile xjnei vincoli del primale, mentre il termine noto del j-esimo vincolo del duale coincide con il coefficiente di xjnell’obiettivo del primale.

2. Nel primale vi sono m vincoli esattamente come nel duale vi sono m va- riabili. Inoltre, i coefficienti dell’i-esima variabile ui del duale coincidono con i coefficienti dell’i-esimo vincolo del primale, mentre il coefficiente di uinell’obiettivo del duale coincide con il termine noto dell’i-esimo vincolo del primale.

Le soluzioni dei due problemi primale e duale sono fortemente legati tra loro come dimostra una serie di risultati.

Osservazione 1 Per ogni x0∈ Sa e per ogni u0∈ Da si ha che cTx0≤ bTu0.

(2)

Dimostrazione x0∈ Sa implica

ATx0≤ b

o, equivalentemente, prendendo la trasposta di entrambi i membri

bT ≥ xT0A. (1)

Inoltre u0 ∈ Da implica u0 ≥ 0 e quindi, moltiplicando entrambi i membri di (1) per u0 si ottiene

bTu0≥ (xT0A)u0= xT0(Au0). (2) Ma ancora u0∈ Da implica anche

Au0≥ c

da cui, moltiplicando entrambi i membri per xT0 (che ´e≥ 0 per l’appartenenza di x0 a Sa), si ottiene

xT0(Au0)≥ xT0c = cTx0

che, combinato con (2), dimostra il risultato.

Osservazione 2 Se x∈ Sa e u∈ Da ed inoltre cTx= bTu allora x∈ Sott e u∈ Dott.

Dimostrazione In base all’Osservazione 1 si ha che

∀ x ∈ Sa cTx≤ bTu. Ma essendo cTx= bTu si ha anche

∀ x ∈ Sa cTx≤ cTx

il che equivale a dire che x∈ Sott. In modo del tutto analogo si dimostra che u∈ Dott.

Osservazione 3 Se uno dei due problemi ha obiettivo illimitato, allora l’altro ha regione ammissibile vuota.

(3)

Dimostrazione Dimostriamo che se l’obiettivo primale ´e illimitato, allora Da=

∅ (la dimostrazione che l’obiettivo duale illimitato implica Sa = ∅ ´e del tut- to analoga). Supponiamo per assurdo che Da 6= ∅ e sia u0 ∈ Da. In base all’Osservazione 1 si ha che

∀ x ∈ Sa cTx≤ bTu0

e quindi l’obiettivo del primale ´e limitato dal valore bTu0, il che contraddice l’illimitatezza di tale obiettivo.

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

Dimostrazione Per determinare il duale del problema duale dobbiamo prima trasformare quest’ultimo in forma canonica nel modo seguente

− max −bTu

−Au ≤ −c (3)

u≥ 0

(4) Il duale di (3) ´e il seguente

− min −cTx

−ATx≥ −b x≥ 0 o, equivalentemente,

max cTx ATx≤ b

x≥ 0 che, come si vede, coincide con il primale.

Dimostreremo ora il I teorema della dualit´a.

Teorema 1 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.

Dimostrazione Per dimostrare questo risultato dobbiamo dapprima notare che ad ogni base del primale ´e strettamente legata, nel senso che specificheremo, una

(4)

Tabella 1:

xT u −AT b

z cT 0

Tabella 2:

uT

x A −c

w −bT 0

base del problema duale. Riscriviamo il primale con l’aggiunta delle variabili u per i vincoli come visto sino ad ora

max z = cTx u =−ATx + b

x≥ 0 u ≥ 0

Riscriviamo anche il duale (dopo averlo trasformato nella forma canonica (3)) con l’aggiunta di variabili x per i vincoli

− max w =−bTu x = Au− c u≥ 0 x ≥ 0

Si tenga sempre presente che le variabili x, u che compaiono nel primale sono diverse dalla variabili x, u che compaiono nel duale, ma in virt´u delle strette relazioni tra di esse conviene indicarle allo stesso modo.

Prendiamo ora la Tabella 1 relativa alla base{x1, . . . , xn} del primale e la Ta- bella 2 relativa alla base{u1, . . . , um} del duale. Posiiamo notare che la tabella della base{x1, . . . , xn} del primale coincide con la trasposta cambiata di segno della tabella relativa alla base{u1, . . . , um} del duale. Questa osservazione vale pi´u in generale. Si ha infatti che:

Data una base {y1, . . . , yn} del primale, la tabella relativa a tale base ´e uguale alla trasposta cambiata di segno della tabella relativa alla base{yn+1, . . . , yn+m} del duale.

Supponiamo oea di avere una base ottima {y1, . . . , yn} per il primale. Nella relativa Tabella 3 avremo βi ≥ 0, i = 1, . . . , m e γj ≤ 0, j = 1, . . . , n. La

(5)

Tabella 3:

y1 · · · yn

yn+1 · · · · · · · · · β1 ... ... ... ... ... yn+m · · · · · · · · · βm

z γ1 · · · γn γ0

Tabella 4:

yn+1 · · · yn+m

y1 · · · · · · · · · −γ1

... ... ... ... ... yn · · · · · · · · · −γn

w −β1 · · · βm −γ0

soluzione ottima per il primale ´e

yj= 0, j = 1, . . . , n yn+i= βi i = 1, . . . , m

con valore ottimo pari a γ0. Consideriamo ora la Tabella 4 per la base{yn+1, . . . , yn+m} del duale, che, in base a quanto osservato precedentemente, coincide con la tra- sposta cambiata di segno della Tabella 3. Si pu´o notare che la soluzione di base corrsipondente, ovvero

yj=−γj, j = 1, . . . , n yn+i= 0 i = 1, . . . , m

´

e ammissibile poich´e

−γj≥ 0 j = 1, . . . , n ed ´e anche ottima poich´e

−βi≤ 0 i = 1, . . . , m.

Questo dimostra che nel momento in cui il simplesso restituisce una soluzione ottima per il primale, si pu´o immediatamente ottenere anche una soluzione ottima per il duale. Resta ancora da far vedere che i due valori ottimi coincidono.

Il valore ottimo del primale ´e γ0. Dalla Tabella 4 si ha che l’ottimo per il duale ´e pari a−γ0ma dobbiamo ricordare che abbiamo trasformato il duale nella forma canonica (3) il cui obiettivo ´e

− max −bTu

e quindi per ottenere l’esatto valore ottimo dell’obiettivo duale dobbiamo inver- tire di segno, ottenendo quindi il valore γ0che coincide con il valore ottimo del

(6)

primale, come si voleva dimostrare.

Riassumiamo ora tutte le possibili relazioni tra primale e duale.

• In base al I teorema della dualit´a

Sott6= ∅ ⇔ Dott6= ∅

In base allo stesso teorema si ha anche che i valori ottimi coincidono.

• Se Sott =∅ in quanto l’obiettivo primale ´e illimitato, allora Da =∅ (per l’Osservazione 3).

• Se Dott = ∅ in quanto l’obiettivo duale ´e illimitato, allora Sa = ∅ (per l’Osservazione 3).

• Se Sa=∅, allora Da =∅ oppure l’obiettivo duale ´e illimitato.

• Se Da=∅, allora Sa =∅ oppure l’obiettivo primale ´e illimitato.

Il seguente ´e un esempio in cui sia Sa che Da sono insiemi vuoti.

Esempio 1 Si consideri il seguente problema primale max 2x1− x2

x1− x2≤ 1

−x1+ x2≤ −2 x1, x2≥ 0

Si noti che Sa =∅. Si trovi ora il duale di tale problema:

min u1− 2u2

u1− u2≥ 2

−u1+ u2≥ −1 u1, u2≥ 0 in cui si pu´o notare che anche Da =∅.

Introduciamo ora il II teorema della dualit´a.

Teorema 2 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´a, cio´e

(b− ATx)Tu= 0, (5)

e

(Au− c)Tx= 0. (6)

(7)

Dimostrazione Se valgono (5) e (6), sommandole tra loro si ottiene bTu− x∗TAu+ u∗TATx− cTx= 0

o, equivalentemente,

bTu− x∗TAu+ x∗TAu− cTx = 0 da cui

bTu= cTx.

In base all’Osservazione 2, ci´o implica che le due soluzioni sono ottime.

Vediamo ora di dimostrare il viceversa, ovvero che se le due soluzioni sono ottime soddisfano le condizioni di complementarit´a. Per il I teorema della dualit´a sappiamo che

bTu= cTx. Ora, sommiamo e sottraiamo x∗TAu ed otteniamo

bTu− x∗TAu+ x∗TAu− cTx = 0 che possiamo riscrivere come segue

(b− ATx)Tu+ (Au− c)Tx= 0. (7) Ora, x∈ Sa implica

b− ATx≥ 0 x≥ 0, mentre u∈ Da implica

Au− c ≥ 0 u≥ 0.

Quindi avremo

(b− ATx)T

| {z }

≥0

u

|{z}

≥0

≥ 0

(Au− c)T

| {z }

≥0

x

|{z}

≥0

≥ 0

In base a (7) la somma di questi due termini deve essere uguale a 0. L’unica possibilit´a ´e che entrambi i termini siano nulli, e cio´e che siano soddisfatte le condizioni di complementarit´a (5) e (6).

2 Il simplesso duale

Nel simplesso visto in precedenza, che chiameremo simplesso primale seguiamo il seguente schema

(8)

Tabella 5:

y1 · · · yn

yn+1 · · · · · · · · · β1 ... ... ... ... ... yn+m · · · · · · · · · βm

z γ1 · · · γn γ0

• cominciamo con una base ammissibile {y1, . . . , yn} per il primale (tutti i βi ≥ 0) ma con la base corrispondente del duale {yn+1, . . . , yn+m} non ammisibile per il duale (qualche γj > 0);

• passiamo ad altre basi ammissibili per il primale ma con le corrispondenti basi duali non ammissibili;

• se esistono soluzioni ottime, ci arrestiamo quando abbiamo non solo una base ammissibile per il primale, ma anche la base corrispondente del duale anch’essa ammissibile (tutti i γj ≤ 0).

Si supponga ora di avere una base{y1, . . . , yn} non ammissibile per il primale ma con la corrispondente base del duale{yn+1, . . . , yn+m} ammissibile. Quindi, data la Tabella 5 relativa alla base{y1, . . . , yn} del primale, avremo che

∃ i ∈ {1, . . . , m} : βi< 0, (non ammissibilit´a della base primale) e

γj≤ 0, j = 1, . . . , n

(ammissibilit´a per il duale). Il simplesso duale non ´e altro che il simplesso applicato al problema duale, in cui seguiremo quindi il seguente schema

• cominciamo con una base ammissibile {yn+1, . . . , yn+m} per il duale (tutti i γj ≤ 0) ma con la base corrispondente del primale {y1, . . . , yn} non ammisibile per il primale (qualche βi< 0);

• passiamo ad altre basi ammissibili per il duale ma con le corrispondenti basi primali non ammissibili;

• se esistono soluzioni ottime, ci arrestiamo quando abbiamo non solo una base ammissibile per il duale, ma anche la base corrispondente del primale anch’essa ammissibile (tutti i βi≥ 0).

Nel simplesso duale si opera direttamente sulla tabella primale e quindi, ricor- dando che la tabella duale ´e la trasposta cambiata di segno di quella primale, dovremo tenere presente di invertire i ruoli di righe e colonne e di cambiare i segni. Un’iterazione del simplesso duale ´e la seguente.

(9)

Verifica di ottimalit´a Se

βi≥ 0 i = 1, . . . , m

allora la base corrente ´e ottima, la soluzione di base del primale yj= 0 j = 1, . . . , n yn+i= βi i = 1, . . . , m

´e ottima per il primale, mentre la soluzione di base

yj=−γj j = 1, . . . , n yn+i= 0 i = 1, . . . , m

´e ottima per il duale. Altrimenti si va al Passo 2.

Scelta della riga del cardine Scegli la riga k tale che βk= mini} < 0

(per convenzione la prima dall’alto se il minimo ´e raggiunto su pi´u righe).

Verifica di illimitatezza del duale Se

αkj≤ 0 j = 1, . . . , n,

allora il duale ´e illimitato (e di conseguenza, in base all’Osservazione 3, per il primale si ha Sa=∅). Altrimenti si vada al Passo 4.

Scelta della colonna del cardine Tra le colonne j con αkj > 0 si scelga la colonna h tale che

γh

αkh

= min



γj

αkj

: αkj> 0

 .

(nel caso il minimo sia raggiunto in pi´u colonne si sceglie, per convenzione, la prima da sinistra).

Operazione di cardine Si esegua l’operazione di cardine con cardine αkhe si ritorni al Passo 1.

3 Altre osservazioni sulla dualit´a

Una possibile domanda che ci si pu´o porre ´e la seguente. Se ho un vincolo aTix ≤ bi di un prblema di PL il cui valore ottimo indicheremo con γ, come varia il valore dell’ottimo se perturbo di una piccola quantit´a ∆bi il termine noto del vincolo, ovvero trasformo il vincolo in aTix ≤ bi+ ∆bi? La risposta

´

e strettamente legata alla soluzione del duale. Infatti, si prenda la soluzione ottima del duale e sia ui il valore nell’ottimo del duale della variabile legata al vincolo aTi x≤ bi del primale. Si pu´o dimostrare che se la soluzione ottima

(10)

del primale ´e non degenere, allora per piccole perturabzioni ∆bi il nuovo valore ottimo sar´a γ+ ui∆bi. Come verifica su un esempio, si determini la soluzione ottima del problema

max x1− x2

x1+ x2≤ 2 x1≤ 1 x1, x2≥ 0

e del suo duale e si determini come cambia il valore ottimo del problema se il vincolo x1≤ 1 viene sostituito da x1≤ 1 + ∆, per ∆ sufficientemente piccolo.

Abbiamo visto sino ad ora come si determina il duale di un problema di PL in forma canonica. E possibile per´´ o determinare il duale anche di problemi di PL in forma pi´u generale. Come per i problemi in forma canonica, vi sar´a una stretta relazione tra le variabili di un problema ed i vincoli dell’altro. Pi´u precisamente avremo, come per la forma canonica, che:

1. nel primale ci sono n variabili esattamente come nel duale vi sono n vin- coli. Inoltre, i coefficienti del j-esimo vincolo del duale coincidono con i coefficienti della variabile xjnei vincoli del primale, mentre il termine noto del j-esimo vincolo del duale coincide con il coefficiente di xjnell’obiettivo del primale.

2. Nel primale vi sono m vincoli esattamente come nel duale vi sono m va- riabili. INoltre, i coefficienti dell’i-esima variabile ui del duale coincidono con i coefficienti dell’i-esimo vincolo del primale, mentre il coefficiente di uinell’obiettivo del duale coincide con il termine noto dell’i-esimo vincolo del primale.

Rispetto alla forma canonica quello che pu´o cambiare sono i versi delle disequa- zioni ed i segni delle variabili. Per stabilire questi ci si pu´o rifare allo specchiet- to nella Tabella 6. Lo specchietto ci dice, per esempio, che se il primale ´e un problema di massimo ed una variabile ´e nel primale≥ 0, allora il vincolo corri- spondente del duale ´e di≥, oppure che se il primale ´e un problema di minimo ed un vincolo del primale ´e di =, allora la variabile corrsipondente del duale ´e libera in segno (pu´o assumere sia valori negativi che positivi). Come esercizio, si usi lo specchietto per trovare il duale del seguente problema di PL.

min x1+ 2x2+ 3x3

x1+ x2− x3≤ 1 x1− 2x2+ x3≥ 2

x1− x2− x3= 4 x1≥ 0, x2≤ 0, x3libera

(11)

Tabella 6:

min max

variabile≥ 0 vincolo variabile≤ 0 vincolo variabile libera vincolo = vincolo variabile≥ 0 vincolo variabile≤ 0 vincolo = variabile libera

Riferimenti

Documenti correlati

Delega in materia di riordino delle forme contrattuali Delega in materia di conciliazione dei tempi di lavoro. con le

[r]

[r]

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`

L’eli- minazione della variabile i-ma nel duale comporta la presenza di due vincoli uno dei quali diventa ridondante... Eliminato il vincolo duale corrispondente al minore dei

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

[r]

[r]