Programowanie nieliniowe Badania operacyjne Wykład 3 Metoda Lagrange a
Plan wykładu Przykład problemu z nieliniową funkcją celu Sformułowanie problemu programowania matematycznego Podstawowe definicje Problem z ograniczeniami w postaci równości Twierdzenie Lagrange a Metoda Lagrange a Przykład
Nieliniowa funkcja celu Na schemacie v oznacza napięcie źródła, r opór wewnętrzny źródła, a R opór odbiornika. Znaleźć taką wartość R, aby strata mocy była maksymalna, jeżeli dopuszczalny spadek napięcia na oporniku wynosi E? + r R P = i R v i= r+ R E = ir
Nieliniowa funkcja celu i ograniczenia r + R zmaksymalizować vr przy ograniczeniach : <E r+r v P = R r+r
0 1 3 4 5 6 7 8 9 10 11 1 P Nieliniowa funkcja celu r + R zmaksymalizować dp = dr 4 r+ R v r+ R - r+ R v R v P = R r+r strata mocy 4,5 4 3,5 3,5 1,5 1 0,5 0 R strata mocy R= r
0 1 3 4 5 6 7 8 9 10 11 1 P Nieliniowa funkcja celu i ograniczenia r + R v zmaksymalizować P = R r+r przy ograniczeniach : R < Er v-e strata mocy 4,5 4 3,5 3,5 1,5 1 0,5 0 strata mocy R
0 1 3 4 5 6 7 8 9 10 11 1 P Nieliniowa funkcja celu i ograniczenia r + R v zmaksymalizować P = R r+r przy ograniczeniach : R < Er v-e strata mocy 4,5 4 3,5 3,5 1,5 1 0,5 0 strata mocy R
Sformułowanie problemu programowania matematycznego zminimalizować (zmaksymalizować) z = f 0 (x 1, x,..., x n ) przy ograniczeniach f 1 (x 1, x,..., x n ) 0 f (x 1, x,..., x n ) 0 f m (x 1, x,..., x n ) 0
Sformułowanie problemu programowania matematycznego zminimalizować (zmaksymalizować) z = f 0 (x) przy ograniczeniach: f i (x) 0, i = 1,, m x n
Sformułowanie problemu programowania matematycznego zminimalizować (zmaksymalizować) z = f 0 (x) przy ograniczeniach: f i (x) 0, i = 1,, m Problem programowania liniowego jest szczególnym przypadkiem problemu programowania matematycznego zminimalizować (zmaksymalizować) przy ograniczeniach: x n z = f 0 (x) = cx f i (x)=a i x b i 0,i = 1,, m x n+
Klasyfikacja problemów NLP Problemy bez ograniczeń Problemy z ograniczeniami Ograniczenia w postaci równań Ograniczenia w postaci nierówności
Ekstremum funkcji Niech: S = {x: f i (x) 0, i = 1,..., m} - zbiór rozwiązań dopuszczalnych D = {x: 0 < x* x < d } E = S D Funkcja f 0 ma w punkcie x* słabe minimum (maksimum) lokalne, jeśli istnieje d>0 takie, że dla każdego x E f 0 (x*) f 0 (x), (f 0 (x*) f 0 (x))
Ekstremum funkcji Niech: S = {x: f i (x) 0, i = 1,..., m} - zbiór rozwiązań dopuszczalnych D = {x: 0 < x* x < d } E = S D Funkcja f 0 ma w punkcie x* właściwe minimum (maksimum) lokalne, jeśli istnieje d>0 takie, że dla każdego x E f 0 (x*) < f 0 (x), (f 0 (x*) > f 0 (x))
Ekstremum funkcji Niech: S = {x: f i (x) 0, i = 1,..., m} - zbiór rozwiązań dopuszczalnych D = {x: 0 < x* x < d } E = S D Funkcja f 0 ma w punkcie x* właściwe minimum (maksimum) globalne, jeśli dla każdego x S f 0 (x*) < f 0 (x), (f 0 (x*) > f 0 (x))
Ekstremum funkcji minimum lokalne maksimum lokalne punkt przegięcia.4 1.79 0.94 0 0.83 minimum globalne
1 3 5 7 9 11 13 15 17 19 1 Funkcje wielu zmiennych 1 x x f x = - + Punkt siodłowy 50 40 30 0 10 f(x) 0-10 -0-30 -40-50 -4 8 x x1-10
Poszukiwanie ekstremum funkcji nieliniowej S = x zminimalizować x 1 + x (x 1 7) + (x 7) 5 (x 1 7) + (x 7) 7 7 x 1 Brak rozwiązań dopuszczalnych a zatem brak rozwiązań optymalnych!
Poszukiwanie ekstremum funkcji nieliniowej S = S x zminimalizować x 1 + x (x 1 7) + (x 7) 5 (x 1 7) + (x 7) 7 7 x 1 Rozwiązanie optymalne ograniczone!
Poszukiwanie ekstremum funkcji nieliniowej S = S x zmaksymalizować x 1 + x (x1 7) + (x 7) 7 7 x 1 Rozwiązanie optymalne nieograniczone!
Poszukiwanie ekstremum funkcji nieliniowej S = S f 0 (x) zminimalizować x 1 x x Rozwiązanie optymalne ograniczone, ale nieosiągalne!
Poszukiwanie ekstremum funkcji nieliniowej S = S optimum ograniczone wartość funkcji nieograniczona wartość funkcji ograniczona, ale optimum nieosiągalne
Gradient funkcji wielu zmiennych Wektor pochodnych cząstkowych funkcji f(x): n ze względu na x 1,..., x n nazywa się gradientem funkcji f(x) i oznacza się go przez f(x). x f x1 f x f x xn x jest punktem stacjonarnym funkcji f(x) wtw f(x)=0.
0 1 3 4 5 6 7 8 9 10 11 1 P Nieliniowa funkcja celu r + R Czy w punkcie R = r jest maksimum? 4,5 zmaksymalizować dp = dr strata mocy 4 r+ R v r+ R - r+ R v R v P = R r+r 4 3,5 3 P R rv r R 5 0,5 1,5 1 strata mocy 0,5 0 R
Hesjan funkcji f(x) H x f f f x 1 x x x x x x x 1 1 f f f x x x n 1 n n x x x x x n Zakładamy, że f f x x x x 1 1
Określoność macierzy Dla dowolnej macierzy M o wymiarach n x n i wektora z o długości n dodatnnio określona > 0 M jest dodatnio półokreślona ujemnie określona z T Mz jest 0 < 0 dla dowolnego z 0 ujemnie pólokreślona 0 W pozostałych przypadkach M jest nieokreślona.
Twierdzenie H(x*) jest dodatnio określona x* jest właściwym minimum lokalnym H(x) jest dodatnio określona dla wszystkich wartości x w pewnym otoczeniu x* x* jest minimum lokalnym x* jest minimum lokalnym H(x*) jest dodatnio półokreślona
Problem z ograniczeniami w postaci równań zminimalizować f 0 (x)=(x 1 1) + x +1 przy ograniczeniach: f 1 (x)= x 1 0.5x = 0
Metoda graficzna x 1 0.5x =0 x f 0 (x)=1,5 f 0 (x)=3,5 (0, 0) (1,0) x 1 f 0 (x)= zmin f 0 (x)=(x 1 1) + x +1 p.o. f (x)= x 0.5x = 0
Podstawienie zminimalizować f 0 (x)=(x 1 1) + x +1 przy ograniczeniach: f 1 (x)= x 1 0.5x = 0 Otrzymujemy problem z jedną zmienną bez ograniczeń. x 1 = 0.5 x zminimalizować f 0 (x)=(0.5x 1) + x +1
Metoda graficzna x 1 0.5x =0 x (0, 0) (1,0) x 1 zmin f 0 (x)=(x 1 1) + x +1 p.o. f (x)= x 0.5x = 0
Twierdzenie Lagrange a Niech dany będzie następujący problem nieliniowego programowania matematycznego zminimalizować z = f 0 (x 1,..., x n ) (1) przy ograniczeniach: f i (x 1,..., x n ) = 0, i = 1,, m () Jeżeli: ( * * x1,..., xn ) jest lokalnym optimum problemu (1)-() n>m f i mają ciągłe pierwsze pochodne ze względu na x j * * f są wektorami liniowo niezależnymi i x1,..., xn to istnieje wektor u = [u 1,..., u m ] T taki, że m * * * *,...,,..., n i i n f x x u f x x 0 1 1 i1 0
Metoda Lagrange a 1. Sprawdzić, że n>m i każda funkcja f i ma ciągłe pochodne cząstkowe.. Zbudować funkcję Lagrange a x, u 0 x iix 3. Znaleźć wszystkie rozwiązania następującego układu równań nieliniowych 4. Sprawdzić każde rozwiązanie (x*, u*) aby stwierdzić, czy jest minimum lokalnym. m L f u f i1, 0 i i L x u f x u f x 0 L xu, u i x m i1 f 0, i 1,..., m i
Metoda Lagrange a 1. Sprawdzić, że n>m i każda funkcja f i ma ciągłe pochodne cząstkowe.. Zbudować funkcję Lagrange a m x, u 0 x iix L f u f 3. Znaleźć wszystkie rozwiązania następującego układu równań nieliniowych i1, 0 i i L x u f x u f x 0 L xu, u i x m i1 f 0, i 1,..., m i n równań m równań 4. Sprawdzić każde rozwiązanie (x*, u*) aby stwierdzić, czy jest minimum lokalnym.
Metoda Lagrange a Warunki Lagrange a 1. Sprawdzić, że n>m i każda funkcja f i ma ciągłe pochodne cząstkowe.. Zbudować funkcję Lagrange a x, u 0 x iix 3. Znaleźć wszystkie rozwiązania następującego układu równań nieliniowych 4. Sprawdzić każde rozwiązanie (x*, u*) aby stwierdzić, czy jest minimum lokalnym. m L f u f i1, 0 i i L x u f x u f x 0 L xu, u i x m i1 f 0, i 1,..., m i
Metoda Lagrange a Punkty Lagrange a 1. Sprawdzić, że n>m i każda funkcja f i ma ciągłe pochodne cząstkowe.. Zbudować funkcję Lagrange a x, u 0 x iix 3. Znaleźć wszystkie rozwiązania następującego układu równań nieliniowych 4. Sprawdzić każde rozwiązanie (x*, u*) aby stwierdzić, czy jest minimum lokalnym. m L f u f i1, 0 i i L x u f x u f x 0 L xu, u i x m i1 f 0, i 1,..., m i
Przykład zminimalizować f 0 (x)=(x 1 1) + x + 1 przy ograniczeniach: f 1 (x)= x 1 0.5x = 0
Przykład znajdowanie punktów Lagrange a Rozwiązanie: x 1 = x = 0 u 1 =
Sprawdzanie punktów Lagrange a Jeżeli (x*, u*) jest jedynym punktem Lagrange'a i wiadomo, że funkcja osiąga minimum, to x* jest minimum lokalnym. Twierdzenie zachodzi dla naszego przykładu. Zatem punkt (0,0) jest minimum.
Przykład
Sprawdzanie punktów Lagrange a Jeżeli (x*, u*) jest punktem Lagrange'a i hesjan H L (x*) funkcji Lagrange'a w punkcie x* dla u = u* spełnia warunek: x T H L (x*)x > 0 dla wszystkich x takich, że x T f i (x)=0, i=1,,m, to x* jest minimum lokalnym.
Sprawdzanie punktów Lagrange a Jeżeli założenia twierdzenia Lagrange'a są spełnione i nie istnieje u takie, że f 0 (x*) + u i f i (x*) = 0 w punkcie x*, to w tym punkcie na pewno nie występuje minimum.
Przykład zminimalizować f 0 (x) = x 1 +(x ) + x 3 przy ograniczeniach f 1 (x) = x 1 + 0.5x + x 3 1 = 0 f (x) = x + x 3 = 0 w punkcie: x 6 6 1 6