Techniki optymalizacji Cz. 1 1
Przedstawiane metody/rozwiązania Rodzaje przedstawianych metod: klasyczne dla dziedziny optymalizacji ciągłej dawno zdefiniowane dokładnie przebadane Związki z metodami metaheurystycznymi: metody klasyczne mają zastosowania podrzędne heurystyczne lub dokładne (w zaleŝności od postaci wyników) metody lokalne potencjalne wykorzystanie: generowanie kolejnych rozwiązań (jako lokalnych ekstremów) w metodach metaheurystycznych 2
Przedstawiane metody/rozwiązania Postać problemu minimalizacja funkcji przy (ewentualnie istniejących) ograniczeniach ograniczenia na zakres zmienności ograniczenia robocze (właściwe) Postaci funkcji celu i ograniczeń (zawsze) dane analitycznie (zazwyczaj) dodatkowo uwarunkowane liniowe, kwadratowe, ciągłe, gładkie, Generowane rozwiązania dokładne przybliŝone 3
Przedstawiane metody/rozwiązania Więcej (na te tematy) m.in. w (klasycznych) ksiąŝkach Z. Galas i I. Nykowski (red.): Zbiór zadań. Część I. Programowanie liniowe, PWN, W-wa, 1986 Zbiór zadań. Część II. Programowanie nieliniowe, PWN, W-wa, 1988 S.I. Gass: Programowanie liniowe, PWN, W-wa, 1976 R.S. Garfinkel, G.L. Nemhauser: Programowanie całkowitoliczbowe W. Grabowski: Programowanie matematyczne, PWE, W-wa, 1980. I. Nykowski: Programowanie liniowe, PWE, W-wa, 1980. R. Wit: Metody programowania nieliniowego, WNT, W-wa, 1986. W.I. Zangwill: Programowanie nieliniowe T. Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem, PWE, W-wa, 2003 E. Ignasiak (red.): Badania operacyjne, PWE, W-wa, 2001, Z. Jędrzejczak, J. Skrzypek, K. Kukuła, A. Walkost: Badania operacyjne w przykładach i zadaniach, PWN, W-wa, 2002 W. Findeisen, J. Szymanowski, A. Wierzbicki: Teoria i metody obliczeniowe optymalizacji, PWN, 1977, 4
Przedstawiane metody/rozwiązania A takŝe w nowszych Z. Jędrzejczyk, K. Kukuła, J. Skrzypek, A. Walkosz: Badania operacyjne w przykładach i zadaniach, PWN, 2011 W. Findeisen, J. Szymanowski, A. Wierzbicki: Teoria i metody obliczeniowe optymalizacji, PWN, 2009, J. Kusiak, A. Danielewska-Tułecka, P. Oprocha: Optymalizacja. Wybrane metody z przykładami zastosowań, PWN, 2009 A. Ostanin: Metody optymalizacji z MATLAB. Ćwiczenia laboratoryjne, Nakom, 2009 5
Ogólnie stosowane oznaczenia Oznaczenia danych Zmienne Stałe a, b, c, skalary (liczby rzeczywiste/zespolone) a, b, c, wektory (liczb rzeczywistych/zespolonych), przy czym przez wektor rozumie się zawsze wektor kolumnowy oznaczenie wektorów wierszowych: patrz niŝej interpretacja wektorów ( strzałki i punkty ) A, B, C, macierze (liczb rzeczywistych/zespolonych) 0 wektor zer 1 wektor jedynek O macierz zerowa I macierz jednostkowa 6
Ogólnie stosowane oznaczenia Oznaczenia operacji Transponowanie macierzy A: A T z definicji A T = [a ji ] dla A T = [a ij ] transponowanie jest wykorzystywane do wyraŝania wektorów wierszowych (a) T, (b) T, (c) T, wektory wierszowe Moduł (wartość bezwzględna) skalara x: x z definicji: x = sqrt(a 2 +b 2 ) dla x = a+bi (czyli a = Re(x), b = Im(x)) moduł wyraŝa odległość (euklidesową) skalara x od skalara 0+0i w szczególności dla skalarów rzeczywistych x = sqrt(x 2 ) Norma wektora x: x z definicji x = sqrt(x T x) norma wyraŝa (euklidesową) długość wektora norma jest wykorzystywana do zapisywania wektorów unormowanych a/ a, b/ b, c/ c, wektory unormowane 7
Ogólnie stosowane oznaczenia Oznaczenia funkcji Funkcje jednowymiarowe (skalarne od argumentu skalarnego) f(x), g(x), h(x), funkcje (rzeczywiste/zespolone) Funkcje wielowymiarowe (skalarne od argumentu wektorowego) f(x), g(x), h(x), funkcje (rzeczywiste/zespolone) 8
Wymagane (i wykorzystywane) pojęcia Podstawowe operacje na wektorach i macierzach wszędzie RóŜniczkowanie funkcji metody newtonowskie Szereg Taylora metody newtonowskie Gradient i hesjan metoda Newtona-Raphsona i jej pochodne Macierz nieujemnie/niedodatnio określona metoda Levenberga-Marquarda, metoda MDS Wartości własne macierzy metoda Levenberga-Marquarda, metoda MDS 9
Wizualizacja funkcji Problem wizualizacji funkcji Funkcje/argumenty rzeczywiste (zbiór liczb rzeczywistych jest obrazowany jako oś liczbowa) argument wektorowy o rozmiarze 1 1 (lub argument skalarny): dwa wymiary argument wektorowy o rozmiarze 2 1: trzy wymiary argument wektorowy o rozmiarze 3 1: cztery wymiary 10
Wizualizacja funkcji Wizualizacja funkcji rzeczywistych argument wektorowy o rozmiarze 1 1 (lub argument skalarny): dwa wymiary wykres dwuwymiarowy 11
Wizualizacja funkcji Wizualizacja funkcji rzeczywistych argument wektorowy o rozmiarze 2 1: trzy wymiary wykres trójwymiarowy 12
Wizualizacja funkcji Wizualizacja funkcji rzeczywistych argument wektorowy o rozmiarze 2 1: trzy wymiary wykres konturowy (bez tła) 3 2 1 0-1 -2-3 -2 0 2 13
Wizualizacja funkcji Wizualizacja funkcji rzeczywistych argument wektorowy o rozmiarze 2 1: trzy wymiary wykres konturowy (z tłem) 3 2 1 0-1 -2-3 -2 0 2 14
Wizualizacja funkcji Wizualizacja funkcji rzeczywistych argument wektorowy o rozmiarze 2 1: trzy wymiary obraz dwuwymiarowy (ostatnio popularna nazwa ang.: heat map ) 15
Wizualizacja funkcji Problem wizualizacji funkcji Funkcje/argumenty zespolone (zbiór liczb zespolonych jest obrazowany jako płaszczyzna liczbowa) argument wektorowy o rozmiarze 1 1 (lub argument skalarny): cztery wymiary argument wektorowy o rozmiarze 2 1 (czyli skalarny): sześć wymiarów argument wektorowy o rozmiarze 3 1 (czyli skalarny): osiem wymiarów 16
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych np. Część rzeczywista wartości zespolonej Część urojona wartości zespolonej 17
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych albo np. Moduł wartości zespolonej Faza wartości zespolonej 18
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych liczba zespolona x czyli x = [ x re, x im ] dwa wymiary wizualizacja na płaszczyźnie wykorzystujemy definicje moduł: m = abs(x) = sqrt( (x re ) 2 + (x im ) 2 ) faza: f = angle(x) = arctan( x im / x re ) 19
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych funkcja zespolona dla argumentu zespolonego: y = f(x) zarówno x jak i y są liczbami zespolonymi czyli x = [ x re, x im ] oraz y = [ y re, y im ] moŝe być traktowana jak dwie, dwuargumentowe funkcje rzeczywiste:» y re = f 1 (x re,x im ), y im = f 2 (x re,x im ) jeŝeli wynik chcemy przedstawiać w postaci pary moduł-faza, to po zastosowaniu f(x) trzeba dodatkowo obliczyć moduł i fazę:» y re = f 1 (x re,x im ), y im = f 2 (x re,x im )» m = abs(y re,y im ), f = angle(y re,y im ) łącznie:» m = abs(f 1 (x re,x im ), f 2 (x re,x im )), f = angle(f 1 (x re,x im ), f 2 (x re,x im )) w obu przypadkach wymagane są cztery wymiary (a więc wizualizacja wymaga dwóch płaszczyzn) 20
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych f(x) = x Moduł? Faza? 21
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych -3-2 -1 0 1 2 3 Moduł f(x) = x Faza f(x) = x 22
Wizualizacja funkcji 23
Wizualizacja funkcji 24
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych f(x) = x 2 Moduł? Faza? 25
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych -3-2 -1 0 1 2 3 Moduł f(x) = x 2 Faza f(x) = x 2 26
Wizualizacja funkcji 27
Wizualizacja funkcji 28
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych f(x) = x 3 Moduł? Faza? 29
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych -3-2 -1 0 1 2 3 Moduł f(x) = x 3 Faza f(x) = x 3 30
Wizualizacja funkcji 31
Wizualizacja funkcji 32
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych f(x) = x 1/2 +log(x)/2.5 (log: podstawa e, tylko wartości główne) Moduł? Faza? 33
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych -3-2 -1 0 1 2 3 Moduł f(x) = x 1/2 +log(x)/2.5 Faza f(x) = x 1/2 +log(x)/2.5 34
Wizualizacja funkcji 35
Wizualizacja funkcji 36
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych f(x) = x 3/2 +log(x 3 )/2.5 (log: podstawa e, tylko wartości główne; sqrt: tylko wartości główne) Moduł? Faza? 37
Wizualizacja funkcji Wizualizacja funkcji zespolonych argument wektorowy o rozmiarze 1 1 (lub arg. skalarny): cztery wymiary para obrazów dwuwymiarowych 1 2 3 4 5 6 7 8 9 10-3 -2-1 0 1 2 3 Moduł f(x) = x 3/2 +log(x 3 )/2.5 Faza f(x) = x 3/2 +log(x 3 )/2.5 38
Wizualizacja funkcji 39
Wizualizacja funkcji 40
Optymalizacja w zastosowaniach Optymalizacja ma zastosowania w takich dziedzinach jak fizyka technika chemia inŝynieria informatyka biologia ekonomia... 41
Optymalizacja w Ŝyciu Problem majątku dwaj bracia odziedziczyli majątek po ojcu, który przykazał im podzielić się nim sprawiedliwie, nie podał jednak konkretnie, które dobra mają przypaść w spadku któremu z braci bracia natychmiast pokłócili się o majątek, poniewaŝ kaŝdy z nich proponował inny podział pozostałych po ojcu dóbr na dwie części: kaŝdy dzielił rzeczy w taki sposób, aby wartości obu części nie były równe, oczywiście przydzielając sobie część o większej wartości, a swemu bratu część o mniejszej wartości 42
Optymalizacja w Ŝyciu MoŜliwe rozwiązanie konfliktu jeden z braci dokonuje podziału dziedziczonych rzeczy na dwie części drugi podejmuje decyzję to tym, która część przypadnie komu w udziale 43
Optymalizacja w Ŝyciu Interesujące cechy zaproponowanego rozwiązania jeŝeli dokonujący podziału podzieli dziedziczone dobra na dwie części o nierównej wartości, to naraŝa się na to, Ŝe (wskutek decyzji drugiego z braci) przypadnie mu w udziale część mniej wartościowa dokonujący podziału powinien więc dąŝyć do tego, aby róŝnica wartości obu części spadku była jak najmniejsza, w rezultacie czego bracia zostaną sprawiedliwie obdzieleni spadkiem w idealnym przypadku wartości obu części będą jednakowe, ale taki podział moŝe nie być moŝliwy do zrealizowania 44
Optymalizacja w Ŝyciu Optymalizacyjny punkt widzenia tego problemu i jego rozwiązania tzw. problem min-max lub osoba dokonująca podziału wie, Ŝe jeŝeli któraś z utworzonych przez nią części majątku będzie większej wartości, to osoba wybierająca na pewno przydzieli tę część sobie (wniosek: tworzenie jakiejkolwiek części o wartości większej od innych części nie jest korzystne!) oznacza to, Ŝe osoba dokonująca podziału powinna minimalizować (min) wartość największej (max) z tworzonych części tzw. problem max-min osoba dokonująca podziału wie, Ŝe jeŝeli któraś z utworzonych przez nią części majątku będzie mniejszej wartości, to osoba wybierająca na pewno przydzieli sobie inną część (wniosek: tworzenie części o wartości mniejszej od innych części nie jest korzystne!) oznacza to, Ŝe osoba dokonująca podziału powinna maksymalizować (max) wartość najmniejszej (min) z tworzonych części 45
Elementy ekstremalne w zbiorach uporządkowanych W zbiorze X uporządkowanym relacjami,, < oraz > moŝna zdefiniować element najmniejszy: jest nim a X spełniający a x X a < x element największy: jest nim b X spełniający b x X b > x 46
Elementy ekstremalne w zbiorach uporządkowanych W zbiorze X uporządkowanym relacjami,, < oraz > moŝna zdefiniować element minimalny: jest nim c X spełniający x X c x ( x X x < c) element maksymalny: jest nim d X spełniający x X d x ( x X x > c) 47
Elementy ekstremalne w zbiorach uporządkowanych Definicje elementu minimalnego/maksymalnego wykorzystuje się w przypadku problemu optymalizacji funkcji f(x) zbiorem uporządkowanym jest przeciwdziedzina funkcji f(x) (która dla funkcji rzeczywistej stanowi podzbiór zbioru liczb rzeczywistych) poszukiwany jest argument funkcji (czyli element jej dziedziny D), dla którego wartość tej funkcji jest minimalna (niekoniecznie najmniejsza), czyli x* D taki, Ŝe x D f(x*) f(x) skrócony zapis powyŝszej zaleŝności: x* = argmin x D f(x) (x* będzie dalej nazywany rozwiązaniem (funkcji) ) 48
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci skalarnej (przypomnienie) afinicznej (popularnie zwanej liniową) f(x) = ax + b f/ x = a kwadratowej: f(x) = ax 2 + bx + c f/ x = 2ax + b 2 f/ x 2 = 2a 49
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci skalarnej (przypomnienie) afinicznej (popularnie zwanej liniową) f(x) = ax + b f/ x = a 2 f/ x 2 = 0 3 f/ x 3 = 0 kwadratowej: f(x) = ax 2 + bx + c f/ x = 2ax + b 2 f/ x 2 = 2a 3 f/ x 3 = 0 4 f/ x 4 = 0 50
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci skalarnej (przypomnienie) liniowej f(x) = ax f/ x = a (ściśle) kwadratowej: f(x) = ax 2 f/ x = 2ax 2 f/ x 2 = 2a 51
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci skalarnej (przypomnienie) liniowej f(x) = ax f/ x = a 2 f/ x 2 = 0 3 f/ x 3 = 0 (ściśle) kwadratowej: f(x) = ax 2 f/ x = 2ax 2 f/ x 2 = 2a 3 f/ x 3 = 0 4 f/ x 4 = 0 52
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci wektorowo/macierzowej liniowej: f(x) = a T x f/ x = a formy kwadratowej: f(x) = x T Ax f/ x = (A + A T )x 2 f/ x 2 = A + A T w szczególnym przypadku, gdy A T = A (czyli macierz A jest symetryczna) 2 f/ x 2 = A + A T = 2A T = 2A 53
Pochodne funkcji w postaci wektorowo/macierzowej Pochodne prostych funkcji w postaci wektorowo/macierzowej afinicznej: f(x) = a T x + b f/ x = a (pełnej) kwadratowej: f(x) = x T Ax + b T x + c f/ x = (A + A T )x + b 2 f/ x 2 = A + A T w szczególnym przypadku, gdy A T = A (czyli macierz A jest symetryczna) 2 f/ x 2 = A + A T = 2A T = 2A 54
Minimalizacja funkcji Niech f(x) będzie daną analitycznie funkcją rzeczywistą określoną dla kaŝdego wektora x naleŝącego do jakiegoś ustalonego obszaru zainteresowań S (zawartego w lub równego dziedzinie funkcji), np.: n-wymiarowej hiperprzestrzeni V n n-wymiarowego hipersześcianu H n wyznaczonego przez wektory [a 1,, a n ] oraz [b 1,, b n ], gdzie a 1 < b 1,, a n < b n O funkcji f(x) zakładamy w ogólności, Ŝe w obszarze S jest ciągła posiada przynajmniej dwie pierwsze pochodne (dane analitycznie) jej dwie pierwsze pochodne są ciągłe Niektóre metody zakładają takŝe, Ŝe f(x) w obszarze S jest wypukła 55
Minimalizacja funkcji Przykłady funkcji sformułowania skalarne f([x 1,x 2,x 3,x 4 ] T ) = (x 1 ) 2 + (x 2 ) 2 + (x 3 ) 2 + (x 4 ) 2 f([x 1,x 2,x 3 ] T ) = (x 1 ) 2 + 2(x 2 ) 2 + 3x 1 f([x 1,x 2 ] T ) = e x 1 + e x 2 56
Minimalizacja funkcji Przykłady funkcji, c.d sformułowania wektorowe/macierzowe f(x) = a T x/ a / x, gdzie a jest ustalonym wektorem niezerowym (korelacja wektorów) f(x) = x T Ax/x T x gdzie A jest ustaloną macierzą (współczynnik Rayleigh a) f(x) = x T Ax + b T x + c, gdzie A jest ustaloną niezerową macierzą nieujemnie określoną b jest ustalonym wektorem c jest ustalonym skalarem (postać macierzowej funkcji kwadratowej) 57
Metody newtonowskie Mętlik terminologiczny istnieje wiele metod noszących (pełną lub częściową) nazwę Newtona, z których jedne słuŝą do poszukiwania ekstremów funkcji a inne do poszukiwania miejsc zerowych funkcji w ramach wykładu nazewnictwo tych metod będzie następujące poszukiwanie ekstremów funkcji metody optymalizacyjne poszukiwanie miejsc zerowych funkcji metody aproksymacyjne uwaga: nazywanie metod optymalizacyjnymi (w odróŝnieniu od nazywania ich aproksymacyjnymi) jest nieco mylące, poniewaŝ takŝe metody aproksymacyjne są starają się znajdować rozwiązania optymalnie (ewentualnie w przybliŝeniu optymalnie) i posługują się nieraz bardzo podobnymi technikami lepszą praktyką byłoby nazywanie metod poszukujacych ekstremów funkcji metodami ekstremalizacyjnymi (lub konkretnie, w zaleŝności od specyfiki metody minimalizacyjnymi względnie maksymalizacyjnymi) 58
Metody newtonowskie Mętlik terminologiczny, c.d. optymalizacyjne metody newtonowskie (m.in.) metoda jednowymiarowej optymalizacji Newtona (zwana takŝe metodą Newtona-Raphsona) metoda wielowymiarowej optymalizacji Newtona-Raphsona (zwana takŝe metodą Newtona), jest naturalnym uogólnieniem metody (jednowymiarowej optymalizacji) Newtona na wiele wymiarów metoda wielowymiarowej optymalizacji uogólniona Newtona (zwana takŝe metodą Cauchy ego), bezpośrednio wykorzystuje metodę (jednowymiarowej optymalizacji) Newtona metoda wielowymiarowej optymalizacji Cauchyego metoda wielowymiarowej optymalizacji Levenberga-Marquarda aproksymacyjne metody newtonowskie (m.in.) metoda jednowymiarowej aproksymacji Newtona 59
Metody newtonowskie W dalszej części wykładu metoda Newtona metoda aproksymacji jednowymiarowej metoda Newtona metoda optymalizacji jednowymiarowej metoda Newtona-Raphsona metoda optymalizacji wielowymiarowej modyfikacje metod Newtona-Raphsona (uogólniona metoda Newtona, metoda Cauchy ego i metoda Levenberga-Marquarda) metody optymalizacji wielowymiarowej 60
Metody newtonowskie Związek pomiędzy metodą (optymalizacyjną) Newtona a metodą (optymalizacyjną) Newtona-Raphsona metoda Newtona-Raphsona jest naturalnym uogólnieniem metody Newtona na wiele wymiarów nie mylić tego uogólnienia z metodą o nazwie uogólniona metoda Newtona! a więc oczywiście moŝe być stosowana w problemach jednowymiarowych metoda Newtona jest naturalnym uszczególnieniem metody Newtona-Raphsona na jeden wymiar a więc nie moŝe moŝe być stosowana w problemach wielowymiarowych 61
Dygresja Pytanie: w jakim sensie Newtona-Raphsona jest naturalnym uogólnieniem metody Newtona? Odpowiedź: w takim samym, w jakim zapisany macierzowo układ równań z wieloma niewiadomymi jest uogólnieniem zapisanego skalarnie jednego równania z jedną niewiadomą zapis skalarny: ax = b zapis macierzowy: Ax = b 62
Aproksymacja i optymalizacja: ilustracja problemów Przykład funkcji: f(x) = x 4 50x 2 + 300x + 2000 63
Aproksymacja i optymalizacja: ilustracja problemów Aproksymacja problem istnienia rozwiązań (miejsc zerowych) brak miejsc zerowych asymptotyczne zbliŝanie miejsca zerowe poza granicami przedziału zmienności... 64
Aproksymacja i optymalizacja: ilustracja problemów Aproksymacja problem jednoznaczności rozwiązań (miejsc zerowych) policzalne liczby miejsc zerowych niepoliczalne ilości miejsc zerowych policzalne liczby niepoliczalnych ilości miejsc zerowych... 65
Aproksymacja i optymalizacja: ilustracja problemów Optymalizacja problem istnienia rozwiązań brak rozwiązań asymptotyczne zbliŝanie rozwiązania poza granicami przedziału zmienności... 66
Aproksymacja i optymalizacja: ilustracja problemów Optymalizacja problem jednoznaczności rozwiązań (minimów/maksimów) policzalne liczby rozwiązań niepoliczalne ilości rozwiązań policzalne liczby niepoliczalnych ilości rozwiązań... 67
Aproksymacja i optymalizacja: ilustracja problemów Ograniczona ilość informacji w aproksymacji/optymalizacji wartość funkcji 68
Aproksymacja i optymalizacja: ilustracja problemów Ograniczona ilość informacji w aproksymacji/optymalizacji wartość funkcji i wartość jej (pierwszej) pochodnej 69
Aproksymacja i optymalizacja: ilustracja problemów Ograniczona ilość informacji w aproksymacji/optymalizacji bez względu na ilość takich danych, to nie to samo, co cały przebieg funkcji! 70
Szereg Taylora Dane jest wyraŝenie T(x) = k=0.. a k (x x 0 ) k jest ono zaleŝne od zmiennego argumentu x, ustalonej wartości x 0 oraz ustalonych wartości a k (dla k=0.. ) wyraŝenie to reprezentuje sumę nieskończonego ciągu o elementach a k (x x 0 ) k (dla k=0.. ) T(x) jest więc sumą szeregu Przyjmując, Ŝe w 0 = 1 dla wszystkich w (takŝe dla w = 0), wyraŝenie T(x) moŝna przedstawić w postaci T(x) = a 0 + k=1.. a k (x x 0 ) k gdy dla wszystkich k większych od pewnego ustalonego n zachodzi a k (x x 0 ) k = 0, wyraŝenie T(x) moŝna przedstawić w postaci T(x) = a 0 + k=1..n a k (x x 0 ) k wyraŝenie to reprezentuje wtedy sumę skończonego ciągu o elementach a k (x x 0 ) k (dla k=1..n) T(x) jest wtedy wielomianem stopnia n od argumentu x 71
Szereg Taylora Dzięki podobieństwu do wielomianu, wyraŝenie T(x) moŝe być róŝniczkowane (operacja jest analogiczna do róŝniczkowania wielomianów) Tzn. jeŝeli: T(x) = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 + a 4 (x x 0 ) 4 + to: T (x) = 0 + a 1 + 2a 2 (x x 0 ) + 3a 3 (x x 0 ) 2 + 4a 4 (x x 0 ) 3 + T (x) = 0 + 0 + 2a 2 + 3 2a 3 (x x 0 ) + 4 3a 4 (x x 0 ) 2 + T (x) = 0 + 0 + 0 + 3 2a 3 + 4 3 2a 4 (x x 0 ) + 72
Szereg Taylora WyraŜenie T(x) moŝe zostać uŝyte do wyraŝania (w przybliŝony lub dokładny sposób) wartości pewnej funkcji f(x) (czyli funkcji zaleŝnej od argumentu x) wyraŝanie to ma szanse powodzenia, gdy moŝliwe jest znalezienie wartości x 0 oraz a k (dla k=0.. ), które gwarantują f(x) = T(x) (dla wszystkich x naleŝących do dziedziny funkcji f(x)) mówimy wtedy, Ŝe dokonano rozwinięcia wartości funkcji f(x) często operacji tej dokonuje się najpierw ustalając wartość x 0, a potem dopiero wartości a k (dla k=0.. ) mówimy wtedy, Ŝe dokonano rozwinięcia wartości funkcji f(x) wokół wartości x 0 operacja ta jest bardzo łatwa dla funkcji wielokrotnie róŝniczkowalnych 73
Szereg Taylora Niech dana będzie wielokrotnie róŝniczkowalna funkcja f(x), której wartość ma być wyraŝona z uŝyciem T(x), a więc f(x) = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 + a 4 (x x 0 ) 4 + 74
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a 0 równanie f(x) = T(x) ma postać f(x) = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 + a 4 (x x 0 ) 4 + niech x = x 0, wtedy f(x 0 ) = a 0 + a 1 (x 0 x 0 ) + a 2 (x 0 x 0 ) 2 + a 3 (x 0 x 0 ) 3 + a 4 (x 0 x 0 ) 4 + f(x 0 ) = a 0 + a 1 0 + a 2 0 2 + a 3 0 3 + a 4 0 4 + f(x 0 ) = a 0 a więc a 0 moŝna ustalić obliczając f(x 0 ) 75
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a 1 w rezultacie jednokrotnego zróŝniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemy f (x) = a 1 + 2a 2 (x x 0 ) + 3a 3 (x x 0 ) 2 + 4a 4 (x x 0 ) 3 + niech x = x 0, wtedy f (x 0 ) = a 1 + 2a 2 (x 0 x 0 ) + 3a 3 (x 0 x 0 ) 2 + 4a 4 (x 0 x 0 ) 3 + f (x 0 ) = a 1 + 2a 2 0 2 + 3a 3 0 3 + 4a 4 0 4 + f (x 0 ) = a 1 a więc a 1 moŝna ustalić obliczając f (x 0 ) 76
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a 2 w rezultacie dwukrotnego zróŝniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemy f (x) = 2a 2 + 3 2a 3 (x x 0 ) + 4 3a 4 (x x 0 ) 2 + niech x = x 0, wtedy f (x 0 ) = 2a 2 + 3 2a 3 (x 0 x 0 ) + 4 3a 4 (x 0 x 0 ) 2 + f (x 0 ) = 2a 2 + 3 2a 3 0 + 4 3a 4 0 2 + f (x 0 ) = 2a 2 a więc a 2 moŝna ustalić obliczając f (x 0 )/2 77
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a 3 w rezultacie trzykrotnego zróŝniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemy f (x) = 3 2a 3 + 4 3 2a 4 (x x 0 ) + niech x = x 0, wtedy f (x 0 ) = 3 2a 3 (x 0 x 0 ) + 4 3a 4 (x 0 x 0 ) 2 + f (x 0 ) = 3 2a 3 0 + 4 3a 4 0 2 + f (x 0 ) = 3 2a 3 a więc a 3 moŝna ustalić obliczając f (x 0 )/(2 3) 78
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a 4 w rezultacie czterokrotnego zróŝniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemy f (x) = 4 3 2a 4 + niech x = x 0, wtedy f (x 0 ) = 4 3 2a 4 + f (x 0 ) = 4 3 2a 4 a więc a 4 moŝna ustalić obliczając f (x 0 )/(2 3 4) 79
Szereg Taylora Proces poszukiwania współczynników a k współczynnik a k (w ogólności) w rezultacie k-krotnego zróŝniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemy f (k) (x) = k (k 1) 2 a k + niech x = x 0, wtedy f (k) (x) = k (k 1) 2 a k = k! a k a więc a k moŝna ustalić obliczając f (k) (x 0 )/(k!) 80
Szereg Taylora Czyli dla wielokrotnie róŝniczkowalnej f(x) mamy f(x) = f(x 0 ) + f (x 0 )(x x 0 ) + f (x 0 )/2 (x x 0 ) 2 + f (x 0 )/3! (x x 0 ) 3 + Wykorzystując 0! = 1! = 1 mamy: f(x) = k=0.. f (k) (x 0 )/k! (x x 0 ) k gdzie f (0) (x) f(x) f (1) (x) f (x) f (2) (x) f (x) 81
Szereg Taylora Dzięki temu, Ŝe k! szybko rośnie, w wielu przypadkach, dla odpowiednio duŝych k zachodzi f (k) (x 0 )(x x 0 ) k << k! Oczywiście wtedy: f (k) (x 0 )(x x 0 ) k /k! << 1 czy wręcz f (k) (x 0 )(x x 0 ) k /k! 0 Dzięki temu moŝliwe jest skrócenie szeregu do kilku (np. n) początkowych elementów (czyli tych, dla których nie zachodzi f (k) (x 0 )(x x 0 ) k /k! 0) f(x) k=0..n f (k) (x 0 )/k! (x x 0 ) k 82
Szereg Taylora Szereg T(x) nosi nazwę szeregu Taylora gdy x 0 = 0, szereg Taylora nazywa się szeregiem MacLaurina Wiele znanych funkcji posiada rozwinięcia w szereg Taylora (względnie MacLaurina) Szereg Taylora moŝe być zapisany w sposób pozwalający na wyróŝnienie tzw. reszty (R n+1 ) f(x) = k=0.. f (k) (x 0 )/k! (x x 0 ) k = k=0..n f (k) (x 0 )/k! (x x 0 ) k + R n+1 83
Szereg Taylora Przykład: sześcioelementowe T 6 (x) rozwinięcie funkcji e x w szereg Taylora wokół wartości x 0 = 0 funkcja i jej pochodne: (e x ) (0) = e x (e x ) (1) = (e x ) = e x (e x ) (2) = (e x ) = e x (e x ) (3) = (e x ) = e x (e x ) (4) = (e x ) = e x (e x ) (5) = (e x ) = e x... współczynniki a k a 0 = f (0) (x 0 )/(0!) = e 0 /1 = 1/1 = 1 a 1 = f (1) (x 0 )/(1!) = e 0 /1 = 1/1 = 1 a 2 = f (2) (x 0 )/(2!) = e 0 /2 = 1/2 a 3 = f (3) (x 0 )/(3!) = e 0 /6 = 1/6 a 4 = f (4) (x 0 )/(4!) = e 0 /24 = 1/24 a 5 = f (5) (x 0 )/(5!) = e 0 /120 = 1/120... 84
Szereg Taylora Ostateczny wzór: rozwinięcie nieskończone e x = T(x) = k=0.. f (k) (x 0 )/k! (x x 0 ) k = 1 + x + x 2 /2! + x 3 /3! + x 4 /4! + x 5 /5! +... rozwinięcie skończone, sześcioelementowe: e x T 6 (x) = k=0..5 f (k) (x 0 )/k! (x x 0 ) k = 1 + x + x 2 /2! + x 3 /3! + x 4 /4! + x 5 /5! 85
3 2.5 2 1.5 1 0.5 0-1 -0.5 0 0.5 1 86
Szereg Taylora Kolory wykresów: f(x) w(x) = 1 w(x) = 1 + x w(x) = 1 + x + x 2 /2! w(x) = 1 + x + x 2 /2! + x 3 /3! w(x) = 1 + x + x 2 /2! + x 3 /3! + x 4 /4! w(x) = 1 + x + x 2 /2! + x 3 /3! + x 4 /4! + x 5 /5! 87
Szereg Taylora Inny przykład: dwunastoelementowe T 6 (x) rozwinięcie funkcji sin(x) w szereg Taylora wokół wartości x 0 = 0 sin(x) T(x) = k=0.. f (k) (x 0 )/k! (x x 0 ) k = = 0 + x + 0 x 3 /3! + 0 + x 5 /5! + 0 x 7 /7! + 0 + x 9 /9! + 0 x 11 /11! +... 88
4 Szereg Taylora Ostateczny wzór (rozwinięcie skończone, pięcioelementowe): 3 2 1 0-1 -2-3 -4-4 -3-2 -1 0 1 2 3 4 89
Szereg Taylora PrzybliŜanie funkcji f(x) szeregiem Taylora niech dane będą ustalony obszar S funkcja f(x) określona w obszarze S i posiadająca wszystkie pochodne określone w obszarze S rozwinięcie T(x) funkcji f(x) w szereg Taylora wokół punktu y S dane jest następującym wzorem T(x) = f (0) (y)/(0!) (x y) 0 + f (1) (y)/(1!) (x y) 1 + f (2) (y)/(2!) (x y) 2 + uwaga: rozwinięcie moŝe obejmować nieskończoną lub skończoną liczbę (niezerowych) składników (w przypadku liczby skończonej ostatni element szeregu jest innej postaci /i stanowi tzw. resztę/) zastosowana notacja: f (k) (x) oznaczenie k-tej pochodnej funkcji f(x) w szczególności f (0) (x) f(x) funkcja f (1) (x) f (x) jej pierwsza pochodna f (2) (x) f (x) jej druga pochodna 90
Współczynnik i rząd zbieŝności ciągu Idea współczynnika i rzędu zbieŝności ciągu skalarów niech s 0, s 1, s 2, będzie ciągiem skalarów zbieŝnym do skalara s = lim k s k niech p 1 będzie maksymalną wartością, dla której istnieje granica β = lim k s k+1 s / s k s p wtedy wartość p nazywamy rzędem zbieŝności wartość β nazywamy współczynnikiem zbieŝności p-tego rzędu jeŝeli p = 1 i β (0,1), to ciąg ma zbieŝność liniową p = 1 i β = 0 lub p > 1, to ciąg ma zbieŝność superliniową (w znaczeniu: lepszą od liniowej) 91
Współczynnik i rząd zbieŝności ciągu Idea współczynnika i rzędu zbieŝności ciągu wektorów niech w 0, w 1, w 2, będzie ciągiem wektorów zbieŝnym do wektora w = lim k w k niech p 1 będzie maksymalną wartością, dla której istnieje granica β = lim k w k+1 w / w k w p, wtedy wartość p nazywamy rzędem zbieŝności wartość β nazywamy współczynnikiem zbieŝności p-tego rzędu jeŝeli p = 1 i β (0,1), to ciąg ma zbieŝność liniową p = 1 i β = 0 lub p > 1, to ciąg ma zbieŝność superliniową (w znaczeniu: lepszą od liniowej) 92
Metoda Newtona (aproksymacyjna) Metoda (aproksymacyjna) Newtona metoda aproksymacji jednowymiarowej bez ograniczeń (z ewentualnymi ograniczeniami na zakres zmienności zmiennej) Dane jednowymiarowy obszar S (obszar musi spełniać kilka dodatkowych załoŝeń) określona w obszarze S funkcja f(x) (funkcja musi spełniać kilka dodatkowych załoŝeń) Cel metody znaleźć x 0 S taki, Ŝe f(x 0 ) = 0 (poszukiwanie miejsc zerowych funkcji f(x) w obszarze S) 93
Metoda Newtona (aproksymacyjna) Idea metody Newtona (aproksymacji jednowymiarowej) niech będzie dana analitycznie jednowymiarowa funkcja f(x), dla której poszukujemy minimum w pewnym obszarze (w praktyce: w przedziale), i o której zakładamy, Ŝe w tym właśnie przedziale jest ciągła posiada pierwszą pochodną (daną analitycznie), która jest ciągła uznaje się, Ŝe przebieg aproksymowanej, jednowymiarowej funkcji f(x) w otoczeniu pewnego ustalonego punktu x 0 jest taki sam, jak przebieg pewnej funkcji afinicznej, czyli funkcji postaci g(x) = ax + b, gdzie a 0, o parametrach a i b tak dobranych, aby dobrze odzwierciedlały przebieg funkcji f(x) do jakości takiego odzwierciedlenia przyczyniają się oczywiście powyŝsze załoŝenia dotyczące funkcji f(x), które (nie przez przypadek, oczywiście) są takŝe właściwościami funkcji afinicznej postaci g(x) = ax+b, gdzie a 0 przybliŝenie funkcji f(x) jest wykonywane z uŝyciem jej pochodnych 94
Metoda Newtona (aproksymacyjna) Idea metody Newtona (aproksymacji jednowymiarowej), c.d. za miejsce zerowe funkcji f(x) uznaje się miejsce zerowe funkcji g(x), przy czym: jeŝeli znaleziony punkt (czyli miejsce zerowe afinicznej funkcji g(x)) stanowi miejsce zerowe optymalizowanej funkcji f(x), to zadanie jest zakończone powyŝsze sprawdzenie moŝe nie być trywialne ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (warunek stopu) jeŝeli znaleziony punkt (czyli miejsce zerowe afinicznej funkcji g(x)) nie stanowi miejsca zerowego aproksymowanej funkcji f(x), to przyjmuje się, Ŝe stanowi on lepsze przybliŝenie poszukiwanego miejsca zerowego i powtarza się całe postępowanie powyŝsze przyjęcie moŝe być błędne ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (niezbieŝność) 95
Metoda Newtona (aproksymacyjna) Idea metody Newtona (aproksymacji jednowymiarowej), c.d. funkcja afiniczna i jej pochodna funkcja: g(x) = ax + b, gdzie a 0 jej pierwsza pochodna: g (x) = a połoŝenie miejsca zerowego funkcji afinicznej przyrównanie funkcji do zera: ax + b = 0 miejsce zerowe: x = b/a poniewaŝ (z załoŝenia) a 0, więc miejsce zerowe istnieje uwaga: w zaleŝności od a i b, funkcja g(x) = ax + b moŝe mieć róŝne liczby miejsc zerowych, a konkretnie: ma jedno miejsce zerowe, gdy a 0 nie ma miejsc zerowych, gdy a = 0 i b 0 ma nieskończenie wiele miejsc zerowych, gdy a = 0 i b = 0 96
Metoda Newtona (aproksymacyjna) PrzybliŜanie funkcji f(x) funkcją afiniczną z uŝyciem pochodnych jeŝeli odpowiednie pochodne funkcji f(x) istnieją w pewnym obszarze S, to w tym obszarze moŝliwe jest przybliŝenie tej funkcji wykorzystujące jej rozwinięcie w szereg Taylora wykorzystując dwuelementowe przybliŝenie q(x) rozwinięcia funkcji f(x) wokół punktu y S mamy dla kaŝdego x S f(x) q(x) = f(y) + f (y)(x y) funkcja q(x) stanowi przybliŝenie funkcji f(x) jest dwuelementowym rozwinięciem f(x) w szereg Taylora wokół punktu y ma postać g(x) = ax + b poniewaŝ q(x) = f(y) + f (y)(x y) = f(y) + f (y)x f (y)y = f (y)x + (f(y) f (y)y) a więc: a = f (y), b = f(y) f (y)y 97
Metoda Newtona (aproksymacyjna) Poszukiwanie przybliŝenia miejsca zerowego zakładamy, Ŝe dla kaŝdego x S spełniony jest warunek f (x) 0 powyŝsze załoŝenie oraz zaleŝności a = f (y) i b = f(y) f (y)y pozwalają na następujące określenie rozwiązania funkcji x = b/a = = (f(y) f (y)y)/f (y) = = (f (y)y f(y))/f (y) = = y f(y)/f (y) jeŝeli y jest dowolnym punktem ustalonego obszaru S, to (zgodnie z zasadą przybliŝania funkcji f(x) funkcją afiniczną) punkt x = y f(y)/f (y) jest miejscem zerowym funkcji f(x) lub lepszym przybliŝeniem tego miejsca zerowego niŝ punkt y 98
Metoda Newtona (aproksymacyjna) Schemat iteracyjny metody zasada ustalania następnego punktu na podstawie poprzedniego pozwala na sformułowanie następującego schematu iteracyjnego x k+1 = x k f(x k )/f (x k ) Algorytm 1. ustal punkt x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: oblicz x k+1 = x k f(x k )/f (x k ) podstaw k = k + 1 99
Metoda Newtona (aproksymacyjna) Interpretacja geometryczna metody Dane: funkcja f(x) wraz z pochodną f (x), a dla nich x k (punkt na osi poziomej) f(x k ) (punkt na osi pionowej) f (x k ) (tangens kąta zawartego pomiędzy osią poziomą a prostą styczną do wykresu funkcji w punkcie x k ) 100
Metoda Newtona (aproksymacyjna) Interpretacja geometryczna metody Więcej informacji o funkcji (w tym przypadku dość skomplikowanej) 101
Metoda Newtona (aproksymacyjna) Interpretacja geometryczna metody Poszukiwane: x k+1 (przybliŝenie miejsca zerowego) 102
Metoda Newtona (aproksymacyjna) Interpretacja geometryczna metody Wykorzystując f (x k ) = tg(α) oraz tg(α) = f(x k )/(x k x k+1 ) otrzymujemy zaleŝność f(x k )/(x k x k+1 ) = f (x k ) 103
Metoda Newtona (aproksymacyjna) Interpretacja geometryczna metody Przekształcenie zaleŝności f(x k )/(x k x k+1 ) = f (x k ) daje f(x k )/f (x k ) = x k x k+1 i ostatecznie x k+1 = x k f(x k )/f (x k ) 104
Metoda Newtona (aproksymacyjna) Mocno uproszczona wersja metody (sytuacja f (x) 1) x k+1 = x k f(x k ) gdy f(x) > 0, to x k+1 < x k gdy f(x) = 0, to koniec gdy f(x) < 0, to x k+1 > x k 105
Metoda Newtona (aproksymacyjna) Potencjalne warunki stopu metody osiągnięcie miejsca zerowego teoretycznie badamy: f(x k ) = 0 praktycznie badamy: f(x k ) ε ustabilizowanie wyniku teoretycznie badamy: x k+1 = x k praktycznie badamy: x k+1 x k ε przekroczenie maksymalnej liczby iteracji k > k 0 gdzie ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń) k 0 jest duŝą, dodatnią wartością całkowitą (maksymalna liczba iteracji) 106
Metoda Newtona (aproksymacyjna) ZbieŜność metody metoda nie gwarantuje zbieŝności dla kaŝdego wektora początkowego przyczyny ewentualnej niezbieŝności zerowość pierwszej pochodnej (a więc nie istnieje jej odwrotność) rezultat: nie moŝna obliczyć x k+1 niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: f(x k+1 ) f(x k ) w przypadkach zbieŝnych: zbieŝność rzędu drugiego (czyli wysoka!) 107
Metoda Newtona (aproksymacyjna) Czy są moŝliwe sytuacje, w których (aproksymacyjna) metoda Newtona nie działa wcale? tak przyczyny pochodna nieokreślona (nie moŝna zainicjować ciągu {x k }) pochodna dla pewnego x k zerowa (nie moŝna utworzyć elementu x k+1 ) ciąg {x k } jest niezbieŝny, a więc np.: ciąg {x k } dąŝy do + ciąg {x k } dąŝy do ciąg {x k } jest cykliczny ciąg {x k } przejawia inne powody niezbieŝności» np.: +1, 2, +4, 8, +16, 32, +64, 128, +256, 108
Metoda Newtona (aproksymacyjna) Czy są moŝliwe sytuacje, w których (aproksymacyjna) metoda Newtona nie działa jednoznacznie (w jakimś sensie)? tak przyczyna istnienie wielu miejsc zerowych z których róŝne mogą zostać osiągnięte (zaleŝnie od doboru punktu startowego) 109
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300 miejsce zerowe funkcji: x z = 6.10598343090539 przyjęty warunek stopu: f(x) 10 6 110
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 = 1 osiągnięto warunek stopu 111
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 = 5 osiągnięto warunek stopu 112
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu 113
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu 114
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 115
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 116
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 117
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = 4x 3 100x + 300, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 118
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 5 miejsce zerowe funkcji: x z = 5 przyjęty warunek stopu: f(x) 10 6 119
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 5, f(x) 10 6, x 0 = 1 osiągnięto warunek stopu 120
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 5, f(x) 10 6, x 0 = 1 osiągnięto warunek stopu 121
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 5, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu 122
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 5, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu 123
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2 miejsce zerowe funkcji: x z = 0 przyjęty warunek stopu: f(x) 10 6 124
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2, f(x) 10 6, x 0 = 1 osiągnięto warunek stopu (uwaga: zbieŝność rzędu pierwszego) 125
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2, f(x) 10 6, x 0 = 1 osiągnięto warunek stopu (uwaga: zbieŝność rzędu pierwszego) 126
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu (uwaga: zbieŝność rzędu pierwszego) 127
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2, f(x) 10 6, x 0 = 1000 osiągnięto warunek stopu (uwaga: zbieŝność rzędu pierwszego) 128
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2, f(x) 10 6, x 0 = 0 osiągnięto warunek stopu 129
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2 miejsce zerowe funkcji: x z = 1.76929235424336 przyjęty warunek stopu: f(x) 10 6 130
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 131
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 132
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2, f(x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 133
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2, f(x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: brak zbieŝności) 134
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 1/3 miejsce zerowe funkcji: x z = 0 przyjęty warunek stopu: f(x) 10 6 135
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 1/3, f(x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: brak zbieŝności) 136
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2 + 1 miejsce zerowe funkcji: brak ( x (,+ ) : f(x) > 0) przyjęty warunek stopu: f(x) 10 6 137
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2 + 1, f(x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: dzielenie przez zero) 138
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2 6x + 100 miejsce zerowe funkcji: brak ( x (,+ ) : f(x) > 0) przyjęty warunek stopu: f(x) 10 6 139
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 2 6x + 100, f(x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: brak zbieŝności) 140
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. uzasadnienia niektórych niezbieŝności 141
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2 czy moŝna wyjaśnić niezbieŝność dla x 0 = 0? 142
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 3 2x + 2 pochodna: f (x) = 3x 2 2 schemat: x n+1 = x n f(x n )/f (x n ) = x n ((x n ) 3 2x n + 2)/(3(x n ) 2 2) iteracja: x 0 = 0 x 1 = 0 (0 3 2 0 + 2)/(3 0 2 2) = 2/( 2) = 1 x 2 = 1 (1 3 2 1 + 2)/(3 1 2 2) = 1 1/1 = 0... 143
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 1/3 czy moŝna wyjaśnić niezbieŝność dla x 0 0? 144
Metoda Newtona (aproksymacyjna) Przykład poszukiwania zer funkcji, c.d. f(x) = x 1/3 pochodna: f (x) = (1/3) x 1/3 1 = (1/3) x 2/3 schemat: x n+1 = x n f(x n )/f (x n ) = x n ((x n ) 1/3 )/((1/3) (x n ) 2/3 ) = x n 3(x n ) 1/3 ( 2/3) = x n 3(x n ) 3/3 = x n 3x n = 2x n iteracja: x 0 = 1 x 1 = 2 1 = 2 x 2 = 2 ( 2) = 4 x 3 = 2 4 = 8... 145
Przykład ciekawego zastosowania metody Newtona Pierwiastki rzeczywiste z (rzeczywistych) liczb nieujemnych pytanie: jak obliczyć pierwiastek kwadratowy z 1000? odpowiedź: skorzystać z kalkulatora! pytanie: jak kalkulator moŝe obliczyć pierwiastek kwadratowy z 1000? odpowiedź: moŝe skorzystać z (aproksymacyjnej) metody Newtona 146
Przykład ciekawego zastosowania metody Newtona Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych dla nieujemnych p zachodzi x = sqrt(p) x 2 = p x 2 p = 0 wniosek: sqrt(p) jest miejscem zerowym funkcji f(x) = x 2 p 147
Przykład ciekawego zastosowania metody Newtona Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych, c.d. wyprowadzenie (aproksymacyjnego) schematu iteracyjnego funkcja: f(x) = x 2 p pochodna: f (x) = 2x schemat: x k+1 = x k f(x k )/f (x k ) = = x k ((x k ) 2 p)/(2x k ) = = x k (x k ) 2 /(2x k ) + p/(2x k ) = = x k x k /2 + p/(2x k ) = = (1/2) x k + (p/2)/x k = = (1/2) x k + (1/2) p/x k = = (1/2) (x k + p/x k ) (średnia arytmetyczna z x k oraz p/x k ) załoŝenie: x k 0 dla wszystkich k, w szczególności x 0 0 po przyjęciu x 0 > 0, wobec nieujemności p, mamy gwarancję, Ŝe dla wszystkich k zachodzi x k 0 148
Przykład ciekawego zastosowania metody Newtona Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych, c.d. algorytm (wejscie p, wyjscie y) if (p < 0) y = error elseif (p = 0) y = 0 else x 0 = p for k=0 to 19 x k+1 = (1/2) (x k + p/x k ) end y = x 20 uwagi liczba iteracji dostosowana do kalkulatora 9-cio pozycyjnego demonstrowane wyniki nie uwzględniają tego faktu (zostały wygenerowane w arytmetyce typu double) 149
Przykład ciekawego zastosowania metody Newtona p = 1000 /20 iteracji/ y = 31.6227766 x k 150
Przykład ciekawego zastosowania metody Newtona p = 2 /20 iteracji/ y = 1.41421356 x k 151
Przykład ciekawego zastosowania metody Newtona p = 9 /20 iteracji/ y = 3 x k 152
Przykład ciekawego zastosowania metody Newtona p = 0.12345678 /20 iteracji/ y = 0.35136417 x k 153
Przykład ciekawego zastosowania metody Newtona x k p = 999999999 (dziewięć dziewiątek) /20 iteracji/ y = 31622.7765 154
Przykład ciekawego zastosowania metody Newtona Co się dzieje, gdy załoŝenie p 0 nie jest spełnione ale schemat iteracyjny zostanie uruchomiony? 155
Przykład ciekawego zastosowania metody Newtona x k p = 1 (wbrew załoŝeniu!) /2 iteracje/ x 0 = 1, x 1 = 0, czyli jest x 2 nieokreślone (formalny wynik: y = error ) 156
Przykład ciekawego zastosowania metody Newtona x k p = 3 (wbrew załoŝeniu!) /20 iteracji/ cykliczność ciągu {x k } (formalny wynik: y = error ) 157
Przykład ciekawego zastosowania metody Newtona x k p = 10 (wbrew załoŝeniu!) /20 iteracji/ niezbieŝność ciągu {x k } (formalny wynik: y = error ) 158
Przykład ciekawego zastosowania metody Newtona x k p = 10 (wbrew załoŝeniu!) /200 iteracji/ niezbieŝność ciągu {x k } (formalny wynik: y = error ) 159
Przykład ciekawego zastosowania metody Newtona x k p = 10 (wbrew załoŝeniu!) /2000 iteracji/ niezbieŝność ciągu {x k } (formalny wynik: y = error ) 160
Przykład ciekawego zastosowania metody Newtona x k p = 10 (wbrew załoŝeniu!) /2000 iteracji/ niezbieŝność ciągu {x k } (formalny wynik: y = error ) 161
Przykład ciekawego zastosowania metody Newtona x k p = 10 (wbrew załoŝeniu!) /2000 iteracji/, zawęŝone wartości niezbieŝność ciągu {x k } (formalny wynik: y = error ) 162
Metoda Newtona (optymalizacyjna) Metoda (optymalizacyjna) Newtona metoda optymalizacji jednowymiarowej bez ograniczeń (z ewentualnymi ograniczeniami na zakres zmienności zmiennej) Dane jednowymiarowy obszar S (obszar musi spełniać kilka dodatkowych załoŝeń) określona w obszarze S funkcja f(x) (funkcja musi spełniać kilka dodatkowych załoŝeń) Cel metody znaleźć x* S taki, Ŝe x S f(x*) f(x) (minimalizacja funkcji f(x) w obszarze S) 163
Metoda Newtona (optymalizacyjna) Idea metody Newtona (optymalizacji jednowymiarowej) niech będzie dana analitycznie jednowymiarowa funkcja f(x), dla której poszukujemy minimum w pewnym obszarze (w praktyce: w przedziale), i o której zakładamy, Ŝe w tym właśnie przedziale jest ciągła jest wypukła posiada pierwszą i drugą pochodną (dane analitycznie), które są ciągłe uznaje się, Ŝe przebieg optymalizowanej, jednowymiarowej funkcji f(x) w otoczeniu pewnego ustalonego punktu x 0 jest taki sam, jak przebieg pewnej funkcji kwadratowej, czyli funkcji postaci g(x) = ax 2 + bx + c, gdzie a > 0, o parametrach a, b i c tak dobranych, aby dobrze odzwierciedlały przebieg funkcji f(x) do jakości takiego odzwierciedlenia przyczyniają się oczywiście powyŝsze załoŝenia dotyczące funkcji f(x), które (nie przez przypadek, oczywiście) są takŝe właściwościami funkcji kwadratowej postaci g(x) = ax 2 + bx + c, gdzie a > 0 przybliŝenie funkcji f(x) jest wykonywane z uŝyciem jej pochodnych 164
Metoda Newtona (optymalizacyjna) Idea metody Newtona (optymalizacji jednowymiarowej), c.d. za rozwiązanie funkcji f(x) uznaje się rozwiązanie funkcji g(x), przy czym: jeŝeli znaleziony punkt (czyli rozwiązanie kwadratowej funkcji g(x)) stanowi rozwiązanie optymalizowanej funkcji f(x), to zadanie jest zakończone powyŝsze sprawdzenie moŝe nie być trywialne ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (warunek stopu) jeŝeli znaleziony punkt (czyli rozwiązanie kwadratowej funkcji g(x)) nie stanowi rozwiązania optymalizowanej funkcji f(x), to przyjmuje się, Ŝe stanowi on lepsze przybliŝenie poszukiwanego rozwiązania i powtarza się całe postępowanie powyŝsze przyjęcie moŝe być błędne ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (niezbieŝność) 165
Metoda Newtona (optymalizacyjna) Idea metody Newtona (optymalizacji jednowymiarowej), c.d. funkcja kwadratowa i jej dwie pierwsze pochodne funkcja: g(x) = ax 2 + bx + c, gdzie a > 0 jej pierwsza pochodna: g (x) = 2ax + b jej druga pochodna: g (x) = 2a połoŝenie rozwiązania funkcji kwadratowej: punkt zerowania się (pierwszej) pochodnej przyrównanie pierwszej pochodnej do zera: 2ax + b = 0 rozwiązanie: x = b/2/a pierwsza pochodna jest funkcją afiniczną, która zmienia znak w punkcie x = b/2/a (jest ujemna dla x < b/2/a i dodatnia dla x > b/2/a), z czego wynika, Ŝe funkcja g(x) posiada ekstremum w punkcie x = b/2/a poniewaŝ (z załoŝenia) a > 0, więc takŝe 2a > 0, a zatem ekstremum funkcji g(x) jest typu minimum uwaga: w zaleŝności od a, funkcja g(x) = ax 2 + bx + c moŝe mieć minima, maksima albo punkty przegięcia, a konkretnie: funkcja ma minimum, gdy a > 0 funkcja ma punkt przegięcia, gdy a = 0 funkcja ma maksimum, gdy a < 0 166
Metoda Newtona (optymalizacyjna) PrzybliŜanie funkcji f(x) funkcją kwadratową z uŝyciem pochodnych jeŝeli wszystkie pochodne funkcji f(x) istnieją w pewnym obszarze S, to w tym obszarze moŝliwe jest przybliŝenie tej funkcji wykorzystujące jej rozwinięcie w szereg Taylora 167
Metoda Newtona (optymalizacyjna) PrzybliŜanie funkcji f(x) funkcją kwadratową z uŝyciem pochodnych niech dane będą ustalony obszar S funkcja f(x) określona w obszarze S i posiadająca wszystkie pochodne określone w obszarze S rozwinięcie T(x) funkcji f(x) w szereg Taylora wokół punktu y S dane jest następującym wzorem T(x) = f (0) (y)(x y) 0 /(0!) + f (1) (y)(x y) 1 /(1!) + f (2) (y)(x y) 2 /(2!) + = f(y) 1/1 + f (y)(x y)/1 + f (y)(x y) 2 /2 + = f(y) + f (y)(x y) + f (y)(x y) 2 /2 + (rozwinięcie obejmuje nieskończoną liczbę składników) zastosowana notacja: f (k) (x) oznaczenie k-tej pochodnej funkcji f(x) w szczególności f (0) (x) f(x) funkcja f (1) (x) f (x) jej pierwsza pochodna f (2) (x) f (x) jej druga pochodna 168
Metoda Newtona (optymalizacyjna) PrzybliŜanie funkcji f(x) funkcją kwadratową z uŝyciem pochodnych dla dowolnej funkcji f(x) dla kaŝdego x S wykorzystując nieskończoną liczbę składników rozwinięcia otrzymujemy T(x) = f(x) skończoną liczbę składników rozwinięcia otrzymujemy T(x) f(x) dla szczególnej funkcji, spełniającej f (k) (x) = 0 dla wszystkich k 3 dla kaŝdego x S wykorzystując trzy pierwsze składniki rozwinięcia otrzymujemy T(x) = f(x) przykładem takiej funkcji jest g(x) = ax 2 + bx + c, poniewaŝ: g (x) = 2ax + b g (x) = 2a g (x) = 0 g (x) = 0 itd. 169
Metoda Newtona (optymalizacyjna) PrzybliŜanie funkcji f(x) funkcją kwadratową z uŝyciem pochodnych wykorzystując trzyelementowe przybliŝenie q(x) rozwinięcia funkcji f(x) wokół punktu y S mamy dla kaŝdego x S f(x) q(x) = f(y) + f (y)(x y) + f (y)(x y) 2 /2 funkcja q(x) stanowi przybliŝenie funkcji f(x) jest trzyelementowym rozwinięciem f(x) w szereg Taylora wokół punktu y ma postać g(x) = ax 2 + bx + c poniewaŝ q(x) = f(y) + f (y)(x y) + f (y)(x y) 2 /2 = = f(y) + f (y)x f (y)y + f (y)(x y) 2 /2 = = f(y) + f (y)x f (y)y + f (y)(x 2 2xy+y 2 )/2 = = f(y) + f (y)x f (y)y + f (y)x 2 /2 2f (y)xy/2 + f (y)y 2 /2 = = f(y) + f (y)x f (y)y + f (y)x 2 /2 f (y)xy + f (y)y 2 /2 = = f (y)x 2 /2 + f (y)x f (y)xy + f(y) f (y)y + f (y)y 2 /2 = f (y)/2 x 2 + (f (y) f (y)y) x + (f(y) f (y)y+f (y)y 2 /2) a więc: a = f (y)/2, b = f (y) f (y)y, c = f(y) f (y)y+f (y)y 2 /2 170
Metoda Newtona (optymalizacyjna) Schemat iteracyjny metody zakładamy, Ŝe dla kaŝdego x S spełniony jest warunek f (x) 0 powyŝsze załoŝenie oraz zaleŝności a = f (y)/2 i b = f (y) f (y)y pozwalają na następujące określenie rozwiązania funkcji x = b/2/a = = (f (y) f (y)y)/2/(f (y)/2) = (f (y) f (y)y)/f (y) = = (f (y)/f (y) f (y)y/f (y)) = (f (y)/f (y) y) = = y f (y)/f (y) jeŝeli y jest dowolnym punktem ustalonego obszaru S, to (zgodnie z zasadą przybliŝania funkcji f(x) funkcją kwadratową) punkt x = y f (y)/f (y) jest rozwiązaniem funkcji f(x) lub lepszym przybliŝeniem tego rozwiązania niŝ punkt y 171
Metoda Newtona (optymalizacyjna) Schemat iteracyjny metody zasada ustalania następnego punktu na podstawie poprzedniego pozwala na sformułowanie następującego schematu iteracyjnego x k+1 = x k f (x k )/f (x k ) Algorytm 1. ustal punkt x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: oblicz x k+1 = x k f (x k )/f (x k ) podstaw k = k + 1 172
Metoda Newtona (optymalizacyjna) Potencjalne warunki stopu metody osiągnięcie minimum teoretycznie badamy: f (x k ) = 0 praktycznie badamy: f (x k ) ε ustabilizowanie wyniku teoretycznie badamy: x k+1 = x k praktycznie badamy: x k+1 x k ε przekroczenie maksymalnej liczby iteracji k > k 0 gdzie ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń) k 0 jest duŝą, dodatnią wartością całkowitą (maksymalna liczba iteracji) 173
Metoda Newtona (optymalizacyjna) ZbieŜność metody metoda nie gwarantuje zbieŝności dla kaŝdego wektora początkowego przyczyny ewentualnej niezbieŝności zerowość drugiej pochodnej (a więc nie istnieje jej odwrotność) rezultat: nie moŝna obliczyć x k+1 niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: f(x k+1 ) f(x k ) w przypadkach zbieŝnych: zbieŝność rzędu drugiego (czyli wysoka!) 174
Metoda Newtona (optymalizacyjna) Czy są moŝliwe sytuacje, w których (optymalizacyjna) metoda Newtona nie działa wcale? tak przyczyny druga pochodna nieokreślona (nie moŝna zainicjować ciągu {x k }) druga pochodna dla pewnego x k zerowa (nie moŝna utworzyć elementu x k+1 ) ciąg {x k } jest niezbieŝny, a więc np.: ciąg {x k } dąŝy do + ciąg {x k } dąŝy do ciąg {x k } jest cykliczny ciąg {x k } przejawia inne powody niezbieŝności» np.: +1, 2, +4, 8, +16, 32, +64, 128, +256, 175
Metoda Newtona (optymalizacyjna) Czy są moŝliwe sytuacje, w których (optymalizacyjna) metoda Newtona nie działa jednoznacznie (w jakimś sensie)? tak przyczyna istnienie wielu minimów z których róŝne mogą zostać osiągnięte (zaleŝnie od doboru punktu startowego) 176
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000 minimum funkcji: x* = 6.10598343090539 przyjęty warunek stopu: f (x) 10 6 177
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 = 1 osiągnięto warunek stopu 178
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 = 5 osiągnięto warunek stopu 179
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu 180
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu 181
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 182
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 183
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 184
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = x 4 50x 2 + 300x + 2000, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 185
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.5x 2 5x + 50 minimum funkcji: x* = 5 przyjęty warunek stopu: f(x) 10 6 186
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.5x 2 5x + 50, f (x) 10 6, x 0 = 1 osiągnięto warunek stopu 187
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.5x 2 5x + 50, f (x) 10 6, x 0 = 1 osiągnięto warunek stopu 188
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.5x 2 5x + 50, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu 189
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.5x 2 5x + 50, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu 190
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3 minimum funkcji: x*: brak (lim x x 3 = ) przyjęty warunek stopu: f(x) 10 6 191
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3, f (x) 10 6, x 0 = 1 osiągnięto warunek stopu (problem: wynik nie jest minimum!) (uwaga: zbieŝność rzędu pierwszego) 192
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3, f (x) 10 6, x 0 = 1 osiągnięto warunek stopu (problem: wynik nie jest minimum!) (uwaga: zbieŝność rzędu pierwszego) 193
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu (problem: wynik nie jest minimum!) (uwaga: zbieŝność rzędu pierwszego) 194
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3, f (x) 10 6, x 0 = 1000 osiągnięto warunek stopu (problem: wynik nie jest minimum!) (uwaga: zbieŝność rzędu pierwszego) 195
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = (1/3)x 3, f (x) 10 6, x 0 = 0 osiągnięto warunek stopu (problem: wynik nie jest minimum) 196
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.25x 4 x 2 + 2x + 10 minimum funkcji: x* = 1.76929235424336 przyjęty warunek stopu: f(x) 10 6 197
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.25x 4 x 2 + 2x + 10, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 198
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.25x 4 x 2 + 2x + 10, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 199
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.25x 4 x 2 + 2x + 10, f (x) 10 6, x 0 losowy z rozkladu N(0,1) osiągnięto warunek stopu 200
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.25x 4 x 2 + 2x + 10, f (x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: brak zbieŝności) 201
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.75x 4/3 minimum funkcji: x* = 0 przyjęty warunek stopu: f(x) 10 6 202
Metoda Newtona (optymalizacyjna) Przykład poszukiwania minimów funkcji, c.d. f(x) = 0.75x 4/3, f(x) 10 6, x 0 = 1 nie osiągnięto warunku stopu (problem: brak zbieŝności) 203
Metody Newtona: porównanie Porównanie: optymalizacyjna a aproksymacyjna metoda Newtona dzięki odpowiednim załoŝeniom dotyczącym funkcji f(x) optymalizacyjny schemat iteracyjny x k+1 = x k f (x k )/f (x k ) dla funkcji f(x) prowadzi do: znalezienia rozwiązania funkcji f(x) (argumentu zapewniającego minimum) a jednocześnie znalezienia miejsca zerowego funkcji f (x) (argumentu zapewniającego zerowość) a więc jest jednocześnie schematem aproksymacyjnym dla funkcji f (x) przez analogię: schematem aproksymacyjnym dla funkcji f(x) jest więc x k+1 = x k f(x k )/f (x k ) (reszta algorytmu jest takŝe analogiczna) 204
Metoda Newtona-Raphsona Metoda Newtona-Raphsona metoda optymalizacji wielowymiarowej bez ograniczeń (z ewentualnymi ograniczeniami na zakres zmienności zmiennych) Dane wielowymiarowy obszar S określona w obszarze S funkcja f(x) Cel metody znaleźć x* S taki, Ŝe x S f(x*) f(x) (minimalizacja funkcji f(x) w obszarze S) 205
Metoda Newtona-Raphsona Naturalne uogólnienie metody Newtona n wymiarów niech x = [x 1, x 2,, x n ] T będzie wektorem o rozmiarze n 1 f(x) będzie funkcją jednowymiarową od wektora x trzyelementowe rozwinięcie q(x) funkcji f(x) w szereg Taylora wokół wektora y S dane jest następującym wzorem q(x) = f(y) + ( f (y)) T (x y) + 1/2 (x y) T H f (y)(x y) gdzie f (y) gradient funkcji f(x) od wektora y H f (y) hesjan funkcji f(x) od wektora y 206
Metoda Newtona-Raphsona Definicja gradientu f funkcji f(x) dla x = [x 1, x 2,, x n ] T gradient (wektor o rozmiarze n 1) f/ x 1 f = f/ x 2 f/ x n (istnieje, gdy f(x) posiada wszystkie pierwsze pochodne) 207
Metoda Newtona-Raphsona Cechy gradientu f funkcji f(x) dla x = [x 1, x 2,, x n ] T gradient f funkcji f(x) jest w ogólności wektorem pierwszych pochodnych funkcji f(x) (po odpowiednich elementach wektora x) gradient f (y) funkcji f(x) od wektora y jest wektorem wartości pierwszych pochodnych funkcji f(x) obliczonych dla wektora y interpretacja graficzna: gradient funkcji w punkcie (o ile istnieje i jest niezerowy) jest wektorem wskazującym kierunek, w którym wzrost wartości tej funkcji w otoczeniu tego punktu jest maksymalny w punktach ekstremalnych (ale nie tylko) gradient jest wektorem zerowym (dlatego jest naturalnie wykorzystywany w warunkach stopu) 208
Metoda Newtona-Raphsona Graficzna interpretacja gradientu 209
Metoda Newtona-Raphsona Definicja hesjanu H f funkcji f(x) dla x = [x 1, x 2,, x n ] T hesjan (macierz o rozmiarach n n) f 2 /( x 1 x 1 ) f 2 /( x 1 x 2 ) f 2 /( x 1 x n ) H f = f 2 /( x 2 x 1 ) f 2 /( x 2 x 2 ) f 2 /( x 2 x n ) f 2 /( x n x 1 ) f 2 /( x n x 2 ) f 2 /( x n x n ) (istnieje, gdy f(x) posiada wszystkie drugie pochodne) 210
Metoda Newtona-Raphsona Cechy hesjanu H f funkcji f(x) dla x = [x 1, x 2,, x n ] T hesjan H f funkcji f(x) jest w ogólności macierzą drugich pochodnych funkcji f(x) (po odpowiednich parach elementów wektora x) hesjan H f (w) funkcji f(x) od wektora w jest macierzą wartości drugich pochodnych funkcji f(x) obliczonych dla wektora w uwaga: interpretacja graficzna hesjanu jest bardziej złoŝona niŝ interpretacja graficzna gradientu, poniewaŝ gradient jest wektorem (który posiada naturalną interpretację graficzną w postaci strzałki), podczas gdy hesjan jest macierzą (wiele strzałek?) 211
Metoda Newtona-Raphsona Pewne właściwości hesjanu H f funkcji f(x) poniewaŝ dla wszystkich i oraz j zachodzi f 2 /( x i x j ) = f 2 /( x j x i ), więc hesjan H f (w) dla kaŝdego wektora w jest macierzą symetryczną tw. Schwarza (jeŝeli pochodne istnieją i są ciągłe, to są sobie równe) jeŝeli dwukrotnie róŝniczowalna funkcja f(x) jest wypukła w obszarze S, to jej hesjan H f (s) jest dla kaŝdego wektora s z obszaru S macierzą nieujemnie określoną (prawdziwe jest takŝe stwierdzenie odwrotne) 212
Metoda Newtona-Raphsona Uogólnienie schematu iteracyjnego na n wymiarów, c.d. analogiczna do przypadku jednowymiarowego zasada ustalania następnego wektora na podstawie poprzedniego pozwala na sformułowanie następującego schematu iteracyjnego x k+1 = x k (H f (x k )) 1 f (x k ) Algorytm 1. ustal wektor x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: oblicz x k+1 = x k (H f (x k )) 1 f (x k ) podstaw k = k + 1 213
Metoda Newtona-Raphsona Potencjalne warunki stopu metody osiągnięcie minimum teoretycznie badamy: f (x k ) = 0 praktycznie badamy: f (x k ) ε ustabilizowanie wyniku teoretycznie badamy: x k+1 = x k praktycznie badamy: x k+1 x k ε przekroczenie maksymalnej liczby iteracji k > k 0 gdzie ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń) k 0 jest duŝą, dodatnią wartością całkowitą (maksymalna liczba iteracji) 214
Metoda Newtona-Raphsona ZbieŜność metody metoda nie gwarantuje zbieŝności dla kaŝdego wektora początkowego przyczyny ewentualnej niezbieŝności osobliwość hesjanu (a więc nie istnieje jego odwrotność) rezultat: nie moŝna obliczyć x k+1 niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: f(x k+1 ) f(x k ) w przypadkach zbieŝnych: zbieŝność rzędu drugiego (czyli wysoka!) 215
Metoda Newtona-Raphsona Idea kroku metody wektor dodawany do wektora x k w celu przekształcenia go w wektor x k+1 nosi nazwę kroku metody i jest oznaczany przez s k w metodzie Newtona-Raphsona s k = (H f (x k )) 1 f (x k ) (ale w innych metodach wektor ten moŝe być ustalany inaczej) 216
Metoda Newtona-Raphsona s k x k x k+1 Ilustracja kroku metody s k = (H f (x k )) 1 f (x k ) (reprezentowany strzałką) 217
Metoda Newtona-Raphsona Metoda Newtona jest szczególnym przypadkiem metody Newtona-Raphsona, poniewaŝ gdy x jest wektorem jednoelementowym, czyli x = [x] (rozmiar 1x1), to f(x) = f([x]) jest funkcją jednowymiarową, którą moŝna zapisywać jako f(x) f (x) = f ([x]) = [ f/ x 1 ] = [f (x)] jest wektorem jednoelementowym, który moŝna zapisywać jako f (x) H f (x) = H f ([x]) = [ f 2 /( x 1 x 1 )] = [f (x)] jest macierzą jednoelementową, którą moŝna zapisywać jako f (x) A więc zapis x k+1 = x k (H f (y)) 1 f (y) sprowadza się do x k+1 = x k (f (x)) 1 f (x) czyli do x k+1 = x k f (x)/f (x) 218
Metoda Newtona-Raphsona Przykład minimalizacji funkcji od argumentu dwuwymiarowego (argumenty mają postać x = [x 1, x 2 ] T ) funkcja f(x) = (x 1 ) 2 + 2(x 2 ) 2 + 3x 1 gradient f = f/ x 1 = 2x 1 + 3 hesjan f/ x 2 4x 2 H f = f 2 /( x 1 x 1 ) f 2 /( x 1 x 2 ) = 2 0 f 2 /( x n x 1 ) f 2 /( x n x 2 ) 0 4 219
Metoda Newtona-Raphsona Przykład minimalizacji, c.d. gradient w kolejnych iteracjach poniewaŝ gradient nie jest wektorem stałych, więc będzie musiał być wyliczany w kaŝdej iteracji hesjan w kolejnych iteracjach poniewaŝ hesjan jest macierzą stałych, więc będzie taki sam we wszystkich iteracjach odwrotność hesjanu (takŝe identyczna we wszystkich iteracjach) (H f ) 1 = 1/2 0 0 1/4 przyjęty warunek stopu: f (x k ) = 0 220
Metoda Newtona-Raphsona Przykład minimalizacji, c.d. rozwiązanie początkowe x 0 = 1 2 221
Metoda Newtona-Raphsona Przykład minimalizacji, c.d. x 0 = 1 2 pierwsza iteracja f (x 0 ) = 2 1 + 3 = 5 4 2 8 poniewaŝ warunek stopu nie jest spełniony, więc obliczamy x 1 = x 0 (H f (y)) 1 f (y) x 1 = 1 1/2 0 5 = 1 5/2 = 3/2 2 0 1/4 8 2 2 0 222
Metoda Newtona-Raphsona Przykład minimalizacji, c.d. x 1 = 3/2 0 druga iteracja f (x 1 ) = 2 ( 3/2) + 3 = 0 4 0 0 poniewaŝ warunek stopu jest spełniony, więc wektor x 1 jest rozwiązaniem (stanowi minimum funkcji f(x)) uwaga: dzięki temu, Ŝe f (x 1 ) = 0, kolejne rozwiązania, tzn. x 2, x 3,, spełniałyby x 1 = x 2 = x 3 = 223
Przykład zastosowania metody Newtona-Raphsona Problem najmniejszych kwadratów (PMK) i jego rozwiązanie problem najmniejszych kwadratów moŝe (i zazwyczaj jest ) rozwiązywany tzw. metodą najmniejszych kwadratów (MNK) PNK jest problemem dopasowania prostej/płaszczyzny/ do zbioru pewnych punktów, czyli problemem odkrycia zaleŝności liniowej pomiędzy ustalonymi zmiennymi wejściowymi a wyjściowymi PNK jest (typowym) problemem optymalizacyjnym, jednak na tyle prostym, ze posiada jawne rozwiązanie analityczne 224
Przykład zastosowania metody Newtona-Raphsona Wywód PNK startujacy od rozwiązania układu równań niec dany będzie układ Xb = y, gdzie X, b i y są macierzami/wektorami o wymiarach X mxn, b nx1, y mx1, w którym X i y są (odpowiednio) macierzą oraz wektorem stałych, natomiast b jest wektorem zmiennych rozwiązanie układu polega na znalezieniu wektora b zapewniającego równość: Xb = y w ogólności, róŝne moŝliwe przypadki opisuje twierdzenie Kroneckera-Capelli ego; w szczególności (dla X będącego macierzą pełnego rzędu) moŝliwe są następujące sytuacje gdy m < n, to Xb = y moŝe mieć nieskończenie wiele rozwiązań gdy m = n, to Xb = y moŝe mieć jedno rozwiązanie gdy m > n, to Xb = y moŝe mieć zero rozwiązań co oznacza, Ŝe nie istnieje wektor b zapewniający równość Xb = y 225
Przykład zastosowania metody Newtona-Raphsona Wywód PNK startujący od rozwiązania układu równań, c.d. RozwaŜamy sytuację, w której nie istnieje wektor b zapewniający równość Xb = y wtedy moŝna szukać x takiego, aby wektor Xb był jak najbardziej bliski wektorowi y, tzn. aby wektor Xb y był jak najbardziej bliski wektorowi 0 formalnie: szukamy wektora b minimalizującego wartość wyraŝenia (skalarnego) Xb y 2 uwaga: znane jest optymalne rozwiązanie analityczne tego problemu, mające postać: b = (X T X) 1 X T y (jest wynik tzw. metody najmniejszych kwadratów, MNK) 226
Przykład zastosowania metody Newtona-Raphsona Rozwiązywanie PNK metodą Newtona-Raphsona Niech s(b) = Xb y 2 poniewaŝ dla rzeczywistych w zachodzi w 2 w T w, więc takŝe Xb y 2 = (Xb y) T (Xb y) przekształcając to wyraŝenie otrzymujemy: Xb y 2 = (Xb y) T (Xb y) = ((Xb) T y T )(Xb y) = = (b T X T y T )(Xb y) = b T X T (Xb y) y T (Xb y) = = b T X T Xb b T X T y (y T Xb y T y) = b T X T Xb b T X T y y T Xb + y T y = = b T X T Xb 2b T X T y + y T y 227
Przykład zastosowania metody Newtona-Raphsona Rozwiązywanie PNK metodą Newtona-Raphsona, c.d. Ustalamy następujące składowe: gradient: s (b) = 2X T Xb 2X T y = 2(X T Xb X T y) (zaleŝy liniowo od b) hesjan: H s (b) = 2X T X (nie zaleŝy od b) zatem (H s (b k )) 1 = (1/2)(X T X) 1 (nie zaleŝy od b) A więc (H s (b)) 1 s (b) = (1/2)(X T X) 1 2(X T Xb X T y) = = (X T X) 1 (X T Xb X T y) = (X T X) 1 X T Xb (X T X) 1 X T y = = Ib (X T X) 1 X T y = b (X T X) 1 X T y 228
Przykład zastosowania metody Newtona-Raphsona Rozwiązywanie PNK metodą Newtona-Raphsona, c.d. Po zaadaptowaniu schematu iteracyjnego metody Newtona-Raphsona x k+1 = x k (H f (x k )) 1 f (x k ) do funkcji s(b) (zmienną jest wektor b) powstaje schemat: b k+1 = b k (H s (b k )) 1 s (b k ) Wykorzystując równość (H s (b)) 1 s (b) = b (X T X) 1 X T y otrzymujemy ostatecznie: b k+1 = b k (b k (X T X) 1 X T y) = b k b k + (X T X) 1 X T y = (X T X) 1 X T y Czyli dla dowolnego b 0 zachodzi: b 1 = b 0 (b 0 (X T X) 1 X T y) = b 0 b 0 + (X T X) 1 X T y = (X T X) 1 X T y 229
Przykład zastosowania metody Newtona-Raphsona Rozwiązywanie PNK metodą Newtona-Raphsona, c.d. Uzyskany wynik w postaci b 1 = (X T X) 1 X T y powstaje w wyniku wykonania jednego (pierwszego) kroku nie zaleŝy od b 0 (tzn. dla kaŝdego b 0 wektor b 1 będzie taki sam) stanowi rozwiązanie optymalne (czyli wynik wygenerowany przez MNK) Wniosek: dla kaŝdego rozwiązania początkowego metoda Newtona-Raphsona znajduje optymalne rozwiązanie PNK w jednym kroku 230
Więcej o metodach iteracyjnych Krok (wielowymiarowej) metody iteracyjnej wektor dodawany do wektora x k w celu przekształcenia go w wektor x k+1 nosi nazwę kroku metody i jest oznaczany przez s k 231
Więcej o metodach iteracyjnych Ogólna postać (wielowymiarowych) metod iteracyjnych wyraŝona z jawnym wykorzystaniem kroku metody Algorytm 1. ustal wektor x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: znajdź s k oblicz x k+1 = x k + s k podstaw k = k + 1 232
Więcej o metodach iteracyjnych Wersja algorytmu Newtona-Raphsona z jawnym wykorzystaniem kroku metody Algorytm 1. ustal wektor x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: oblicz s k = (H f (x k )) 1 f (x k ) oblicz x k+1 = x k + s k podstaw k = k + 1 233
Więcej o metodach iteracyjnych Wyznaczając krok metody moŝliwe jest rozwaŝenie osobno kierunku poszukiwań: d k wektor (zasadniczo niezerowy) reprezentuje wyłącznie kierunek (tzn. kierunek kroku metody) jeŝeli jest niezerowy, to jest zwykle przedstawiany postaci unormowanej (tzn. o długości 1) długości kroku: α k skalar (zasadniczo niezerowy) specyfikuje wyłącznie długość (tzn. długość kroku metody) moŝe być wyznaczany tylko wtedy, gdy d k 0 wtedy: krok metody s k = α k d k 234
Więcej o metodach iteracyjnych Kierunek poszukiwań i długość kroku na podstawie wektora kroku mając s k (który w metodzie Newtona-Raphsona obliczamy jako s k = (H f (x k )) 1 f (x k )) moŝna (o ile s k 0) zawsze znaleźć kierunek poszukiwań d k i długość kroku α k wykorzystując zaleŝności d k = s k / s k α k = s k (choć tak naprawdę nie są juŝ wtedy one metodzie potrzebne) uwaga: krok metody, a tym samym kierunek poszukiwań i długość kroku mogą nie istnieć! w niektórych innych metodach kolejność pozyskiwania tych elementów moŝe być jednak inna (najpierw kierunek i długość, a potem krok), co pozwala tym metodom pokonywać pewne słabości metody Newtona-Raphsona 235
Więcej o metodach iteracyjnych Ogólna postać (wielowymiarowych) metod iteracyjnych wyraŝona z jawnym wykorzystaniem kierunku poszukiwań oraz długości kroku Algorytm 1. ustal wektor x 0 i podstaw k = 0 2. dopóki nie zachodzi warunek stopu, wykonuj: znajdź d k znajdź α k oblicz s k = α k d k oblicz x k+1 = x k + s k podstaw k = k + 1 236
Problemy metody Newtona-Raphsona Potencjalne problemy kierunek poszukiwań nie istnieje jest bliski wektorowi zerowemu nie jest właściwy w szczególności: nie tworzy kata rozwartego z gradientem długość kroku jest bliska zeru jest niewłaściwa Problemy te nie są wynikiem jakiegoś błędu postepowania, lecz wynikiem stosowania w metodzie (zawsze skończonego) przybliŝania funkcji f(x)) 237
Idea niezaleŝnego kierunku poszukiwań i długości kroku Problem długości kroku w metodzie Newtona-Raphsona obserwacja: dla znalezionego kroku metody s k = (H f (x k )) 1 f (x k ) długość tego kroku α k = s k moŝe być nieoptymalna, tzn. moŝe się okazać, Ŝe lepsze przybliŝenie muminum funkcji otrzymuje się dla długości kroku większej lub mniejszej od obliczonej 238
Idea niezaleŝnego kierunku poszukiwań i długości kroku Inna metoda poszukiwania kroku metody s k ustal d k 0 znajdź α k 0 minimalizujące funkcję f(α k ) = f(x k + α k d k ) w praktyce interesują nas wartości α k > 0 oblicz s k = α k d k Metoda ta zawiera wewnętrzny problem optymalizacji jest to zawsze problem optymalizacji jednowymiarowej z ograniczeniem na zakres zmiennej (zmienna nieujemna) jako taki moŝe być rozwiązywany np. metodą Newtona (z modyfikacją uwzględniającą nieujemność zmiennej) 239
Uogólniona metoda Newtona x k Ilustracja problemu: znajdź α k 0 minimalizujące f(α k ) = f(x k + α k d k ) 240
Uogólniona metoda Newtona d k Ilustracja problemu: znajdź α k 0 minimalizujące f(α k ) = f(x k + α k d k ) 241
Ilustracja problemu: znajdź α k 0 minimalizujące f(α k ) = f(x k + α k d k ) 242
Uogólniona metoda Newtona 0 Ilustracja problemu: znajdź α k 0 minimalizujące f(α k ) = f(x k + α k d k ) α k 243
Idea niezaleŝnego kierunku poszukiwań i długości kroku Przykład tworzenia (jednowymiarowej) funkcji f(α k ) = f(x k + α k d k ) funkcja: f(x) = (x 1 ) 2 + 2(x 2 ) 2 + 3x 1 x k = 1 2 d k = 5/2 2 wtedy x k + α k d k = 1 5/2 α k 2 2α k f(α k ) = (1 5/2 α k ) 2 + 2(2 2α k ) 2 + 3(1 5/2 α k ) = = 57/4 (α k ) 2 57/2 α k + 12 244
Idea niezaleŝnego kierunku poszukiwań i długości kroku WaŜna implikacja warunku znajdź α k 0 : d k musi być tak dobrany, Ŝe aby dotrzeć do minimum funkcji z wektora x k naleŝy poruszać się w stronę wyznaczoną wektorem d k ( do przodu ) a więc przyjęcie np. d k = f (x k ) jest dopuszczalne bo wektor f (x k ) wskazuje kierunek maksymalnego spadku funkcji znalezione α k będzie potencjalnie dodatnie d k = f (x k ) jest niedopuszczalne bo wektor f (x k ) wskazuje kierunek maksymalnego wzrostu funkcji znalezione α k będzie zawsze zerem Sytuacje szczególne (powinny być uwzględnione w warunkach stopu metod) d k = 0 α k = 0 245
Idea niezaleŝnego kierunku poszukiwań i długości kroku Poszukiwanie dowolnej (niekoniecznie nieujemnej) długości kroku metody s k ustal d k 0 znajdź α k minimalizujące funkcję f(α k ) = f(x k + α k d k ) (zamiast: znajdź α k 0 minimalizujące funkcję f(α k ) = f(x k + α k d k ) ) oblicz s k = α k d k Metoda ta zawiera wewnętrzny problem optymalizacji jest to zawsze problem optymalizacji jednowymiarowej bez ograniczeń jako taki moŝe być rozwiązywany np. (optymalizacyjną) metodą Newtona 246
Uogólniona metoda Newtona x k Ilustracja problemu: znajdź α k minimalizujące f(α k ) = f(x k + α k d k ) 247
Uogólniona metoda Newtona ±d k Ilustracja problemu: znajdź α k minimalizujące f(α k ) = f(x k + α k d k ) 248
Ilustracja problemu: znajdź α k minimalizujące f(α k ) = f(x k + α k d k ) 249
Uogólniona metoda Newtona 0 Ilustracja problemu: znajdź α k minimalizujące f(α k ) = f(x k + α k d k ) α k 250