Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09...

19
1 Petra Mutzel Alg. & Dat. WS 08/09 Kap. 4.3: Das Dualitätstheorem der linearen Optimierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18. VO A&D WS 08/09 18.12.2008

Transcript of Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09...

Page 1: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

1 Petra Mutzel Alg. & Dat. WS 08/09

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

Professor Dr. Petra Mutzel

Lehrstuhl für Algorithm Engineering, LS11

Fakultät für Informatik, TU Dortmund

18. VO A&D WS 08/09 18.12.2008

Page 2: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

2 Petra Mutzel Alg. & Dat. WS 08/09

Literatur für diese VO

•  V. Chvatal: Linear Programming

•  D. Bertsimas: Linear Programming

Page 3: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

3 Petra Mutzel Alg. & Dat. WS 08/09

Überblick 4.3 Das Duaitätstheorem der linearen

Optimierung •  Duales Programm •  Schwacher Dualitätssatz •  Dualitätssatz

Page 4: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

4 Petra Mutzel Alg. & Dat. WS 08/09

Dualität der Linearen Programmierung Es ist vorteilhaft, Schranken für Lineare Programme angeben zu können

Ein Punkt, der (2)-(4) erfüllt, erfüllt auch die Ungleichung: 2(2)+(3)

Wir suchen die besten Schranken: Dualität

Page 5: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

5 Petra Mutzel Alg. & Dat. WS 08/09

Dualität der Linearen Programmierung Primales Programm:

Duales Programm:

Page 6: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

6 Petra Mutzel Alg. & Dat. WS 08/09

Dualität der Linearen Programmierung Definition: Das zu

(P ) max cT xAx ! b

x " 0

duale Problem ist

(D) min yT byT A " cT

y " 0

Page 7: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

7 Petra Mutzel Alg. & Dat. WS 08/09

Paare von dualen Problemen

Transformationsregeln: •  Jeder primalen Ungleichung ist eine nicht-negative

duale Variable zugeordnet •  Jeder primalen Gleichung ist eine nicht-

vorzeichenbeschränkte Variable zugeordnet. •  Jeder primalen nicht-negativen Variablen ist eine

duale Ungleichung zugeordnet. •  Jeder primalen nicht-vorzeichenbeschränkten

Variablen ist eine Gleichung zugeordnet

(P ) max cT x, Ax ! b, x " 0 (D) min yT b, yT A " cT , y " 0(P ) max cT x, Ax ! b (D) min yT b, yT A = cT , y " 0(P ) max cT x, Ax = b, x " 0 (D) min yT b, yT A " cT

Page 8: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

Beziehungen zwischen (P) und (D)

(D) min yT byT A ! cT

y ! 0

(P ) max cT xAx " b

x ! 0

# $

%max (%bT )y(%A)T y " (%c)

y ! 0&

%min xT (%c)xT (%A)T ! (%b)T

x ! 0

„Das Duale des Dualen ist das Primale“.

Page 9: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

9 Petra Mutzel Alg. & Dat. WS 08/09

Schwacher Dualitätssatz

Korollar: Ist x* zulässig für (P) und y* zulässig für (D), und gilt cTx*=y*Tb, dann ist x* optimal für (P) und y* optimal für (D).

Schwacher Dualitätssatz: Seien (P) und (D) zueinander duale Lineare

Programme. Sei x´ ein zulässiger Punkt für (P) und y´ zulässig für (D). Dann gilt: cT x´ ≤ y´T b

Beweis: cT x! ! (y!T A)x! = y!T (Ax!) ! y!T b

Page 10: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

Beispiel Optimales Tableau unseres Beispiels:

Losung (P )x1 = 0

x2 = 76

x3 = 23

x1 x4 (y1) x5 (y2)172 ! 3

2 !2 ! 12

x276

76

23 ! 1

6

x323 ! 1

3 ! 13

13

Losung (D)y1 = 2

y2 = 12

Das duale LP lautet

(D) min 3y1 +5y2

2y1 +y2 " 32y1 +2y2 " 5y1 +4y2 " 4y1, y2 " 0

Page 11: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

11 Petra Mutzel Alg. & Dat. WS 08/09

Bemerkung

•  Man kann eine optimale Duallösung aus dem Tableau ablesen: im Beispiel korrespondiert y1 zu x4 und y2 zu x5.

•  Die Dualvariablen erhalten die negativen Werte der reduzierten Kosten für die korrespondierenden Schlupfvariablen, falls diese nicht in der Basis sind, sonst 0.

•  Im Beispiel: y1*=2, y2*=1/2. •  Einsetzen in (D) zeigt: Zulässigkeit für (D) und

Wert=17/2 Optimalität wegen schwacher Dualitätssatz

Page 12: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

12 Petra Mutzel Alg. & Dat. WS 08/09

Dualitätssatz Dualitätssatz: Sei (P): max cTx, Ax≤b x≥0. Wenn (P) eine Optimallösung x* hat, so hat auch sein duales Problem (D) eine Optimallösung y*, so dass cTx*=y*Tb.

