Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di...

23
Teoria della Dualità: I – Introduzione Daniele Vigo D.E.I.S. – Università di Bologna [email protected] rev. 1.2 – Maggio 2004 Dual-I.2 D. Vigo Dualità Per ogni problema PL, detto primale, ne esiste un altro, detto duale, costruito utilizzando gli stessi coefficienti (trasposti) • Le soluzioni dei due problemi sono tra loro strettamente legate La soluzione del problema duale fornisce informazioni sulla soluzione del problema primale

Transcript of Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di...

Page 1: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

1

Teoria della Dualità:I – Introduzione

Daniele VigoD.E.I.S. – Università di Bologna

[email protected]

rev. 1.2 – Maggio 2004

Dual-I.2D. Vigo

Dualità• Per ogni problema PL, detto primale, ne esiste un

altro, detto duale, costruito utilizzando gli stessi coefficienti (trasposti)

• Le soluzioni dei due problemi sono tra loro strettamente legate

• La soluzione del problema duale fornisce informazioni sulla soluzione del problema primale

Page 2: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

2

Dual-I.3D. Vigo

Dualità (2)• Problema primale (in forma standard)

min {cTx : A x = d, x ≥ 0}• Criterio di ottimalità del problema primale:

x*T = ( xB | 0 ) è ottimo solo se c’T ≥ 0 dove c’T = cT– cB B–1 A =[ cT

B – cTB B–1 B | cT

F – cTB B–1F]

cT – cB B–1 A ≥ 0

0 cTF´

Dual-I.4D. Vigo

Dualità (3)• Costruzione del problema duale• cT, A dati di ingresso• uT vettore di m variabili corrispondenti alla scelta

di una base B per il primale: uT = cB B–1

• la base ottima si ha u*T = cB B–1 che è soluzione ammissibile di

uTA ≤ cT, u libera • Utilizzando come funzione obiettivo uTd si ha che

u*T d = cBB–1d = cTx*

• Problema duale: max{ uTd: uTA ≤ cT, u libera }

Page 3: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

3

Dual-I.5D. Vigo

Dualità (4)

• Problema primale (in forma standard):min {cTx : A x = d, x ≥ 0}

sol. ottima

sol. amm.

• Problema duale:max{ uTd: uTA ≤ cT, u libera} sol.

amm.

z

Dual-I.6D. Vigo

Dualità (5)• tabella per Primale in forma di minimo

Primale Duale z = min cTx w = max uTd

ai x ≥ di ui ≥ 0ai x ≤ di ui ≤ 0ai x = di ui libera

xj ≥ 0 uTAj ≤ cj

xj ≤ 0 uTAj ≥ cj

xj libera uTAj = cj

Page 4: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

4

Dual-I.7D. Vigo

Esempio 1• Consideriamo un problema primale, lo risolviamo

e ricaviamo una soluzione del duale

min z = 2x1 +3x2 + x3

2x1 + x2 = 1 x1 + x3 = 4x1, x2, x3, ≥ 0

Dual-I.8D. Vigo

Esempio 1 (2)

1014x3

0121x2

00–5–7–zx3x2x1

A

1–1/207/2x3

01/211/2x1

05/20–9/2–zx3x2x1

Y

Page 5: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

5

Dual-I.9D. Vigo

Esempio 1 (3)

⎥⎥⎦

⎢⎢⎣

⎡=

10

21

21

1B

⎥⎦

⎤⎢⎣

⎡=

1102

Bmin z = 2x1 +3x2 + x3

2x1 + x2 = 1 x1 + x3 = 4x1, x2, x3, ≥ 0

cTB Y = [2 1] Y = [2 1/2 1]

c’ T = c – cTB Y = [2 3 1] – [2 1/2 1] = [0 5/2 0]

B–1 A = Y

Dual-I.10D. Vigo

Esempio 1 (4)min z = 2x1 +3x2 + x3

2x1 + x2 = 1 x1 + x3 = 4x1, x2, x3, ≥ 0

max w = u1 + 4u2

2u1 + u2 ≤ 2u1 ≤ 3

u2 ≤ 1u1 , u2 libera

