Guten Morgen allerseits,
Ich beschäftige mich heute mit der nichtlinearen Programmierung, genauer gesagt zwei Aufgaben dazu. Die eine glaube ich gelöst zu haben:
Man hat die Funktion
max(500 - 8x2 - 7y2)
und die Nebenbedingung
8x + 9y ≥ 400
Man soll dann die einzige mögliche Lösung bestimmen und die lokale Bedingung zweiter Ordnung.
Dazu nutze ich die Lagrange-Funktion (L):
(1) L(x,y) = f(x,y) - λ(g(x)-c)
(2) L(x,y) = (500 - 8x2 - 7y2) - λ(8x + 9y - 400)
ich leite dann nach x, y und λ ab:
(3) L'x(x,y) = -16x - 8λ
(4) L'y(x,y) = -14y - 9λ
(5) L'λ(x,y) = 8x + 9y - 400
Ich setze dann (3) und (4) gleich (setze voraus, dass (3-5) jeweils = 0 sind) mittels nach 1*λ auflösen und erhalte dann
(6) x = (14/18)*y
eingesetzt in L'λ (wobei ich 400 bereits auf die andere Seite addiert habe)
(7) 8 * ((14/18)y) + 9 y = 400
(8) y ≈ 40.909
daraus ergibt sich dann
(9) x ≈ 3.977
zur Kontrolle
(10) 8x + 9y = 400 => 31.816 + 368.181 = 399.997 ≈ 400
Stimmt das soweit?
Für die lokale Bedingung zweiter Ordnung ist folgende Formel gegeben:
D(x,y,λ) = (f''11 - λ*g''11) * (g'2)2 - 2*(f''12 - λ*g''12) * g'1 * g'2 + (f''22 - λ*g''22) * (g'1)2
zur Erklärung der Notationen: f'' ist die zweite Ableitung, f''11 ist die zweite Ableitung vom ersten Term, also x, f''12 ist die zweite Ableitung, wobei zuerst (1. Ableitung) nach x und dann (2. Ableitung) nach y abgeleitet wird. Ist für euch wahrscheinlich so klar wie Quellwasser aber ich hatte eine Weile um das zu kapieren, vor allem weil so eine Kreuzableitung hier grds. 0 ergibt. Egal, ich rechne dann:
g'1 = 8 g'2 = 9 f''11 = -16 g''11 = 0 f''12 = 0 g''12 = 0 f''22 = -14 g''22 = 0
D(x,y,λ) = (-16 - λ * 0) * 92 - 2 * (0 - λ * 0) * 8 * 9 + (-14 - λ * 0) * 82
daraus erhalte ich
D(x,y,λ) = -2192
Stimmt das so?
Tausend Dank2 !