Beweis: Für den Beweis müssen wir aus x* eine zulässige Lösung y* bestimmen, die zulässig für (D) ist. Hierzu betrachten wir das letzte Tableau von (P) zu x*. Die Variablen xn+1,...,xn+m seien die Schlupfvariablen.

Page 13: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

Beweis ff Ist j ! N , so sei cj der zu xj gehorige Wert der reduzierten Kosten.Setze cj = 0 fur alle j ! B. Wir definieren

y!i = "cn+i fur i ! 1, 2, ...,m

und haben y!i # 0 fur alle i ! 1, 2, ...,m.Dann gilt fur alle x1, x2, ..., xn

n!

j=1

cjxj =n+m!

j=1

cjxj = cT x

= cTBA"1

B b + (cTN " cT

BA"1B AN )xN = z! +

n+m!

j=1

cjxj

= z! +n!

j=1

cjxj "m!

i=1

yi $ (bi "n!

j=1

aijxj)

= (z! "m!

i=1

biy!i ) +

n!

j=1

(cj +m!

i=1

aijy!i )xj

Page 14: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

Beweis vom Dualitätssatz

Fur xj = 0 fur alle j ! {1, 2, ..., n} folgt

0 = z! "m!

i=1

biy!i # z! =

m!

i=1

biy!i

Fur xj = 1 und xk = 0 fur alle k ! {1, 2, ..., n} \ j:

cj = 0 + cj +m!

i=1

aijy!i

#m!

i=1

aijy!i $ cj fur alle j ! {1, 2, ..., n}

Diese Gleichung muss für jede Wahl von x gelten, also auch für die beiden folgenden Besetzungen von x:

Page 15: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

15 Petra Mutzel Alg. & Dat. WS 08/09

Dualitätssatz

Korollar (alternative Version zum Dualitätssatz): Seien (P) und (D) zwei zueinander duale LPs. Sei x* ein zulässiger Punkt für (P) und y* zulässig

für (D). Dann gilt: y*Tb=cTx* ⇔ beide Lösungen x* und y* sind optimal

Der Dualitätssatz ist ein Grund dafür, dass Lineare Optimierung in vielen Bereichen (wie z.B. Approximations- algorithmen, primal-duale Algorithmen) eine wichtige Rolle spielt.

Page 16: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

16 Petra Mutzel Alg. & Dat. WS 08/09

Complementary Slackness Theorem Primales Programm (P):

Duales Programm (D):

Seien x eine zulässige Lösung für (P) und y zulässig für (D). Dann sind beide Lösungen optimal ⇔für allejgilt:

(cj !m!

i=1

aijyi)xj = 0

max cT x, Ax ! b, x " 0min bT y, yT A ! c, y ! 0

Page 17: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

17 Petra Mutzel Alg. & Dat. WS 08/09

Folgerungen aus Dualitätssatz

•  (P) besitzt genau dann eine Optimallösung, wenn (D) eine Optimallösung besitzt.

•  Wenn (P) unbeschränkt ist, dann muss (D) unzulässig sein (d.h. Lösungsmenge ist leer)

•  Wenn (D) unbeschränkt ist, dann muss (P) unzulässig sein (d.h. Lösungsmenge ist leer)

•  Es kann aber sein, dass beide (P) und (D) unzulässig sind.

Page 18: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

18 Petra Mutzel Alg. & Dat. WS 08/09

Abschließende Bemerkungen •  Es ist keine Polynomialzeitvariante des

Simplexalgorithmus bekannt. •  Dennoch ist er in der Praxis sehr effizient;

kommerzielle Pakete sind z.B. CPLEX, XPRESS, OSC,...

•  Es gibt polynomielle LP-Verfahren –  Ellipsoidmethode nicht praxistauglich –  Innere-Punkte-Verfahren werden oft in Praxis

verwendet: zunächst Innere-Punkte, dann Simplex •  Untere und obere Schranken für Variaben lassen

sich mit Varianten der revidierten Simplexmethod effizient behandeln.

Page 19: Professor Dr. Petra Mutzel Lehrstuhl für Algorithm ...ls11- · Petra Mutzel Alg. & Dat. WS 08/09 18 Abschließende Bemerkungen • Es ist keine Polynomialzeitvariante des Simplexalgorithmus

19 Petra Mutzel Alg. & Dat. WS 08/09

Nicht behandelt •  Phase 1 für das Simplexverfahren (Bestimmen einer

zulässigen Lösung) •  Duales Simplexverfahren (i.W. Simplex für das duale

Problem) •  In der Praxis wird oft das duale Verfahren verwendet,

das hängt von der Anwendung ab •  Post-Optimierung: bei leichter Änderung von c,b oder

A kann man von der Optimallösung aus weiterrechnen

•  Die Dualvariablen kann man ökonomisch interpretieren (Schattenpreise, s. Übung)

ENDE LP