uT = cTB B–1 = [1/2 1]

1

1

u2

u13

Page 6: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

6

Dual-I.11D. Vigo

Esempio 2 • risolviamo un Primale ed il suo Dualemin z = 2x1 +x2 +x3

x1 +x3 = 4 x2 +2x3 ≥ 2

x1, x2, ≥ 0

x3 libera

min z = 2x1 +x2 +x3+ –x3

x1 +x3+ –x3

– = 4 x2 +2x3

+ –2x3– − x4 = 2

x1, x2, x3+, x3

–, x4 ≥ 0

Dual-I.12D. Vigo

Esempio 2 (2)0 2 1 1 –1 0

x1 x2 x3+ x3

– x4

–z –10 0 0 –3 3 1

0

–1

x1 4 1 0 1 –1

x2 2 0 1 2 –2x1 x2 x3

+ x3– x4

–z –7 0 3/2 0 0 –1/2

1/2

–1/2

x1 3 1 –1/2 0 0

x3+ 1 0 1/2 1 –1

Page 7: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

7

Dual-I.13D. Vigo

Esempio 2 (3)

Soluzione: z = 4 ; x1 = x2 = 0 ; x3 = 4

x1 x2 x3+ x3

– x4

–z –4 1 1 0 0 0

1

0

x4 6 2 –1 0 0

x3+ 4 1 0 1 –1

Dual-I.14D. Vigo

Esempio 2 (4)• Duale:

max w = 4u1 +2u2u1 ≤ 2 (ridondante)

u2 ≤ 1u1 +2u2 = 1u1 libera

u2 ≥ 0

–min –w = – 4u1+ +4u1

– – 2u2

u2 +u3 = 1u1

+ – u1– +2u2 = 1

u1+, u1

–, u2 , u3 ≥ 0

Page 8: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

8

Dual-I.15D. Vigo

Esempio 2 (5)

0 –4 4 –2 0u1

+ u1– u2 u1

s

–z 4 0 0 6 0

1

0

u1s 1 0 0 1

u1+ 1 1 –1 2

Soluzione : w = 4 ; u1 = 1; u2 = 0

( N.B. w = z )

Dual-I.16D. Vigo

Proprietà fondamentaliTh. Il duale del duale è il primale

Dim.a) partiamo da un primale in forma generale

(P) z = min cT xai

T x = d i ∈ Mai

T x ≥ d i ∈ M’xj ≥ 0 j ∈ N

xj libera j ∈ N’

Page 9: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

9

Dual-I.17D. Vigo

Il duale del duale è il primale (2)b) ne facciamo il duale

(D) w = max uT dui libera i ∈ M

ui ≥ 0 i ∈ M’uT Aj ≤ cj j ∈ NuT Aj = cj j ∈ N’

c) lo riscriviamo in forma “primale”

– min (– dT )uui liberaui ≥ 0(– Aj

T ) u ≥ –cj

(– Aj T ) u = –cj

Dual-I.18D. Vigo

Il duale del duale è il primale (3)d) ne facciamo il duale usando la variabile x

– max xT (– c ) xj ≥ 0 j ∈ N

xj libera j ∈ N’(– aj

T) x ≤ –di i ∈ M(– ai

T) x = –di i ∈ M’

da cui si ottiene il primale

z = min cT xxj ≥ 0xj liberaai

T x = dai

T x ≥ d

Page 10: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

10

Dual-I.19D. Vigo

Proprietà “debole” della dualitàTh. (Dualità debole):

Data una coppia Primale–Duale min {cTx :A x ≥ d, x ≥ 0}, max{uTd: uTA ≤ cT, u ≥ 0}sia X la regione ammissibilità di P ed U quella di D, per ogni x∈X ed u∈U risulta:

cT x ≥ uT dDim.

Ax ≥ d, u ≥ 0 → uT Ax ≥ uT duTA ≤ cT, x ≥ 0 → uT Ax ≤ cT xda cui si ottiene cTx ≥ uT Ax ≥ uT d

Dual-I.20D. Vigo

Proprietà “forte” della dualitàTh. (Dualità forte):Se il primale ha soluzione ottima finita,

