FK WMS: Wirtschaftsmathematik 2, Einheit 7/8 Markus Sinnl1 [email protected] http://homepage.univie.ac.at/markus.sinnl basierend auf Folien von Dr. Ivana Ljubic, Mag. Christian Spreitzer und Mag. Reinhard Ullrich 1 Sprechstunde: MI, 10-11 Uhr [04/343] FK WMS: Wirtschaftsmathematik 2, Einheit 7/8 I Extremalprobleme mit Ungleichungen als Nebenbedingungen I I I 2/18 Konvexität von Mengen Konkave und konvexe Programme Satz von Karush-Kuhn-Tucker Konvexität Definition: Eine Menge C im Rn heißt konvex, wenn zu je zwei Punkten ~x1 , ~x2 ∈ C auch die Verbindungsstrecke zwischen ~x1 und ~x2 ganz in C liegt, d.h. λ~x1 + (1 − λ)~x2 ∈ C für alle ~x1 , ~x2 ∈ C und λ ∈ [0, 1] Bemerkung: I Der Durchschnitt von zwei oder mehreren konvexen Mengen ist konvex. I Die Vereinigung von zwei konvexen Mengen ist im allgemeinen nicht mehr konvex. Proposition: Sei g : C → R eine auf einer konvexen Teilmenge C des Rn definierte konvexe Funktion. Dann ist für jedes b ∈ R die Menge Cb = {~x ∈ C |g (~x ) ≤ b} 3/18 konvex. Extremalprobleme mit Ungleichungen als Nebenbedingungen Der zulässige Bereich eines Optimierungsproblems: Für das Optimierungsproblem f (~x ) = max! g1 (~x ) g2 (~x ) gm (~x ) ≤ ≤ .. . ≤ b1 b2 bm nennen wir die Menge C = {~x ∈ Rn | gj (~x ) ≤ bj für j = 1, 2, . . . , m} den zulässigen Bereich des Optimierungsproblems. 4/18 Extremalprobleme mit Ungleichungen als Nebenbedingungen Bemerkungen: I Wenn ein Minimierungsproblem F (x) = min! vorliegt, lässt es sich durch Änderung des Vorzeichens in die max!-Form überführen: f (x) = −F (x) = max!. I Die Ungleichungen der Form h(~x ) ≥ bj lassen sich in die Form g (~x ) = −h(~x ) ≤ −bj umschreiben. I Eine Gleichheitsnebenbedingung g (~x ) = bj schreiben wir als: g (~x ) ≤ bj und −g (~x ) ≤ −bj . 5/18 Extremalprobleme mit Ungleichungen als Nebenbedingungen (In)Aktive Restriktionen: Eine Restriktion gj (~x ) ≤ bj heißt aktiv im Punkt ~x ∗ ∈ C , falls gilt: gj (~x ∗ ) = bj . Die Indexmenge der im Punkt ~x ∗ ∈ C aktiven Nebenbedingungen bezeichnen wir mit Ja (~x ∗ ), jene der inaktiven Nebenbedingungen mit Ji (~x ∗ ). Beispiel: Der zulässige Bereich C eines Optimierungsproblems sei durch folgende Ungleichungen beschrieben: g1 (x, y ) = x 2 + y 2 ≤ 25, g2 (x, y ) = x ≤ 4, g3 (x, y ) = −x − y ≤ −1 Untersuchen Sie für die angegebenen Punkte Pj , ob Sie im zulässigen Bereich C liegen. Geben Sie für Punkte im zulässigen Bereich die Menge der aktiven und die Menge der inaktiven Nebenbedingungen an! P1 (3| − 4), 6/18 P2 (−1|2), P3 (2|2), P4 (4| − 3), P5 (−3|4), P6 (0|5) Beispiel: C = {(x, y ) ∈ R2 : x 2 + y 2 ≤ 25 ∧ x ≤ 4 ∧ −x − y ≤ −1} g1 (x, y ) = x 2 + y 2 ≤ 25, g2 (x, y ) = x ≤ 4, g3 (x, y ) = −x − y ≤ −1 I P1 (3| − 4): P1 ∈ / C , da g3 |P1 = −3 + 4 = 1 I P2 (−1|2): g1 |P2 = 5 < 25, g2 |P2 = −1 < 4, g3 |P2 = −1 ⇒ Ja (P2 ) = {3}, Ji (P2 ) = {1, 2} I P3 (2|2): g1 |P3 = 8 < 25, g2 |P3 = 4, g3 |P3 = −4 < −1 ⇒ Ja (P3 ) = {2}, Ji (P3 ) = {1, 3} I P4 (4| − 3): g1 |P4 = 25, g2 |P4 = 4, g3 |P4 = −1 ⇒ Ja (P4 ) = {1, 2, 3}, Ji (P4 ) = {} I P5 (−3|4): g1 |P5 = 25, g2 |P5 = −3 < 4, g3 |P5 = −1 ⇒ Ja (P5 ) = {1, 3}, Ji (P5 ) = {2} I P6 (0|5): g1 |P6 = 25, g2 |P6 = 0 < 4, g3 |P6 = −5 < −1 ⇒ Ja (P6 ) = {1}, Ji (P6 ) = {2, 3} 7/18 Konkaves/Konvexes Programm Konkaves Programm Ein Optimierungsproblem ≤ b1 .. . gm (~x ) ≤ bm heißt konkaves Programm, wenn die Zielfunktion f eine konkave Funktion und die Nebenbedingungsfunktionen gj konvexe Funktionen sind (letzteres stellt sicher, dass der zulässige Bereich eine konvexe Menge ist). f (~x ) = max! g1 (~x ) Konvexes Programm Ein Optimierungsproblem ≤ b1 .. . gm (~x ) ≤ bm heißt konvexes Programm, wenn die Zielfunktion f eine konvexe Funktion und die Nebenbedingungsfunktionen gj konvexe Funktionen sind (letzteres stellt sicher, dass der zulässige Bereich eine konvexe Menge ist). . f (~x ) = min! 8/18 g1 (~x ) Satz von Karush-Kuhn-Tucker Satz von Karush-Kuhn-Tucker: Sei ~x ∗ ein lokaler Maximizer für das Optimierungsproblem f (~x ) = max! g1 (~x ) g2 (~x ) gm (~x ) ≤ ≤ .. . ≤ b1 b2 bm 1. Dann gibt es nichtnegative Zahlen λ1 , . . . , λm , sodass m X gradf (~x ∗ ) = λj · grad gj (~x ∗ ) j=1 Außerdem gelten “complementary slackness” Bedingungen: gj inaktiv ⇒ λj = 0 bzw. λj 6= 0 ⇒ gj aktiv 2. Wenn ein konkaves Programm vorliegt, dann ist Bedingung (1) hinreichend dafür, dass ~x ∗ ein Maximizer des Optimierungsproblems ist. 3. Bemerkung: ~x ∗ muss darüberhinaus die “constraint qualification” erfüllen. 9/18 Satz von Karush-Kuhn-Tucker Satz von Karush-Kuhn-Tucker: Sei ~x ∗ ein lokaler Minimizer für das Optimierungsproblem f (~x ) = min! g1 (~x ) g2 (~x ) gm (~x ) ≤ ≤ .. . ≤ b1 b2 bm 1. Dann gibt es nichtpositive Zahlen λ1 , . . . , λm , sodass m X gradf (~x ∗ ) = λj · grad gj (~x ∗ ) j=1 Außerdem gelten “complementary slackness” Bedingungen: gj inaktiv ⇒ λj = 0 bzw. λj 6= 0 ⇒ gj aktiv 2. Wenn ein konvexes Programm vorliegt, dann ist Bedingung (1) hinreichend, dass ~x ∗ ein Minimizer des Optimierungsproblems ist. 3. Bemerkung: ~x ∗ muss darüber hinaus die “constraint qualification” erfüllen. 10/18 Satz von Karush-Kuhn-Tucker Constraint qualification: Dies sind gewisse Kriterien, die die Nebenbedingungen erfüllen müssen, damit der Satz von Karush-Kuhn-Tucker anwendbar ist. Hinreichend für die Anwendbarkeit des Satzes ist etwa jede der folgenden Bedingungen: I Alle Nebenbedingungen (gj )m j=1 sind linear. I Alle Nebenbedingungen (gj )m x ) 6= 0 für alle j und j=1 sind konvex, es gilt grad gj (~ es gibt ein ~x ∗ , für das keine Nebenbedingung aktiv ist, d.h. gj (~x ∗ ) < bj für alle j = 1, ..., m. I Alle Nebenbedingungen sind differenzierbar und die Gradienten grad gj (~x ) sind linear unabhängig, wobei j durch die Menge Ja (~x ) der in ~x aktiven Nebenbedingungen läuft. 11/18 Satz von Karush-Kuhn-Tucker Bemerkung: Die KKT-Bedingungen lassen sich aus der Lagrange-Funktion ableiten: L(x1 , x2 , . . . , xn , λ1 , . . . , λm ) = f (~x ) − m X j=1 Die folgenden Gleichungen müssen erfüllt sein: ∂L ∂L = 0, . . . , =0 ∂x1 ∂xn und 12/18 ∂L ∂L ≥ 0, . . . , ≥0 ∂λ1 ∂λm λj (gj (~x ) − bj ). Satz von Karush-Kuhn-Tucker - Beispiel Beispiel: Angenommen, die Kosten der Produktionsfaktoren betragen 1 Euro pro Einheit Arbeit und Kapital in der Cobb-Douglas Funktion: 1 1 f (x, y ) = x 2 y 4 , maximiere die Produktion, wenn insgesamt b Euro für die Produktionsfaktoren zur Verfügung stehen. Optimierungsproblem: 1 1 f (x, y ) = x 2 y 4 = max! g (x, y ) = x +y ≤b Bereich für Optimierung: Ω = {(x, y ) ∈ R2 : x > 0 ∧ y > 0} 13/18 14/18 Beispiel: 1 1 f (x, y ) = x 2 y 4 , g (x, y ) = x + y ≤ b, 3 Hf (x, y ) = Df = {(x, y ) ∈ R2 : x > 0 ∧ y > 0} 1 − 41 x − 2 y 4 1 − 21 − 34 x y 8 1 − 12 − 43 x y 8 3 12 − 47 − 16 x y ! I Hauptminoren: I I 3 1 ∆1 = − 14 x − 2 y 4 < 0 auf Df 1 −1 − 23 > 0 auf Df ∆2 = 32 x y I Somit ist Hf überall auf Ω negativ definit und f global konkav. I Da f konkav und g konvex, handelt es sich um ein konkaves Programm. I Karush-Kuhn-Tucker-Bedingungen: 1 −1 1 x 2y4 −λ 2 1 1 −3 x2y 4 −λ 4 x +y = 0 = 0 ≤ b I Für λ = 0 wäre x + y < b erlaubt, jedoch ist λ = 0 nicht möglich! I Die Substitution x = b − y transformiert die ersten beiden Gleichungen in (b − y )− 2 y 4 1 1 = 2λ (b − y ) y − 34 = 4λ 1 2 I Dies führt zu 1 1 1 3 2(b − y )− 2 y 4 = (b − y ) 2 y − 4 2y = y = b−y b 3 1 4 2b 3 und λ = . 3 64b I Da ein konkaves Programm vorliegt, ist dies der eindeutige Maximizer des Problems. I Optimale Lösung besteht also in einer Aufteilung der Mittel im Verhältnis 2:1 auf die Produktionsfaktoren x und y . und somit x = 15/18 Satz von Karush-Kuhn-Tucker - Beispiel Beispiel: Prüfe, ob der Punkt P = (4, 3) ein lokaler (der globale) Minimizer des gegebenen Problems ist: −(4x + 3y )2 → min! x2 + y2 2x + y ≤ ≥ 25 4 Satz: Eine stetige Funktion nimmt auf einem abgeschlossenen und beschränkten Bereich stets ein globales Maximum und ein globales Minimum. 16/18 f (x, y ) = −(4x + 3y )2 = min!, g1 (x, y ) = x 2 + y 2 ≤ 25, g2 (x, y ) = −2x − y ≤ −4 Ist P = (4, 3) ein lokaler Minimizer (der globale Minimizer) des Problems? I Zeige, dass die KKT-Bedingungen erfüllt sind, d.h. dass es nichtpositive Zahlen λ1 und λ2 gibt, sodass grad f (x, y ) = λ1 grad g1 (x, y ) + λ2 grad g2 (x, y ) I Bei P ist g1 aktiv und g2 inaktiv, d.h. λ2 = 0 (complementary slackness). −8(4x + 3y ) −8 · 25 I grad f (x, y ) = ⇒ grad f |P = −6(4x + 3y ) −6 · 25 2x 8 I grad g1 (x, y ) = ⇒ grad g1 |P = 2y 6 I Es ist also grad f |P = −25 · grad g1 |P ⇒ KKT-Bedingungen für Minimizer sind erfüllt. I Da aber f konkav, g1 , g2 konvex und ein Minimizer gesucht wird, ist dies noch nicht hinreichend (kein konvexes Programm). Es ist daher eine nähere Untersuchung des Punktes P nötig! 17/18 Die Niveaulinie von f durch P = (4, 3) schneidet den zulässigen Bereich nur im Punkt P und liegt sonst außerhalb des zulässigen Bereichs. Offenbar ist P jener Punkt im zulässigen Bereich mit dem kleinsten Funktionswert und damit globaler Minimizer des Problems. 18/18