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