1) anche il suo duale ha soluzione ottima finita;2) i valori della due soluzioni sono uguali.

Dim. punto 1) :x, u = sol. ammissibili di (P) e (D)dualità debole ⇒ costo primale ≥ costo duale⇒(D) non può avere soluzione illimitata.

(D) ha la soluzione ammissibile uT = cBT B–1

(B= base ottima di (P), che ha sol. ottima finita)⇒(D) non è impossibile ed ha una sol. ottima finita

Page 11: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

11

Dual-I.21D. Vigo

Proprietà “forte” della dualità (2)Dim. punto 2) :

la soluzione ammissibile di (D) uT* = cBT B–1

ha costo uT*d= cB

T B–1 d = cTx*

uguale al costo della soluzione ottima di (P)

Dual-I.22D. Vigo

Possibili Coppie Primale-Duale

(P) ↓ (D)→ Ottimo finito Illimitato Impossibile

Ottimo finito Si(1) NO(a) NO(a)

Illimitato NO(a) NO(b) SI(3)

Impossibile NO(a) SI(3) SI(2)

(P) min {cTx :A x ≥ d, x ≥ 0}, (D) max{uTd: uTA ≤ cT, u ≥ 0}

SI(1) e NO(a) verificati nel teorema della dualità forte

Page 12: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

12

Dual-I.23D. Vigo

Possibili Coppie Primale-Duale (2)(P) min {cTx :A x ≥ d, x ≥ 0}(D) max {uTd: uTA ≤ cT, u ≥ 0}

Verifichiamo NO(b)

• Se il primale ha soluzione illimitata (= –∞) , • il duale non può avere soluzione illimitata (= +∞)

(per la dualità debole: cTx ≥ uTd)

Dual-I.24D. Vigo

Possibili Coppie Primale-Duale (3)• Verifichiamo che il caso SI(2) può verificarsi:

min x1

x1 + x2 ≥ 1– x1 – x2 ≥ 1

x1 , x2 libere(primale impossibile)

max u1 + u2

u1 – u2 = 1 u1 – u2 = 0u1 , u2 ≥ 0

(duale impossibile) ⇒ SI(2)

Page 13: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

13

Dual-I.25D. Vigo

Possibili Coppie Primale-Duale (4)• Verifichiamo che il caso SI(3) può verificarsi:

min x1

x1 + x2 ≥ 1– x1 – x2 ≥ 1

x1 , x2 ≥ 0(primale impossibile)

max u1 + u2

u1 – u2 ≤ 1u1 – u2 ≤ 0u1 , u2 ≥ 0

(duale illimitato) ⇒ SI(3)

Dual-I.26D. Vigo

Teorema degli scarti complementari• Definisce la condizione di ottimalità per una

coppia Primale-DualeTh.

Una coppia (x, u) di soluzioni ammissibili per una coppia Primale-Duale è ottima se e solo se valgono le seguenti condizioni di ortogonalità:

• ti = ui (aiT x – di) = 0 ∀ i (α )

• vj = (cj – uT Aj) xj = 0 ∀ j (β )

Page 14: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

14

Dual-I.27D. Vigo

Teorema degli scarti complementari (2)Dim.ti ≥ 0 ∀ i ( se ai

Tx = di ⇒ ti = 0 ,se ai

Tx ≥ di⇒ ui ≥ 0 ⇒ ti ≥ 0 ) vj ≥ 0 ∀ j ( analogamente)siano inoltre:

01

≥= ∑=

m

iitt 0

1≥= ∑

=

n

jjvv

e si noti che t = v = 0 ⇔ tutte le (α) e (β) valgono

Dual-I.28D. Vigo

Teorema degli scarti complementari (3)

quindi tutte le (α ),(β ) valgono ⇔ uTd = cTx⇔ (x, u) sono ottime

01 111

=⎟⎠

⎞⎜⎝

⎛−+⎟⎟

⎞⎜⎜⎝

⎛−=+ ∑ ∑∑∑

= ===

n

jj

m

iijij

n

jijij

m

ii xaucdxauvt

