WYKŁAD 5 METODY OPTYMALIZACJI NIELINIOWEJ BEZ OGRANICZEŃ Wstęp. Za wyjątie nielicznych funcji, najczęściej w postaci wieloianów, dla tórych ożna znaleźć iniu na drodze analitycznej, pozostała więszość funcji celu wyniająca z pratycznych zastosowań a postać bardzo sopliowaną a nawet niejawną - daną poprzez ich algoryty. W tai wypadu wyznaczenie ich iniów oże być uzysane wyłącznie techniai nuerycznyi, nazywane etodai optyalizacji nieliniowej. Wyróżnia się dwa podstawowe typy taich postępowań: - etody zdeterinowane, oparte o oncepcję najlepszego ierunu poprawy wartości funcji celu, - etody stochastyczne typu Monte Carlo lub najnowsze tzw. algoryty genetyczne. Obydwa rodzaje etod obliczeń doczeały się już wielu specjalistycznych onografii. Podstawowy algoryt etod ierunów poprawy. Iteracyjne poszuiwanie iniu etodai ierunów poprawy jest oparte o następujący algoryt oreślony dla -tej iteracji (nuer iteracji jest podany jao indes górny): - wyznacz jednostajny ierune poprawy d wartości funcji celu f(x), tóry spełnia zależności d, f li ( x ) d, f < ( x ) = - wyznacz iniu x + funcji celu wzdłuż d + ( x ) = in[ f ( x + d )] f > - sprawdź ryteriu zatrzyania postępowania optyalizacyjnego, jeśli jest spełnione to zaończ proces, jeśli nie to rozpocznij nową iterację. Ja widać algoryt ten wyaga ustalenia tzw. puntu startowego x, będącego najczęściej znaną już onstrucją urządzenia.
Podstawowy wyróżniie etod ierunów poprawy jest sposób wyznaczania olejnych ierunów d, natoiast technii inializacji w ierunu są wspólne. Metody wyznaczania iniu w ierunu. W więszości wypadów podstawowy naład obliczeń jest związany z wyznaczenie wartości funcji celu w dany puncie. Dlatego też preferowanyi etodai są tzw. etody bezgradientowe wyorzystujące tylo wartości funcji bez wyznaczania jej pochodnych. Algoryty tych etod załadają, że znany jest przedział [, ], w tóry funcja f() oreślona jao f(x + d ) posiada iniu. Nuerycznie oznacza to, że znana jest trója liczb [,, ] uporządowanych rosnąco i spełniających f( ) < f( ) oraz f( ) < f( ) Wartość startowa jest przyjowana za zero, istnienie wynia wprost ze znajoości jednostajnego ierunu poprawy, natoiast wartość dla olejnych iteracji nie jest znana. Jej obliczenie oże być wyonane za poocą następującego algorytu dane: =, >, κ > (współczynni espansji, κ=...5 ) j-ta iteracja obliczania = κ jeżeli f( ) > f( ) to zaończ [,, ] = = Doładne wyznaczenie iniu w ierunu na podstawie tróji liczb [,, ] oże być wyonane za poocą różnych algorytów bezgradientowych (złotego podziału odcina, aprosyacji parabolicznej) lub powyższych etod wspoaganych znajoością pochodnej inializowanej funcji. Szczegółowo zostanie oówiony algoryt inializacji w ierunu etodą aprosyacji parabolicznej. Dysponując tróją liczb [,, ] wyznaczoną przedstawiony wyżej algoryte i odpowiadający i wartościo funcji [f, f, f ] ożna zbudować wieloian interpolacyjny Lagrange a drugiego rzędu i obliczyć wartość in przy tórej osiąga on iniu in = ( ) f + ( ) f + ( ) ( ) f + ( ) f + ( ) f f
W zależności od danych wejściowych ożliwe są dwa warianty, w wyniu tórych ożna zawęzić obszar poszuiwań generując nową tróję ziennych niezależnych (z zachowanie oczywistej olejności podstawień) Jeżeli in (, ) to [,, ] [, in, ] oraz [, f, f] [ f, fin, f f ] Jeżeli in (, ) to [,, ] [, in, ] oraz [, f, f ] [ f, fin, f f ] i ponowne wyznaczyć iniu nowego wieloianu interpolacyjnego. Postępowanie jest zatrzyywane jeśli roziar przedziału [, ] zaleje poniżej żądanej doładności obliczeń, na przyład < + W rzeczywistych przypadach nie zachodzi potrzeba foralnego sprawdzania relacji in, natoiast oże wystąpić onieczność dodatowej orety przy zbyt płasiej funcji f() aby uninąć niepotrzebnych obliczeń. ε 3
Wyznaczanie jednostajnych ierunów poprawy Zodyfiowana etoda relasacji (Gaussa-Seidela) Jest to prawdopodobnie najprostsza do zaprograowania etoda znajdowania iniu funcji wielu ziennych bez ograniczeń. Jej algoryt opiera się o sewencyjne poszuiwanie iniów wzdłuż olejnych ierunów ortogonalnej bazy przestrzeni optyalizacji {x i }. Ponadto wprowadza się dodatowy ierune estyujący loalnie najlepszy ierune poprawy. Algoryt etody dla j-tej iteracji jest następujący dane: punt startowy x podstaw x x dla olejnych ierunów x i (i=...n) ustal zwrot przeszuiwania d i =± x i wyonaj inializację w ierunu x =x + in d i podstaw x x wyznacz loalny ierune poprawy r= x x wyonaj inializację w ierunu x =x + in r podstaw x x Kryteria zatrzyania algorytu ogą być różne, od dopuszczalnej liczby iteracji j ax poczynając po inialne przeieszczenia r j. To ostatnie jest zapisywane jao r j < ε r Przyładowy przebieg postępowania optyalizacyjnego etodą G-S poazano na rys.34. r x d x d x ±τ x Rys.34. Poszuiwanie iniu bez ograniczeń zodyfiowaną etodą Gaussa-Seidela (przeieszczenia testujące ±τ x i wyolbrzyione rysunowo) 4
Metoda syplexu Neldera Meada Syplese w przestrzeni n-wyiarowej nazyway wypuły wielościan rozpięty na n+ wierzchołach w przestrzeni D syplese jest trójąt, w 3D czwoościan itd. Własnością syplesu wyorzystywaną w etodzie optyalizacyjnej jest generacja nowego syplesu poprzez odbicie wybranego wierzchoła w hiperpowierzchni rozpiętej na pozostałych rys.35. Konstrucję tę wyonuje się obliczając położenie poocniczego puntu nazywanego centroide x C. Punt odbijany jest punte o najgorszej (tu najwięszej) wartości funcji celu x = n C x i n i= uzysując x n+ = x C + α (x C x ) Wartość współczynnia odbicia wynosi najczęściej α= x 4 x x C x x 3 Rys.35. Konstrucja nowego syplesu poprzez odbicie x w płaszczyźnie (x,.x 3 ). Jeżeli oaże się, że uzysano najorzystniejszą wartość funcji celu f(x 4 )< f(x )< f(x 3 ), to doonuje się espansji x exp = x 4 + β (x 4 x C ) gdzie współczynni espansji wynosi β=. W przeciwny wypadu doonuje się tzw. ontracji x ctr = x C + δ (x x C ) ze współczynniie δ =.5 5