Technische Universität München 1 Dualität: Geometrische Herleitung

Werbung
MA4512
Technische Universität München
Zentrum Mathematik
Fallstudien Diskrete Optimierung
Dipl.-Math.Oec Melanie Bestle | Dr. Michael Ritter
Dienstag, 10. Mai 2011: Dualität
1 Dualität: Geometrische Herleitung
Gegeben sei ein LP in der Form
max c T x
Ax ≤ b,
den zugehörigen Polyeder bezeichnen wir mit P = {x ∈ Rn : Ax ≤ b}. Aus der linearen Optimierung kennen wir die Aussage
Satz 1 Ein zulässiger Punkt x ∗ ∈ P ist genau dann optimal für das LP, wenn c im Kegel der äußeren
Normalen an P im Punkt x ∗ NP (x ∗ ) liegt.
Anschaulich: Wenn das der Fall ist, kann man sich von x ∗ ausgehend entlang keiner Kante mehr verbessern.
Wie bekommen wir also raus, ob eine zulässige Lösung x ∗ schon optimal ist? Wir versuchen, c als Positivkombination der Normalenvektoren (also der Zeilen der Matrix A) darzustellen:
yT A = cT
y ≥0
Was uns dabei noch fehlt: Wir dürfen ja nur Normalenvektoren verwenden, die zu in x ∗ aktiven Nebenbedingungen gehören, also fügen wir die Komplementaritätsbedingungen hinzu:
y T (b − Ax ∗ ) = 0
Daraus liest man ab: x ∗ und y ∗ sind optimal genau dann, wenn beide zulässig sind und wenn (y ∗ )T b =
(y ∗ )T Ax ∗ = c T x ∗ gilt. Andererseits gilt für jedes zulässige y aber auch
c T x ∗ = y T Ax ∗ ≤ y T b,
also muss man y T b möglichst klein machen, um Gleichheit mit c T x ∗ zu erreichen. Damit lautet das duale
Problem:
min bT y
yT A = cT
y ≥0
Seite 1 von 7
SS 2011
MA4512
c
2 Dualität und Ungleichungen
Das „gewichtete Addieren“ der Zeilen von A kann man natürlich auch direkt an den Ungleichungen interpretieren, es gilt ja:
cT x∗ ≤ yT b
Was passiert nun, wenn man einen einzelnen bi -Eintrag verändert? Da y ≥ 0, verändert sich damit y T b
um yi · ∆bi . Entsprechend erhöht oder erniedrigt sich die Schranke für c T x ∗ , die primale Zielfunktion. Der
Wert von yi ist also ein Maß dafür, wie stark sich eine bi -Änderung auf die Zielfunktion auswirkt (das gilt
natürlich nur „lokal“ bei infinitesimal kleinen Änderungen, weil wir ja auch auf Zulässigkeit bezüglich der
anderen Nebenbedingungen achten müssen). Typischerweise drückt eine Ungleichung in Ax ≤ b eine
Ressourcenbeschränkung aus; yi gibt also an, wieviel eine Erhöhung der i -ten Ressource wert wäre. Man
kann yi daher als Preis dieser Ressource interpretieren.
3 Zusammenfassung
1. Zu jeder primalen Nebenbedingung korrespondiert eine duale Variable (und umgekehrt).
2. aktive primale Nebenbedingungen korrespondieren zu (potentiell) positiven dualen Variablen (und umgekehrt)
3. duale Variablen messen den möglichen „Gewinn“ (in der primalen Zielfunktion), den eine „Lockerung“
der korrespondierenden Ungleichung bringen würde
Seite 2 von 7
SS 2011
MA4512
4 Steaming on Convex Hulls – Einführung
Ein Beispiel aus der Praxis – ganz einfach, aber dennoch effektiv. Alle Details können in [BKRW07] nachgelesen werden, hier fassen wir nur kurz zusammen: Ein Zerstörer der US Navy besitzt vier Motoren, die in
drei „Antriebsmodi“ betrieben werden können (ein Motor, zwei Motoren, vier Motoren). Je nach Modus lassen sich verschiedene Geschwindigkeiten erzielen, der Verbrauch schwankt aber auch entsprechend, vgl.
die Grafik. Die Idee ist einfach: Um eine gewünschte Durchschnittsgeschwindigkeit zu erzielen, muss man
nicht ständig mit konstanter Geschwindigkeit fahren, man kann auch zwei verschiedene Geschwindigkeiten
„mischen“. Unter bestimmten Bedingungen lässt sich damit Treibstoff sparen.
fuel consumption
6,000
4,000
2,000
5
10
15
20
25
30
speed
Gegeben:
• S = {1, . . . , n}: Menge der „Betriebsmodi“ (für jede Geschwindigkeit im Abstand von einem oder
einem halben Knoten der jeweils beste Betriebsmodus)
• vs : Geschwindigkeit im Betriebsmodus s in nautischen Meilen pro Stunde
• rs : Verbrauch im Betriebsmodus s in Gallonen pro Stunde
• TIME: verfügbare Zeit für den Transit in Stunden
• DIST: Entfernung für den Transit in nautischen Meilen
Gesucht: Welche Betriebsmodi sollen wie lange gefahren werden, um mit möglichst wenig Gesamtverbrauch
die gegebene Entfernung in der gegebenen Zeit zurückzulegen?
Variablen xs : Anzahl Stunden (auch fraktionell möglich), die in Betriebsmodus s gefahren wird.
min
X
r s · xs
s∈S
X
vs · xs ≥ DIST
s∈S
X
xs ≤ TIME
s∈S
x ∈ Rn+
Seite 3 von 7
SS 2011
MA4512
Leicht umgeschrieben lautet das Problem:
min
X
r s · xs
s∈S
X
vs · xs ≥ DIST
s∈S
−
x
X
xs ≥ −TIME
s∈S
∈ Rn+
Damit ist das Duale (mit dualen Variablen d und t ):
max DIST · d − TIME · t
vs d − t ≤ r s
für alle s ∈ S
d, t ∈ R+
Interpretation:
• d ist der „Preis“ für längere Distanzen: Um wieviel steigt der Verbrauch, wenn eine nautische Meile
mehr zurückgelegt werden müsste?
• t ist der „Preis“ für eine Erhöhung der rechten Seite, also für eine Verkürzung der verfügbaren Zeit.
Anders interpretiert ist das der Betrag, den eine Zeitersparnis von einer Stunde einbringen würde.
• Beide Preise werden in Gallonen pro Meile bzw. Gallonen pro Stunde ausgedrückt.
• Komplementaritätsbedingungen: Wenn eine der beiden Grenzen nicht ausgeschöpft wird, dann bringt
es auch nichts (duale Variable = 0), die Bedingung zu lockern.
• Angenommen, es gäbe eine alternative Transportmöglichkeit, die man nach Strecke und Zeit bezahlen müsste. Jede zurückgelegte Meile kostet d (Gallonen), jede Stunde, die man für diesen Transport
veranschlagen kann, bringt eine Preisminderung um t (Gallonen). Wenn der Anbieter also ohne Zeitaufwand „beamen“ könnte, wäre allein der Meilenpreis ausschlaggebend. Der Preis für eine Stunde
Fahrt bei Geschwindigkeit vs ergibt sich dann als
vs · d − t.
Natürlich muss dieser Preis günstiger sein, als selbst zu fahren, also
vs · d − t ≤ r s .
Der Gewinn des Transport-Unternehmers ergibt sich dann als
DIST · d − TIME · t.
Das duale Problem ist also das Problem der Preissetzung.
Seite 4 von 7
SS 2011
MA4512
5 Dualität: Spieltheoretischer Ansatz
Seien n, m ∈ N und L : Rn × Rm → R, (x, y ) 7→ L(x, y ) eine stetige Funktion, die sogenannte LagrangeFunktion.
Sei ein Spiel mit zwei Spielern gegeben:
Spieler legt den Wert von x fest
Spieler legt den Wert von y fest
Am Spielende muss Spieler den Wert L(x, y ) an Spieler zahlen. Spieler versucht daher die
Lagrange-Funktion zu minimieren und Spieler diese zu maximieren .
Hat Spieler den Wert von y bereits festgelegt, so kann Spieler maximal noch
max L(x, y ).
x
von Spieler erhalten. Wenn Spieler zuerst wählen darf, erhält Spieler also bestenfalls
min max L(x, y ).
y
x
Analog gilt: Darf Spieler zuerst wählen, so muss Spieler mindestens
max min L(x, y )
x
y
an Spieler zahlen. Man kann zeigen, dass gilt:
min L(xe, y ) ≤ max min L(x, y ) = min max L(x, y ) ≤ max L(x, ye)
y
x
y
y
x
x
∀ xe ∈ Rn , ye ∈ Rm .
(1)
Ist das Primale Problem (P) ein Maximierungsproblem auf den Variablen x und das dazu Duale Problem
(D) ein Minimierungsproblem auf den Variablen y , so entspricht Gleichung (1) bei entsprechender Wahl der
Lagrange-Funktion der schwachen und starken Dualität.
Dualisieren
Sei folgendes Primale Problem (P) gegeben:
max
n
X
i=1
n
X
i=1
n
X
i=1
n
X
ci xi
a1i xi ≥ b1
a2i xi ≤ b2
a3i xi = b3
i=1
xi ≥ 0 ∀i = 1, . . . , n
Seite 5 von 7
SS 2011
MA4512
Die Dualvariable zur ersten Nebenbedingung sei mit y1 bezeichnet. Dann ist (P) äquivalent zu folgendem
Problem:
!
n
n
X
X
max min
xi ≥0 y1 ≥0
a1i xi − b1
ci xi + y1
i=1
n
X
i=1
a2i xi ≤ b2
i=1
n
X
a3i xi = b3
i=1
Warum? Wählt Spieler x so, dass die erste Nebenbedingung von (P) verletzt wird, so ist der geklammerte
Term in der Zielfunktion echt kleiner Null. Dann kann Spieler y1 beliebig positiv wählen, wodurch der
gesamte Zielfunktionswert beliebig negativ wird. Hält Spieler dagegen bei seiner Wahl von x alle Nebenbedingungen von (P) ein, so ist der geklammerte Term in der Zielfunktion größer gleich Null, Spieler wählt
y1 = 0 und der Zielfunktionswert ist positiv. Spieler wird daher bei der Wahl von x darauf achten, dass
alle Nebenbedingungen von (P) eingehalten werden.
Analog können auch die anderen Nebenbedingungen in die Zielfunktion verschoben werden. Zunächst die
zweite Nebenbedingung mit der Dualvariable y2 :
!
!
n
n
n
X
X
X
max min
xi ≥0 y1 ,y2 ≥0
a1i xi − b1 + y2 b2 −
ci xi + y1
i=1
n
X
i=1
a2i xi
i=1
a3i xi = b3
i=1
Und schließlich die dritte Nebenbedingung mit der Dualvariablen y3 . Hierbei ist zu beachten, dass y3 ∈ R,
da Abweichungen, gleich ob nach oben oder unten, bestraft werden.
!
!
!
n
n
n
n
X
X
X
X
max min
xi ≥0 y1 ,y2 ≥0
y3 ∈R i=1
a1i xi − b1 + y2 b2 −
ci xi + y1
i=1
a2i xi
a3i xi − b3
+ y3
i=1
i=1
Die Lagrange-Funktion lautet damit:
L(x, y ) =
n
X
ci xi + y1
i=1
n
X
!
a1i xi − b1 + y2 b2 −
i=1
n
X
!
a2i xi
+ y3
i=1
min max
a1i xi − b1 + y2 b2 −
ci xi + y1
i=1
!
a3i xi − b2
i=1
Das duale Problem ergibt sich durch Vertauschen von Maximum und Minimum :
!
!
n
n
n
X
X
X
y1 ,y2 ≥0 xi ≥0
i=1
y3 ∈R
n
X
a2i xi
+ y3
i=1
n
X
!
a3i xi − b3
i=1
Durch Umformung ergibt sich:
min max − b1 y1 + b2 y2 − b3 y3 +
y1 ,y2 ≥0 xi ≥0
y3 ∈R
n
X
(ci + a1i y1 − a2i y2 + a3i y3 ) xi
i=1
und das Duale Problem (D) lautet:
min − b1 y1 + b2 y2 − b3 y3
ci + a1i y1 − a2i y2 + a3i y3 ≤ 0 ∀i = 1, . . . , n
y1 , y2 ≥ 0
Seite 6 von 7
SS 2011
MA4512
Warum? Wählt Spieler y so, dass eine der Nebenbedingungen verletzt wird, so wäre der zugehörige geklammerte Term in der Zielfunktion der vorangegangen Formulierung echt größer Null und Spieler kann
den Eintrag von x beliebig positiv setzten, wodurch die Zielfunktion beliebig positiv wird. Da Spieler dies
verhindern möchte, wird er alle Nebenbedingungen von (D) einhalten.
Warum sollte man so dualisieren? Das ist doch viel aufwändiger als die geometrische Herleitung.
• Umformung in natürliche Form nicht notwendig
• Koeffizientenmatrix muss nicht aufgestellt und transponiert werden. Dies ist insbesondere bei dünnbesetzten Matrizen oft schwierig, da hier schnell der Überblick verloren geht, an welchen Positionen
sich die Einträge befinden.
6 Beispiel
Nun soll das Beispiel aus Abschnitt 4 mit dem Spieltheoretischen Ansatz dualisiert werden. Das Primale
Problem
X
r s · xs
min
s∈S
X
vs · xs ≥ DIST
s∈S
X
xs ≤ TIME
s∈S
x ∈ Rn+
entspricht mit den dualen Variablen d und t dem folgendem Problem:
!
X
X
min max
rs · xs + d DIST −
vs · xs + t
x≥0 d,t≥0
s∈S
s∈S
!
X
xs − TIME
s∈S
Durch Vertauschen von Minimierung und Maximierung und anschließendes Vereinfachen ergibt sich:
X
max min DIST · d − TIME · t +
(rs − vs d + t) xs
d,t≥0 x≥0
s∈S
Damit lautet das Duale Problem:
max DIST · d − TIME · t
vs d − t ≤ r s
für alle s ∈ S
d, t ∈ R+
Literatur
[BKRW07]
Gerald G. Brown, Jeffrey E. Kline, Richard E. Rosenthal und Alan R. Washburn. „Steaming on
Convex Hulls“. In: Interfaces 37.4 (2007), S. 342–352. DOI: 10.1287/inte.1070.0286. URL:
http://interfaces.journal.informs.org/cgi/content/abstract/37/4/342.
Seite 7 von 7
SS 2011
Herunterladen