da cui t + v = 0 ⇔ tutte le (α) e (β ) valgono

0=−= duxc TT

Page 15: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

15

Dual-I.29D. Vigo

Teorema degli scarti complementari (4)• Conseguenze delle condizioni di ortogonalità1. ∀ vincolo j non soddisfatto all’uguaglianza dalla

soluzione ottima di (D) (uTAj < cj), nella soluzione ottima di (P) la corrispondente variabile deve essere xj = 0, e viceversa.

2. ∀ variabile j non nulla (xj > 0) nella soluzione ottima di (P), il corrispondente vincolo di (D) deve essere soddisfatto in modo stretto (uTAj = cj ) dalla soluzione ottima di (D)

• Relazioni analoghe tra i vincoli primali e variabili duali

Dual-I.30D. Vigo

Esempio 1• Consideriamo una coppia Primale-Duale nota• Data la soluzione di (P) ricaviamo quella di (D) dal

teorema degli scarti complementari• ti = ui (ai

T x – di) = 0 ∀ i (α )• vj = (cj – uT Aj) xj = 0 ∀ j (β )

min z = 2x1 + x2 + x3 x1 + x3 = 4 → 1a cond. (α) OK

x2 +2x3 ≥ 4 x1, x2, ≥ 0

x3 libera

Page 16: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

16

Dual-I.31D. Vigo

Esempio 1 (2)• Soluzione ottima di (P)• z = 4• x1 = x2 = 0 → 1a e 2a cond. (β ) OK; x3 = 4 • 2a cond. (α): u2 ( x2 + 2x3 – 2 ) = 0 ⇒ u2 = 0• 3a cond. (β ): (1 – u1 + 2u2 ) x3 = 0 ⇒ u1 = 1• soluzione ottima del duale u1 = 1, u2 = 0, w = 4

Dual-I.32D. Vigo

Esempio 2• Dato il primalemin z = x1 + x2 + x3 + x4 + x5

3 x1 +2x2 + x3 = 15x1 + x2 + x3 + x4 = 32 x1 +5x2 + x3 + x5 = 4 x1 , x2 , x3 , x4 , x5 ≥ 0

Forma standard ⇒ tutte le condizioni (α) OKSoluzione ottima: z = 9/2

x1 = x3 = 0 ⇒ 1a e 3a cond. (β ) OKx2 = 1/2, x4 = 5/2, x5 = 3/2

Page 17: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

17

Dual-I.33D. Vigo

Esempio 2 (2)Duale: max w = u1 + 3u2 + 4u3

3u1 + 5u2 + 2u3 ≤ 12u1 + u2 + 5u3 ≤ 1

u1 + u2 + u3 ≤ 1u2 ≤ 1

u3 ≤ 1u1 , u2 , u3 libere

• 4a cond. (β ): 1 = u2 ; 5a cond. (β ): 1 = u3

• 2a cond. (β ): 1 = 2u1 + u2 + 5u3 ⇒ u1 = – 5/2• w = 9/2

Dual-I.34D. Vigo

Esempio 3Primale: Duale:min x1 + x2 max –2u1 + 12u2

x1 – x2 ≥ 2 – u1 + 3u2 ≥ 1 3x1 – 2 x2 ≥ 12 u1 – 2u2 ≥ 0

x1 , x2 ≥ 0 u1 , u2 ≥ 0

• Risolviamo il primale per via grafica

Page 18: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

18

Dual-I.35D. Vigo

Esempio 3 (2)

x1

x2

x1 = 16/5, x2 = 6/5

min x1 + x2

x1 – x2 ≥ 23x1 – 2 x2 ≥ 12x1 , x2 ≥ 0

6

4

Dual-I.36D. Vigo

Esempio 3 (3)• Ricaviamo la soluzione ottima duale con il

teorema degli scarti complementari

x1 – x2 = 2 → u1 ≠ 0 3x1 + 2 x2 = 12 → u2 ≠ 0x1=16/5 > 0 → – u1 + 3u2 = 1 x2= 6/5 > 0 → u1 – 2u2 = 1

u1 = 1/5 , u2 = 2/5

