Optymalizacja (minimalizacja) funkcji. Plan wykładu: 1. Sformułowanie problemu, funkcja celu. 2. Metody bezgradientowe

Podobne dokumenty
5. Metody stochastyczne (symulowane wyżarzanie, algorytmy genetyczne) -> metody Monte Carlo

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

KADD Minimalizacja funkcji

1 Równania nieliniowe

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

WYKŁAD 9 METODY ZMIENNEJ METRYKI

KADD Minimalizacja funkcji

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody numeryczne I Równania nieliniowe

Optymalizacja ciągła

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

Optymalizacja ciągła

Rozwiązywanie równań nieliniowych

Optymalizacja ciągła

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

1 Funkcje dwóch zmiennych podstawowe pojęcia

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

Matematyka stosowana i metody numeryczne

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

II. FUNKCJE WIELU ZMIENNYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Całkowanie numeryczne przy użyciu kwadratur

Iteracyjne rozwiązywanie równań

Funkcje dwóch zmiennych

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Metody numeryczne II

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

Definicja pochodnej cząstkowej

Metody Rozmyte i Algorytmy Ewolucyjne

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

Funkcje wielu zmiennych

1.3. Optymalizacja geometrii czasteczki

Rachunek różniczkowy funkcji dwóch zmiennych

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Metody numeryczne II

PROGRAMOWANIE KWADRATOWE

13. Funkcje wielu zmiennych pochodne, gradient, Jacobian, ekstrema lokalne.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Rozwiązywanie układów równań liniowych

SZTUCZNA INTELIGENCJA

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Metoda gradientu prostego

jeśli nie jest spełnione kryterium zatrzymania, to nowym punktem roboczym x(t+1) staje i następuje przejście do 1)

Uczenie sieci typu MLP

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi

x y

Elementy metod numerycznych

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Funkcje dwóch zmiennych

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Wykład 5. Zagadnienia omawiane na wykładzie w dniu r

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Pochodna funkcji. Pochodna funkcji w punkcie. Różniczka funkcji i obliczenia przybliżone. Zastosowania pochodnych. Badanie funkcji.

8. Funkcje wielu zmiennych - pochodne cząstkowe

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

Programowanie liniowe metoda sympleks

RÓWNANIA NIELINIOWE Maciej Patan

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

INTERPOLACJA I APROKSYMACJA FUNKCJI

Elementy Modelowania Matematycznego

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Programowanie celowe #1

Matematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)

2. Optymalizacja bez ograniczeń

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

Metody numeryczne rozwiązywania równań różniczkowych

y f x 0 f x 0 x x 0 x 0 lim 0 h f x 0 lim x x0 - o ile ta granica właściwa istnieje. f x x2 Definicja pochodnych jednostronnych

Optymalizacja ciągła

Ekstrema globalne funkcji

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Metody numeryczne. materiały do wykładu dla studentów

Komputerowa Analiza Danych Doświadczalnych

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Zastosowania pochodnych

Programowanie liniowe metoda sympleks

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

Metoda Karusha-Kuhna-Tuckera

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

WYKŁADY Z MATEMATYKI DLA STUDENTÓW UCZELNI EKONOMICZNYCH

y i b) metoda różnic skończonych nadal problem nieliniowy 2 go rzędu z warunkiem Dirichleta

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

Transkrypt:

Optymalizacja (minimalizacja) funkcji Plan wykładu: 1. Sformułowanie problemu, funkcja celu. Metody bezgradientowe a) metoda złotego podziału b) metoda sympleks c) metoda interpolacji Powell'a 3. Metody gradientowe a) metoda największego spadku b) metoda gradientów sprzężonych c) metoda Newtona 4. Minimalizacja z ograniczeniami: metoda funkcji kary zewnętrznej i wewnętrznej.

