Metody optymalizacji nieliniowej metody programowania nieliniowego Ewa Niewiadomsa-Szyniewicz Instytut Automatyi i Inormatyi Stosowanej
Ewa Niewiadomsa-Szyniewicz ens@ia.pw.edu.pl Instytut Automatyi i Inormatyi Stosowanej Poój 57A
Problem optymalizacji n - wymiarowa przestrzeń zmiennych,..., n R n uncja celu oceniająca : R n R * Zadanie optymalizacji bez ograniczeń: *, *, wyznaczyć * = arg min tóre spełnia ograniczenia 3
Zastosowania Potrzeba optymalizacji pojawia się w więszości pratycznych problemów Planowanie Sterowanie i zarządzanie systemami Sieci Finanse, eonomia, mareting Systemy środowisowe.. Zarządzanie danymi Rozpoznawanie wzorców Uczenie maszynowe Aloacja zasobów Przetwarzanie sygnałów Modelowanie zachowania ludzi 4
Historia optymalizacji Fermat 66: twierdzenie o minimum uncji bez ograniczeń. Lagrange 789: problem z ograniczeniami równościowymi mechania. 8-9 th Euler, Lagrange, Legendre, Hamilton, etc. : rachune wariacyjny. Karush 939, Kuhn-Tucer 95: waruni optymalności. 950-te programowanie liniowe, 60-80-te programowanie nieliniowe: więszość algorytmów. 950-te: począti obliczeń ewolucyjnych. Holand i Fogel 967: algorytm genetyczny GA. 950-60-te: Bellman, Pontryagin, etc.: sterowanie optymalne zastosowania inżyniersie. 990-te: aprosymacja ciągła problemów ombinatorycznych. 5
Problem optymalizacji. Wybrać odpowiedni algorytm do rozwiązania zadania. Wybrać początowe przybliżenie rozwiązania: 0. Znaleźć przybliżone rozwiązanie zadania optymalizacji * o zadowalającej doładności przy założonych naładach obliczeniowych * *, *, 6
Rozwiązania - loalne i globalne Punt * jest minimum globalnym uncji w przestrzeni R n, jeżeli R n : * * *, *, Punt * jest minimum loalnym uncji w przestrzeni R n, jeżeli istnieje taie otwarte otoczenie U R n puntu *, że U : * Obszar przyciągania minimum loalnego *, to zbiór wartości R n, z tórych startując loalny algorytm optymalizacji zbiega do tego minimum. 7
Interpretacja geometryczna uncji różniczowalnej Różniczowalność uncji w puncie 0, y 0 oznacza, że istnieje w tym puncie płaszczyzna styczna do wyresu tej uncji w puncie 0, y 0, 0,y 0 8
Deinicje Gradient uncji w puncie 0 ma ciągłe pierwsze pochodne w 0 Macierz Hessego hesjan uncji w puncie 0 : ma ciągłe drugie pochodne w 0 9 T n,..., 0 0 0 0 n n n n n H,...,...,..., 0 0 0 0 0 0 0 0
Gradient interpretacja geometryczna Gradient uncji w puncie wsazuje ierune najszybszego wzrostu uncji w tym puncie. 0
Gradient interpretacja geometryczna Gradient uncji w puncie jest prostopadły do poziomicy uncji przechodzącej przez ten punt
Funcja: Przyłady Gradient uncji w puncie 0 = [, ] T T, [6,] 0 [,] Macierz Hessego hesjan uncji w puncie 0 = [, ] 0 0
Deinicja wypułości uncji Funcję ciągłą na zbiorze nazywamy wypułą jeżeli:, Xt[0,] t t t t 3
Lemat o wypułości uncji Funcja różniczowalna jest wypuła na zbiorze wypułym X wtedy i tylo wtedy, gdy 0 0 0 0, X, Funcja podwójnie różniczowalna jest wypuła na zbiorze wypułym X wtedy i tylo wtedy, gdy jej hesjan H jest dodatnio półoreślony X T, H 0 Minima loalne uncji wypułej są globalnymi. Wypułość odgrywa luczową rolę również w zadaniach niewypułych. 4
Waruni onieczne optymalności Jeżeli uncja jest różniczowalna, to w ażdym jej minimum loalnym jest spełniony następujący warune onieczny optymalności: * = 0 warune stacjonarności * - minimum loalne 5
Waruni dostateczne optymalności Jeżeli uncja jest dwurotnie różniczowalna, to ażdy punt spełniający poniższe waruni dostateczne optymalności: * = 0 warune stacjonarności d T H* d > 0, d 0 warune ściśle dodatniej oreśloności hesjanu * uncji celu czyli uncja jest wypuła jest minimum loalnym uncji 6
Waruni optymalności globalnej Zazwyczaj należy oczeiwać, że zadanie optymalizacji globalnej jest źle postawione w sensie Hadamarda drobne zaburzenia danych mogą bardzo zmienić położenie * Użyteczne waruni optymalności globalnej są możliwe do sormułowania jedynie dla wąsich las uncji Dla uncji wypułych ażde minimum loalne jest minimum globalnym Dla uncji ściśle wypułych istnieje jedno minimum globalne 7
Ogólna postać algorytmu optymalizacji loalnej bez ograniczeń zadanie różniczowalne * minimize : R n Założenie uncja różniczowalna. Start z puntu R n taiego, że 0. Wyznacz nowy punt + = + α d gdzie d R n jest ieruniem poprawy: < d, > < 0 α 0, + oznacza długość rou. ja daleo przesunąć się w ierunu d aby zagwarantować dla α d 8
Zbieżność algorytmów optymalizacji Zbieżność loalna a globalna eetywne algorytmy są zbieżne loalnie A B przybliżenie loalnego rozwiązania * =lim i i zależy od wyboru puntu startowego 0 Szybość zbieżności co najmniej liniowa: i+ - / i - c c 0, wadratowa: i+ - / i - C, C > 0 0 0 * 0-5 0-0 0-5 0, *, *, 0, i - algorytm zb. liniowo algorytm zb. wadratowo 0-0 0 4 6 8 9 0 numer iteracji i
Kryteria zatrzymania algorytmu Algorytm jest zatrzymywany jeśli punt znajdzie się w zbiorze rozwiązań S. Nie ma uniwersalnych ryteriów zatrzymania dobrych dla ażdego problemu i dla ażdej metody optymalizacji. Pratyczne zasady: Zatrzymujemy algorytm gdy:. Bezwzględna odległość między wartościami puntów po wyonaniu M iteracji mniejsza od > 0 M. Względna odległość między wartościami puntów po wyonaniu M iteracji mniejsza od > 0 M 0
Kryteria zatrzymania algorytmu cd. 3. Po M iteracjach bezwzględna różnica wartości wsaźnia jaości mniejsza od > 0 M 4. Po M iteracjach względna różnica wartości wsaźnia jaości mniejsza od > 0 M 5. Dodatowe ryterium zatrzymania dla metod orzystających z gradientu uncji jeśli gradient jest mniejszy od g 0 g 6. Liczba iteracji osiągnęła masymalną założoną wielość K
Metody programowania matematycznego optymalizacji - lasyiacja Metody programowania liniowego Metody programowania nieliniowego Wypułego metody optymalizacji loalnej Niewypułego metody optymalizacji globalnej Bez ograniczeń Bez ograniczeń Z ograniczeniami Z ograniczeniami
Metody programowania nieliniowego bez ograniczeń optymalizacja loalna Metody minimalizacji w ierunu bezgradientowe i gradientowe Metody poszuiwań prostych bezgradientowe Złotego podziału Interpolacja wadratowa Testów jedno- i dwusośnych Hooa Jevesa Rosenbroca Neldera i Meada Metody poprawy bezgradientowe Metody ierunów poprawy gradientowe Gaussa-Seidela Kierunów sprzężonych Powella Metoda najwięszego spadu Metoda Newtona Metody gradientu sprzężonego Metody zmiennej metryi 3
Metody programowania nieliniowego z ograniczeniami lasyiacja Inormacje o uncji celu i ograniczeniach Metody bezgradientowe Metody gradientowe 4
Metody programowania nieliniowego z ograniczeniami lasyiacja: sposób rozwiązania zadania Transormacja do zadania bez ograniczeń Modyiacja uncji celu Transormacja zmiennych niezależnych Metody zewnętrznej uncji ary Metody wewnętrznej uncji ary Modyiacja ierunu Modyiacja ierunów dopuszczalnych Metoda rzutu ortogonalnego Tworzenie ograniczonego symplesu Metoda Comple 5
Metody poszuiwań prostych Wyorzystują jedynie wartości uncji celu, nie obliczają bezpośrednio ani nie estymują gradientu uncji celu. Wyznaczanie rozwiązania odbywa się w wyniu iteracji, polegających na przeszuiwaniu otoczenia atualnego przybliżenia rozwiązania w danej iteracji. Nie stosuje się minimalizacji w ierunu długość sou ustalana dla danego algorytmu zmienia się adaptacyjnie. Zalecane do stosowania w zadaniach z nieróżniczowalną uncją celu oraz podejściu symulacja-optymalizacja. Charaterystyczne cechy metod: Odporność i niezawodność Mała eetywność powolne dochodzenie do rozwiązania 6
Metoda Hooa-Jeevesa Pierwszy cyl minimalizacji: wzdłuż zestawu d, d,... d n prostopadłych ierunów osi uładu współrzędnych: z 0 do Pierwszy ro roboczy - w ierunu w = - 0 doprowadza do. Drugi cyl minimalizacji: wzdłuż ierunów d, d,... d n : z do 3 Drugi ro roboczy - w ierunu w = 3 - doprowadza do 4. Itd. Kro roboczy istotnie poprawia zbieżność dla uośnych zbiorów poziomicowych bez dodatowych naładów obliczeniowych. 7
Metoda Neldera i Meada pełzającego symplesu Jedna z bardziej popularnych metod poszuiwań prostych prosta rozsądnie suteczna dla małych rozmiarów przestrzeni poszuiwań, chociaż bez dowodu zbieżności Symples w R n - wypułe porycie n+ puntów wraz z wnętrzem np. trójąt w R Metoda NM w ażdym rou porząduje wierzchołi w, w,...,w n+ ta, by w w... w n+ Środe ciężości c najlepszych n wierzchołów w, w,...,w n n wyznaczany jest następująco: i w i c n 8
Metoda N-M: ro roboczy Kro roboczy: odbicie w n+ względem c: r =c+ c -w n+, >0 a Jeśli: w r... w n+, to zastąpić w n+ przez r. Koniec. b Jeśli r w to espansja: e =c+ r -c, > Jeśli e r, to zastąpić w n+ przez e, inaczej przez r. Koniec. c Jeśli r w n, to ontracja aż do uzysania poprawy. Dla r w n+ : c =c+w n+ -c, inaczej: c =c+ r -c, 0, Gdy c <min r, w n+ oniec w 3 c r w 3 c r e w 3 c c w 3 c e r 9
Metody Poprawy bezgradientowe Wyorzystują jedynie wartości uncji celu, nie obliczają bezpośrednio ani nie estymują gradientu uncji celu. Wyznaczanie rozwiązania odbywa się w wyniu iteracji, polegających na przeszuiwaniu przestrzeni w odpowiednio sonstruowanych ierunach, tworzących bazę tej przestrzeni. Realizowane jest poszuiwanie minimum w ażdym z tych ierunów zastosowanie wybranych, bezgradientowych metod poszuiwania w ierunu. Zalecane do stosowania w zadaniach z nieróżniczowalną uncją celu. Charaterystyczne cechy metod: Stosunowo odporne jedna nie są zalecane w przypadach nietórych postaci uncji celu Oczeiwana eetywność więsza niż w przypadach metod poszuiwań prostych 30
Metody poprawy Ogólny schemat algorytmu:. Oreśl ierune poszuiwań d z puntu.. Znajdź współczynni rou minimalizujący w ierunu d, tzn. =arg min + d. Minimalizacja może być zgrubna bądź doładna. 3. Podstaw + =+ d. Jeśli spełnione są waruni stopu: oniec. W przeciwnym razie przejdź do rou 3
Metoda Gaussa-Seidla Optimum znajduje się przez minimalizację uncji celu względem olejnych zmiennych,,..., n,,,..., n,... Zaleta: prostota algorytmu, tóry naśladuje typowe postępowanie człowiea przy poprawianiu działania urządzeń - jedną gałą na raz Wada: mała suteczność przy uośnych poziomicach uncji celu Zbieżność liniowa 3
Metoda Powella ieruni sprzężone Pierwszy cyl minimalizacji: wzdłuż zestawu d, d,... d n prostopadłych ierunów osi uładu współrzędnych: z 0 do Zmiana zestawu ierunów: d =d, d =d 3,..., d n = - 0 i minimalizacja wzdłuż d n dla uzysania Drugi cyl minimalizacji: wzdłuż ierunów d, d,... d n : z do 3 Zmiana zestawu ierunów: d =d, d =d 3,..., d n = 3 - itd. Dla poprawy niezależności ierunów poszuiwań d, d,... d n co n iteracji rozpoczyna się cyl minimalizacji wzdłuż ierunów osi uładu współrzędnych. 33
Metody ierunów poprawy Stosowane w zadaniach różniczowalnych. Wyorzystują wartości uncji celu oraz jej gradient, a czasami hesjan. Wyznaczanie rozwiązania odbywa się w wyniu iteracji, polegających na przeszuiwaniu przestrzeni w odpowiednio sonstruowanych ierunach poprawy uncji celu, tworzących bazę tej przestrzeni. Wyznaczenie tych ierunów jest możliwe dzięi znajomości gradientu. Realizowane jest poszuiwanie minimum w ażdym z tych ierunów zastosowanie wybranych metod poszuiwania w ierunu. Charaterystyczne cechy metod: Najeetywniejsze metody programowania nieliniowego bez ograniczeń Zbieżność liniowa, a czasami wadratowa 34
Metody ierunów poprawy Ogólny schemat algorytmu:. Oreśl ierune poszuiwań d z puntu. Kierune spadu spełnia warune: d T <0. Znajdź współczynni rou minimalizujący w ierunu d, tzn. =arg min + d. Minimalizacja może być zgrubna bądź doładna. 3. Podstaw + = + d. Jeśli spełnione są waruni stopu: oniec. W przeciwnym razie przejdź do rou 35
Kieruni poszuiwań Kierune spadu spełnia warune: d T < 0 co sprawia, że d jest ieruniem poprawy istnieje >0: + d < 36
Algorytm najszybszego spadu + = + d, d =- =arg min + d Użyty ierune spadu sutuje bardzo wolną, liniową zbieżnością nawet dla wadratowej uncji celu. 37
Przyład Optymalizacja wadratowej uncji: 38.5 0.5 0 0 0 0-0.5 0 0-4 0-6 -0.5 -.5 - -.5 - -0.5 0 0.5 0-8 0 5 0 5 0 5 30 35 40 45 Kroi algorytmu w przestrzeni Zależność od numeru iteracji 38
Algorytm gradientów sprzężonych Kierune spadu: d =- + d - Współczynni powinien być mały z dala od optimum i rosnąć przy zbliżaniu się do * Formuła Fletchera-Reeves a: Formuła Polaa-Ribierre a: t t t t d - - d d - Algorytm jest zbieżny w n roach dla uncji wadratowej Dla bardziej nieliniowych uncji gładich można oczeiwać loalnej zbieżności superliniowej 39
Przybliżanie wartości uncji za pomocą szeregu Taylora T d d H d d, 40 liniowa wadratowa
Algorytm Newtona i jego modyiacja Motywacja algorytmu rozwinięcie w szereg Taylora: Stąd: Zalety: szyba wadratowa asymptotyczna zbieżność; dla uncji wadratowych optimum w jednym rou Wady: mały obszar zbieżności, w ażdej iteracji potrzebny gradient, hesjan oraz rozwiązanie pomocniczego uładu równań: T d d H d d,, H H d d H 4
Modyiacje algorytmu Newtona Metody zmiennej metryi: Konstrucja ciągu macierzy stanowiących przybliżenie odwrotności macierzy hesjanu drugich pochodnych uncji celu w olejnych puntach. Macierze te wyznacza się na podstawie zmian gradientu uncji celu w poprzednich iteracjach metody. Metody nazywane metodami quasi-newtonowsimi. 4
Metody quasi-newtonowsie Schemat algorytmów quasi-newtonowsich zmiennej metryi. Wyznacz ierune spadu: d = -Q. Wyznacz współczynni rou: =arg min + d 3. Zatualizuj macierz Q przybliżenie H -, np. za pomocą ormuły Davidona-Fletchera-Powella DFP: t t t t s q q Q q q Q q Q s q s s Q Q 43
Przyład: uncja Rosenbroca = 00*-^^+-^ 3000 o 3 000 000 0 0 - -.5 - -0.5 0 0.5.5-44
Algorytm Neldera-Meada 3.5.5 0.5 0 0 Funcja celu 0 4 0 0 0 0-0 -4-0.5 - - - 0 Wyres poziomicowy 0-6 0-8 0-0 0 50 00 50 00 50 Numer iteracji 45
Davidona-Fletchera-Powella DFP 3.5.5 0 Funcja celu 0.5 0-0.5 0 4 0 0 0 - - -.5 - -0.5 0 0.5.5 0 - Wyres poziomicowy 0-4 0-6 0-8 0 5 0 5 0 5 30 Numer iteracji 46
Algorytm Newtona 3 3.5.5 0 0.5.5 0.5 0.5 0 0-0.5-0.5 - -- - 0 - - 0 Wyres poziomicowy Funcja celu 0 5 0 0 0-5 0-0 0-5 0-0 0 4 6 8 0 Numer iteracji 47