Page 19: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

19

Dual-I.37D. Vigo

Interpretazione economica del duale(P) min cTx (D) max uTd

A x ≥ d uTA ≤ cT

x ≥ 0 u ≥ 0

Base ottima B → z* = cBT B–1d = u*d

∗−∗

==∂∂ uBc

dz T

B1

Dual-I.38D. Vigo

Interpretazione economica (2)• ui

* è la variazione della funzione obiettivo che si ottiene se il termine noto dell’ i–esimo vincolo primale cambia di un unità

• Le variazioni duali u* sono i prezzi ombra del vettore dei termini noti

• Dato un problema primale in forma canonica in cui cTx rappresenta il costo necessario a produrre xunità, ui

* è il costo incrementale che dobbiamo pagare per avere un unità in più della risorsa i–esima.

Page 20: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

20

Dual-I.39D. Vigo

Esempio• Problema della dieta:

• Almeno 9 unità giornaliere di vitamina A• Almeno 19 unità giornaliere di vitamina C

Alimenti

A)C)

Prezzo unitario

x1 x2 x3 x4 x5 x6 Fabbisogno

1 0 2 2 1 2 ≥ 90 1 3 1 3 2 ≥19

35 30 60 50 27 22

Dual-I.40D. Vigo

Esempio (2)Problema della dieta (Primale)

min 35x1 + 30x2 + 60x3 + 50x4 + 27x5 + 22x6 x1 + 2x3 + 2x4 + x5 + 2x6 ≥ 9

x2 + 3x3 + x4 + 3x5 + 2x6 ≥ 19x1 ,……. , x6, ≥ 0

Page 21: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

21

Dual-I.41D. Vigo

Esempio (3)Duale del problema della dieta

max 9u1 + 19u2

u1 ≤ 35u2 ≤ 30

2u1 + 3u2 ≤ 602u1 + u2 ≤ 50

u1 + 3u2 ≤ 272u1 + 2u2 ≤ 22

u1 , u2 ≥ 0

Dual-I.42D. Vigo

Esempio (4)• Interpretazione del duale:

• 1 variabile per ogni sostanza nutritiva • f. obiettivo: max 9u1 + 19u2

• 1 vincolo per ogni alimento : 2u1 + u2 ≤ 60 Problema del produttore di pillole:Definire il prezzo di pillole ciascuna contente un’unità di una sostanza in modo che • il ricavo complessivo ottenibile dalla dieta sia massimo • il prezzo del contenuto di sostanze di un alimento

somministrato con pillole sia competitivo con il prezzo dell’alimento

Page 22: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

22

Dual-I.43D. Vigo

Esempio (5)max 9u1+19u2

u1 ≤ 35u2 ≤ 30

2u1 +3u2 ≤ 602u1 + u2 ≤ 50u1 +3u2 ≤ 272u1 +2u2 ≤ 22u1 , u2 ≥ 0

u1* = 3 , u2

* = 840

30

20

10

u2

10 20 30 40 u1

Dual-I.44D. Vigo

Esempio (6)• u1

* = 3 , u2* = 8: prezzo che si deve pagare se

nella dieta aumenta di un unità la quantità di vitamina A e C, rispettivamente

• Risolviamo il primale con il teorema degli scarti complementari (uT ( Ax – b ) = 0 ) ) :

u > 0 ⇓

x1 + 2x3 + 2x4 + x5 + 2x6 = 9x2 + 3x3 + x4 + 3x5 + 2x6 = 19

Page 23: Teoria della Dualità · Teorema degli scarti complementari (4) • Conseguenze delle condizioni di ortogonalità 1. ∀vincolo j non soddisfatto all’uguaglianza dalla soluzione

23

Dual-I.45D. Vigo

Esempio (6)• Sostituendo la soluzione duale nei vincoli si vede

che i primi quattro non sono soddisfatti all’uguaglianza

• Scarti complementari: (uTA –cT ) x = 0 uTAj < cj , j = 1,…, 4 ⇒ x1,…, x4 = 0

x5 + 2x6 = 93x5 + 2x6 = 19

⇓x5 = 5, x6 = 2