Kuhn-Tucker

Werbung
Optimierung mit Ungleichungen als Nebenbedingungen
Gegeben ist das folgende Problem (P):
f (x1, x2, . . . , xn)
7→ ext!
g1(x1, x2, . . . , xn) ≤
g2(x1, x2, . . . , xn) ≤
...
gm(x1, x2, . . . , xn) ≤
b1
b2
bm
Spezialfälle:
1) Das obige Problem heißt lineares Program,
falls die Zielfunktion f und alle Nebenbedingungen g1, . . . gm linear sind (→ lineare Optimierung, Simplexalgorithmus).
1
2a) Das obige Problem heißt
konvexes Program, falls
(i) ein Minimum gesucht wird,
(ii) die Zielfunktion f konvex ist und
(iii) alle Nebenbedingungen g1, . . . gm konvex
sind.
2b) Das obige Problem heißt
konkaves Program, falls
(i) ein Maximum gesucht wird,
(ii) die Zielfunktion f konkav ist und
(iii) alle Nebenbedingungen g1, . . . gm konvex
sind.
Satz: Wenn ein konkaves Programm im Punkt
x∗ ein lokales Maximum annimmt, dann nimmt
es in x∗ sogar ein globales Maximum an.
(Analog: Wenn ein konvexes Programm im
Punkt x∗ ein lokales Minimum annimmt, dann
nimmt es in x∗ sogar ein globales Minimum
an.)
2
Definition:
Mit C wird der zulässige Bereich bezeichnet,
d.h. alle Punkte (x1, . . . , xn), sodaß
g1(x1, x2, . . . , xn) ≤ b1
g(x1, x2, . . . , xn) ≤ b2
...
gm(x1, x2, . . . , xn) ≤ bm
gilt. Sei x∗ ∈ C so, daß gj (x∗) = bj , dann heisst
die Nebenbedingung gj aktiv in x∗.
Sei x∗ ∈ C so, daß gj (x∗) < bj , dann heisst die
Nebenbedingung gj inaktiv in x∗
3
Satz von Kuhn–Tucker:
Sei x∗ ein lokaler Maximizer des Problems (P).
Weiters soll x∗ die ”constraint qualifications”
erfüllen.
(i)
Dann gibt es Zahlen λ1 ≥ 0, λ2 ≥ 0, . . . , λm ≥ 0,
sodaß
gradf (x∗) =
m
X
λj gradgj (x∗).
j=1
Es gilt, daß λj = 0, wenn gj inaktiv ist.
(ii)
Ist (P) ein konkaves Programm, dann ist (i)
auch hinreichend dafür, daß x∗ ein lokaler (und
damit auch globaler) Maximizer ist.
Analog gilt der Satz für Minimizer: dann müssen
die λj aus (i) ≤ 0 sein. Und in (ii) steht dann
konvexes Programm.
4
Beispiel 1:
2
f (x1, x2) = 2x2
1 + x2 7→ Max!
2
g(x1, x2) = x2
1 + x2 ≤ 1
Es handelt sich weder um ein konvexes noch
ein konkaves Programm!
2 − λ(x2 + x2 − 1)
L(x1, x2, λ) = 2x2
+
x
1
2
1
2
∂L = 4x − 2λx = 0
1) ∂x
1
1
1
∂L = 2x − 2λx = 0
2) ∂x
2
2
2
2≤1
3) x2
+
x
1
2
. . . 1)–3) sind die Kuhn–Tucker–Bedingungen
für dieses Problem.
5
Fall 1: λ = 0
Das ergibt als Lösung P0 = (0, 0). Nebenbedingung ist erfüllt, d.h. P0 ist ein Kandidat.
Offensichtlich ist P0 aber kein Maximizer sondern ein Minimizer (Zielfunktion anschauen).
Fall 2: λ 6= 0
Dieser Fall hat folgende Punkte als Lösungen:
P1 = (1, 0) mit λ = 2, P2 = (−1, 0) mit λ =
2, P3 = (0, 1) mit λ = 1, P4 = (0, −1) mit
λ = 1. Alle vier Punkte sind Kandidaten für
Maximizer, da jedes der λ ≥ 0. Da es sich
nicht um ein konkaves Programm handelt, sind
weitere Überlegungen notwendig, um zu bestimmen welche der 4 Punkte Maximizer sind.
6
Beispiel 2:
f (x1, x2) = −x2
1 − x2 7→ Max!
g1(x1, x2) = x1 − x2 ≤ 0
g2(x1, x2) = x1 ≤ 0
Es handelt sich um ein konkaves Programm
(nachprüfen!)
L(x1, x2, λ1, λ2) = −x2
1 − x2 − λ1 (x1 − x2 ) − λ2 x1
∂L = −2x − λ − λ = 0
1) ∂x
1
1
2
1
∂L = −1 + λ = 0
2) ∂x
1
2
3) x1 − x2 ≤ 0
4) x1 ≤ 0
. . . 1)–4) Kuhn–Tucker–Bedingungen.
7
Fall 1: λ1 = λ2 = 0
Das ist nicht möglich, da aus 2) folgt, daß
λ1 = 1.
Fall 2: λ1 = 0, λ2 6= 0
Nicht möglich, siehe Fall 1.
Fall 3: λ1 6= 0, λ2 = 0
1 , − 1 ) mit λ = 1 ≥
Ergibt als Lösung P = (− 2
1
2
0, also ist P Kandidat für lokalen Maximizer.
Da es sich um ein konkaves Programm handelt
⇒ P ist ein lokaler Maximizer und somit globaler Maximizer.
Fall 4: λ1 6= 0, λ2 6= 0
Es ist nicht mehr notwendig, diesen Fall zu
betrachten, da es sich um ein konkaves Programm handelt und wir den globalen Maximizer bereits im Fall 3 gefunden haben.
8
Herunterladen