Post on 05-Aug-2019
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
2 Petra Mutzel Alg. & Dat. WS 08/09
Literatur für diese VO
• V. Chvatal: Linear Programming
• D. Bertsimas: Linear Programming
3 Petra Mutzel Alg. & Dat. WS 08/09
Überblick 4.3 Das Duaitätstheorem der linearen
Optimierung • Duales Programm • Schwacher Dualitätssatz • Dualitätssatz
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
5 Petra Mutzel Alg. & Dat. WS 08/09
Dualität der Linearen Programmierung Primales Programm:
Duales Programm:
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
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
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“.
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
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
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
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.
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
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:
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.
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
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.
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.
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