Sformułowanie problemu, definicje pomocnicze Przykład Zadaniem optymalizacji jest poszukiwanie minimum lub maksimum funkcji (wielu zmiennych). W praktyce problem sprowadza się do poszukiwania minimum czyli takiego punktu dla którego zachodzi Problem jednowymiarowy x [x1 ; x ; : : : ; xn ]T z warunkami x ) 0; gj (x j 1; ; : : : ; m x ) 0; hj (x j 1; ; : : : ; r Problem dwuwymiarowy Funkcje: f(,g(, h( są funkcjami skalarnymi. f( funkcja celu, celem jest znalezienie jej minimum (optymalizacja) g( i h( są funkcjami określającymi warunki jakie musi spełniać rozwiązanie (więzy) ograniczają przestrzeń dopuszczalnych rozwiązań

Gradient funkcji wektor gradientu Dla funkcji celu C f (x definiujemy funkcję wektorową będącą gradientem funkcji 3 minimum Rys. Przykład poszukiwania minimum z nałożonymi warunkami na rozwiązanie g (x x ) rf ( 4 @f (x @x1 @f (x @x... @f (x @xn 5 Trzy przypadki: 1) Problem bez więzów oraz dla g(>0 minimum znajdujemy dla f(0 ) Jeśli warunkiem jest g(0 to minimum znajduje się w punkcie takim że f(1 3) Jeśli warunkiem jest g(<0 to rozwiązanie znajdziemy w pobliżu punktu w którym f(1 3

Hesjan (macierz Hessego) Minimum lokalne, minimum globalne oraz punkt siodłowy funkcji celu Dla funkcji celu C f (x a) Punkt x* stanowi minimum globalne funkcji jeśli definiujemy macierz (hesjan) której elementami są jej drugie pochodne cząstkowe H(x ½ 4 @ f (x @xi @xj @ f (x @x1 @ f (x @x @x1 @ f (x @xn @x1 ¾ b) Punkt x* stanowi minimum lokalne funkcji jeśli r f (x @ f (x @x1 @x ::: ::: ::: ::: ::: ::: ::: @ f (x @xn 3 5 9 " : " > 0; " R c) Punkt x µ ^ > f (x x ) f (x x x x k<" x :kx x0 y0 jest punktem siodłowym funkcji jeśli Macierz H( jest symetryczna implikacje numeryczne. 9 " : " > 0; " R ^ x x x0 k<" x :kx y y y0 k<" y :ky x; y 0 ) f (x x0 ; y 0 ) f (x x0 ; yy) f (x; 4

Minima lokalne Rys. Minima lokalne i minimum globalne Rys. Punkt siodłowy funkcji 5

Metoda złotego podziału (metoda jednowymiarowa) 1) Wstępnie wyznaczamy przedział [a,b] w którym spodziewamy się minimum wartości funkcji )W przedziale [a,b] wyznaczamy dwa punkty 1 i 3) Jeśli F ( ) > F ( 1 ) to zmieniamy granice przedziału na [a, ] 4) Jeśli F ( ) < F ( 1 ) to zmieniamy granice przedziału na [ 1,B] 5)Proces podziału prowadzimy iteracyjnie aż do spełnienia warunku jai bi j < " bi ai Rys. Wyznaczanie kolejnych przybliżeń w metodzie złotego podziału Pozostaje tylko kwestia jak wyznaczyć punkty tak aby wybór był optymalny tzn. chcemy wykonać jak najmniejszą ilość podziałów.

Pierwiastki równania Punktem wyjścia jest zależność ( 1 a) + (b 1 ) b 1 ' b 1 1 a b a L )b L+a L L + a 1 L + a 1 1 a r1 r p 5 1 0:18034 > 0 p 5 1 <0 Po wyborze rr1 możemy określić wartości 1 i zakładając ponadto, że oba punkty powinny być symetryczne względem krańców przedziału 1 a + r L a + rl L( 1 a) (L ( 1 a)) µ ( 1 a) ( 1 a) L 1 Lr L µ ( 1 a) b 1 L 1 Lr L Lr + Lr Lr 1 ) r +r 1 0 Lr Lr r

Metoda interpolacji kwadratowej Powell'a gdzie: F[ 0, 1] iloraz różnicowy 1 rzędu, F[ 0, 1, ] iloraz różnicowy rzędu Punkt m jest kolejnym przybliżeniem m Rys. Wyznaczanie przybliżonego rozwiązania w metodzie Powell'a. Przez trzy punkty: 1,, 3 przechodzi wielomian stopnia p ( ) F ( 0 ) + F [ 0 ; 1 ]( 0 ) + F [ 0 ; 1 ; ]( 0 )( 1 ) Z warunkiem na minimum dp d F [ 0 ; 1 ] + F [ 0 ; 1 ; ] F [ 0 ; 1 ; ]( 0 + 1 ) F [ 0 ; 1 ; ]( 0 + 1 ) F [ 0 ; 1 ] ¼ F [ 0 ; 1 ; ] Aby znaleziony punkt był rzeczywistym minimum, druga pochodna (F[ 0, 1, ]) musi spełniać warunek F [ 0 ; 1 ; ] > 0 Algorytm: 1) Wybierz 0 i oblicz F[ +h]<f[ ], F[ +h]<f[ +h] (ewentualnie zmień znak: -h, jeśli nierówności nie są spełnione) ) Wyznacz m i sprawdź czy jest minimum 3) Jeśli j m n j > h odrzuć najdalej położony od m punkt i ponownie wykonaj obliczenia z pkt.. n najbliżej położony punkt względem m Punkt m akceptujemy jako minimum jeśli j m n j < " 8

Metoda sympleks (Neldera-Meada) Rozwiązania poszukujemy iteracyjnie dążąc do znalezienia minimum fukcji poprzez obliczanie jej wartości w ściśle określonych punktach. Do wyznaczenia kierunków poszukiwań oraz punktów, w których oblicza się wartości funkcji wykorzystuje się obiekt zwany sympleksem. Sympleks jest to n-wymiarowy obiekt, stanowiący najmniejszy zbiór wypukły zawierający punkty p0 ; p 1 ; : : : ; p n będące jego wierzchołkami. Wierzchołki sympleksu tworzą tylko takie punkty, dla których zbiór wektorów fppi p 0 g jest liniowo niezależny (punkty nie są współliniowe). Przykład. Sympleksy w i w 3 wymiarach Sposób postępowania w jednej iteracji 1. wybieramy zestaw N+1 punktów startowych (N liczba wymiarów), np. w postaci p i p 0 + id i ; i 1; ; : : : ; n wektory di możemy przyjąć jako wersory układu kartezjańskiego d i e i ; i 1; ; : : : ; n Położenie p0 wybieramy arbitralnie, wartości i zależą od rozpatrywanego problemu.. Dla wszystkich wierzchołków obliczamy ciąg f (pp 0 ); f (pp1 ); : : : ; f (ppn ) i szukamy dwóch punktów odpowiednio dla największej i najmniejszej wartości funkcji p min p j () f (ppj ) f (ppi ); i 0; 1; : : : ; N pmax pj () f (ppj ) f (pp i ); i 0; 1; : : : ; N 3. Wyznaczamy środek ciężkości wierzchołków z wyłączeniem punktu pmax 1 X p~ pi n imax 9

4. Odbicie Wyznaczamy punkt podb leżący na linii łączacej środek ciężkości i wierzchołek pmax p odb p~ + (~ p p max ); [0; 1) Jeśli f (pp e ) < f (ppodb ) To wierzchołki nowego sympleksu tworzą poprzednie za wyjątkiem wierzchołka pmax który zastępujemy pe. W przeciwnym wypadku f (pp e ) f (ppodb ) wierzchołek pmax zastępujemy podb I jeśli zachodzi warunek f (pp min ) f (ppodb ) < f (ppmax ) to odbicie akceptujemy. W nowym sympleksie wierzchołek pmax zostaje zastąpiony przez podb. 5. Ekspansja Po odbiciu sprawdzamy też czy zachodzi warunek f (pp odb ) < f (ppmin ) Jeśli tak to wtedy zamiast podb wyznaczamy podb p~); > 1 e p~ + (p. Zawężenie Jeśli f (ppodb ) f (ppmax ) to należy wykonać tzw. zawężenie sympleksu. Wyznaczamy nowe przybliżenie podb p~ + (ppmax p~); (0; 1) 10

Jeśli zachodzi warunek f (pp z ) < f (pp max ) to wierzchołek pmax zastępujemy pz. Przy sprawdzaniu warunków akceptacji nowego wierzchołka sympleksu sprawdzamy też warunek stopu jako kryterium stopu przyjmując. Redukcja Jeśli max f (pp z ) f (pp max ) i0;1;:::;n dokonujemy redukcji sympleksu p i à ±(ppi + p min ); i 0; 1; : : : ; n; i min ± (0; 1) kppmin p i k < " Metoda sympleks jest mało efektywna, nierzadko potrzeba dużej liczby iteracji w celu znalezienia minimum funcji. 11

Kierunkowe metody poszukiwania minimum funkcji Możemy teraz wyrazić pochodną kierunkową funkcji celu w punkcie x dla kierunku u następująco df ( ) df (x T u u r f (x d d u Pochodna kierunkowa funkcji celu Różniczka zupełna funkcji celu @f @f dx x df dx1 + : : : + dxn r f (x @x1 @xn Jeśli wektor u wyznacza kierunek prostej łączącej punkty x i x' to są one ze sobą powiązane 0 u x ( ) x + u Dla bardzo małych zmian wartości możemy zapisać Jeśli korzystamy z pochodnej kierunkowej, to musimy ją wyliczać w każdej iteracji. Jak wykorzystać pochodną kierunkową do znalezienia minimum funkcji? Startując z określonego punktu x0 poszukujemy kolejnego przybliżenia tj. x1 w kierunku spadku wartości funkcji. W ten sposób wyznaczamy ciąg kolejnych przybliżeń x0 ; x1 ; x ; : : : x u d dx Na prostej łączącej (ustalone punkty) x i x' wartość funkcji celu zależna będzie od nowej zmiennej poszukiwanego minimum. Procedurę iteracyjną przerywamy, gdy spełniony jest jeden z warunków: a) 0 x + u u ) f (x F ( ) f (x Liczmy różniczkę zupełną dla funkcji celu zależnej od T x )u ud df df r f (x b) xi+1 x i k < " kx 0 r f (x c) w kolejnych iteracjach rośnie wartość xi+1 x i k kx co oznacza brak zbieżności 1

Metoda największego spadku Korzystamy z nierówności Schwartza 00 00 0 x )u u kr rt f (x x )k ku uk kr rt f (x x )k min r T f (x Jeśli wektor kierunkowy wybierzemy w postaci 0 u rf (x r 0 rf (x x )k kr to będzie on wskazywał kierunek największego spadku. Rys. Gradient funkcji i kierunek poszukiwań w metodzie największego spadku. Korzystamy z pochodnej kierunkowej funkcji w punkcie x' 0 x ) df (x df (0) x )u u rt f (x d d Pochodna kierunkowa osiąga wtedy najmniejszą wartość 00 00 df (0) r f (x rt f (x r min 00 d rf (x x )k kr 0 u Wektor kierunkowy u ma długość równą 1 uk 1 ku 13

Algorytm: 1) Wybierz x0 ) Iteracyjnie obliczaj r f (x xi 1 ) r u rf (x xi 1 )k kr i ui x i x i 1 + u xi 1 + iu i ) min f (x xi 1 + u ui) F ( i ) f (x 3) Warunki zakończenia obliczeń x i x i k < "1 kx Metoda największego spadku może być mało wydajna, jeśli kontur wartości funkcji celu jest wydłużony (elipsa). Pojawiają się wówczas częste zmiany kierunków poszukiwań zigzag. rf (x xi )k < " kr x i ) f (x xi 1 )j < "3 jf (x 14

f (x; y) 5 (x y) + (1 rf µ 10(x y)x + x 5x + 5y 15

Metoda największego spadku z optymalizacją parametru xi + u ui ) @f (x @ f (x; y) 5 (x y) + (1 xi + u ui) @f (x ui x @x xi + u u i ))T u i 0 (rf (x x i + u u i ) rf (x x i+1 ) u ui+1 rf (x u Ti+1 u i 0 Kierunki poszukiwań w dwóch kolejnych iteracjach są ortogonalne. Jest to duży problem w przypadku, gdy funkcja ma wydłużony kształt w jednym z kierunków (poziomice funkcji są równoległe w szerokim zakresie). 1

Metoda sprzężonego gradientu (CG) Algorytm CG Fletchera-Reevsa Metoda jest wydajna i dostarcza rozwiązania w skończonej liczbie kroków dla problemu w postaci 1) Wybieramy punkt startowy x0 Obliczamy iteracyjnie 1 x T Ax x + xt b + c f (x x i x i 1 + iu i kierunek poszukiwań: Dwa wektory są wzajemnie sprzężone jeśli rf (x x0 ) u 1 r a) i0 u; Avv ) 0 u T Avv (u gdzie: A jest macierzą dodatniookreśloną b) i1,,3..,n Jeśli ciąg wektorów u i Rn ; i 1; ; : : : ; n tworzą wektory wzajemnie sprzężone, to stanowią one bazę w przestrzeni R n i wówczas każdy wektor xi R n x ku k x 0 + k1 i ui ; Ax (u ui ; Au ui ) (u Wartość i wyznaczamy identycznie jak w metodzie największego spadku. Wektory ui wyznaczają bazę Aortogonalną. Parametr i rf (x xi )k kr i rf (x x i 1 )k kr można rozwinąć w tej bazie n X rf (x xi ) + iu i u i+1 r n X i1 iu i silnie ogranicza zmiany kierunku poszukiwania rozwiązania w kolejnej iteracji. 1

5 f (x; y) (x y) + (1 18

Metoda Newtona poszukiwania minimum funkcji kwadratowej w Rn W metodzie Newtona zakładamy Funkcję kwadratową definiujemy następująco gdzie: xi przybliżone rozwiązanie w i-tej iteracji 1 x T Ax x + xt b + c f (x gdzie: A jest pewną macierzą kwadratową oraz x ; b Rn cr Jeśli macierz A jest symetryczna to wówczas zachodzi oraz x xi + ± Korzystając z rozwinięcia funkcji w szereg Taylora możemy zapisać 0 x ) r f (x xi + ± ) r f (x xi ) + H(x x i )±± + O(k±± k ) r f (x Jeśli pominiemy wyrazy rzędu to xi ) + H(x xi )±± 0 r f (x W i-tej iteracji poprawiamy rozwiązanie, tj. x i+1 x i + ± x ) Ax x +b r f (x i ostatecznie A r f (x A H(x Jeśli A jest dodatniookreślona to rozwiązanie można łatwo znaleźć, ponieważ x ) Ax x +b 0 r f (x x A 1b xi )r rf (x xi) x i+1 x i H 1 (x Oczekujemy, że metoda Newtona będzie pracować również dla innych funkcji niż kwadratowe tj. gdy badaną funkcję celu można przybliżyć lokalnie funkcją kwadratową. Wadą metody jest konieczność wyznaczania hesjanu w każdym punkcie. Gdy ta staje się osobliwa wówczas metoda przestaje działać co może być spowodowane np. występowaniem błędów numerycznych. 19

Zastosujmy schemat do funkcji kwadratowej 1 x AT x + b T x + c f (x W pierwszej iteracji dostajemy x1 Czyli 5 (x y) + (1 µ 30x 10y + 10x H(x; y) 10x 5 f (x; y) x0 + b ) x 0 A 1 (Ax x 0 x 0 A 1b A 1b x1 x Zbieżność do minimum uzyskujemy w jednym kroku. Ale metoda ma wady: 1) Metoda nie zawsze jest zbieżna nawet w pobliżu minimum ) Wymaga znalezienia A-1 w każdej iteracji Rys. Metoda Newtona w połączeniu z metodą złotego podziału użytą w każdej iteracji. 0

Metoda funkcji kary Prosty przykład funkcji kary zewnętrznej Jeśli ograniczamy przestrzeń dopuszczalnych rozwiązań czyli nakładamy warunki np. lub x ) 0; gj (x j 1; ; : : : ; m x ) 0; hj (x j 1; ; : : : ; r to mamy do czynienia z problemem z ograniczeniami. Ograniczenia te chcemy wbudować w nasz algorytm w taki sposób aby znów problem stał się problemem bez ograniczeń bez konieczności sprawdzania warunków. S(x m X )) + (max(0; gj (x j1 r X ) (hj (x j1 Jeśli spełniony jest pierwszy warunek to pierwsza suma się zeruje. Podobnie jest dla drugiego przypadku. Wtedy 0 S(x czyli brak kary w przestrzeni rozwiązań dopuszczalnych. W pozostałym obszarze (na zewnątrz), wartość funkcji celu rośnie w kolejnych iteracjach a więc nie znajdziemy tam minimum. Metoda funkcji kary zewnętrznej Zmodyfikowana funkcja celu może nie być różniczkowalna ze względu na funkcję max() w definicji funkcji kary co eliminuje metody gradientowe przy poszukiwaniu minimum. Stosujemy zmodyfikowaną funkcję celu Sposób postępowania: x ) f (x + ci S(x Fi (x gdzie: S( jest funkcją kary, a ci współczynnikiem rosnącym w kolejnych iteracjach lim ci 1 i!1 (ci+1 ci ) 1) wybieramy punkt startowy x0 ) określamy ci oraz modyfikujemy funkcję celu 3) znajdujemy rozwiązanie x* przy użyciu wybranej metody 4) sprawdzamy przyjęty warunek stopu jak w metodzie bez ograniczeń 5) jeśli warunek stopu nie jest spełniony to wykonujemy kolejną iterację przyjmując x i x ; ci+1 a ci 1

Metoda funkcji kary wewnętrznej to xi )! 1 lim S(x i!1 Zakładamy że warunki ograniczające mają postać x ) 0; gj (x j 1; ; : : : ; m W każdej iteracji modyfikujemy funkcję celu wprowadzając funkcję kary S( f (x + ci S(x Fi (x z warunkiem dla współczynnika ci lim ci 0 i!1 (ci+1 a ci ; a (0; 1)) Własności funkcji kary wewnętrznej: a) x ) < 0; j 1; : : : ; m ) S(x > 0 gj (x b) jeśli dla ciągu przybliżeń x1 ; x ; : : : ; xi spełniony jest warunek xi ) < 0; j 1; : : : ; m; i 1; ; : : : gj (x oraz dla określonego j xi ) 0 lim gj (x i!1 Funkcja kary przyjmuje wartości dodatnie wewnątrz obszaru rozwiązań dopuszczalnych, a jej wartość gwałtownie rośnie przy zbliżaniu się do brzegu (bariera). Przykłady funkcji barierowych: S(x S(x Sposób postępowania: m X j1 m X 1 gj (x ) ln( gj (x j1 1) wybieramy punkt startowy x0 ) określamy ci oraz modyfikujemy funkcję celu 3) znajdujemy rozwiązanie x* przy użyciu wybranej metody 4) sprawdzamy przyjęty warunek stopu oraz dodatkowo sprawdzamy zgodność z warunkami ograniczającymi xi )j < " ci js(x 5) jeśli warunki stopu nie są spełnione to wykonujemy kolejną iterację przyjmując x i x ; ci+1 a ci