Metody Numeryczne Optymalizacja. Wojciech Szewczuk

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

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

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

1 Równania nieliniowe

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

KADD Minimalizacja funkcji

Matematyka stosowana i metody numeryczne

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Optymalizacja ciągła

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

Rozwiązywanie równań nieliniowych

1 Pochodne wyższych rzędów

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

Metody numeryczne I Równania nieliniowe

22 Pochodna funkcji definicja

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

Optymalizacja ciągła

Metody Numeryczne. Wojciech Szewczuk

1 Pochodne wyższych rzędów

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

Metoda Karusha-Kuhna-Tuckera

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

Programowanie matematyczne

Równania nieliniowe, nieliniowe układy równań, optymalizacja

Definicja problemu programowania matematycznego

Równania nieliniowe, nieliniowe układy równań, optymalizacja

Funkcje dwóch zmiennych

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

Optymalizacja ciągła

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Obliczenia iteracyjne

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

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

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

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

PROGRAMOWANIE KWADRATOWE

Rozwiązania prac domowych - Kurs Pochodnej. x 2 4. (x 2 4) 2. + kπ, gdzie k Z

KADD Minimalizacja funkcji

3. Funkcje wielu zmiennych

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

Optymalizacja ciągła

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

Formy kwadratowe. Rozdział 10

Analiza Matematyczna MAEW101 MAP1067

Ekstrema globalne funkcji

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

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

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

II. FUNKCJE WIELU ZMIENNYCH

Metody numeryczne II

1 Wartości własne oraz wektory własne macierzy

Metody optymalizacji. notatki dla studentów matematyki semestr zimowy 2015/2016

Zaawansowane metody numeryczne

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

Metody rozwiązywania równań nieliniowych

Funkcje wielu zmiennych

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Funkcja jednej zmiennej - przykładowe rozwiązania 1. Badając przebieg zmienności funkcji postępujemy według poniższego schematu:

RÓWNANIA NIELINIOWE Maciej Patan

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Metody systemowe i decyzyjne w informatyce

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Elementy Modelowania Matematycznego

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Metody numeryczne II

2. ZASTOSOWANIA POCHODNYCH. (a) f(x) = ln 3 x ln x, (b) f(x) = e2x x 2 2.

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

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

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

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

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223

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

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

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

Definicja pochodnej cząstkowej

Ekonometria - ćwiczenia 10

Pochodne funkcji wraz z zastosowaniami - teoria

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Notatki z Analizy Matematycznej 2. Jacek M. Jędrzejewski

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

Biotechnologia, Chemia, Chemia Budowlana - Wydział Chemiczny - 1

1 Funkcje dwóch zmiennych podstawowe pojęcia

Programowanie liniowe

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

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

Rachunek różniczkowy i całkowy w przestrzeniach R n

Materiały wykładowe (fragmenty)

2. Definicja pochodnej w R n

Pochodna funkcji odwrotnej

Pochodna funkcji c.d.-wykład 5 ( ) Funkcja logistyczna

Zagadnienia - równania nieliniowe

Iteracyjne rozwiązywanie równań

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

Transkrypt:

Metody Numeryczne Optymalizacja

Optymalizacja Definicja 1 Przez optymalizację będziemy rozumieć szukanie minimów lub maksimów funkcji.

Optymalizacja Definicja 2 Optymalizacja lub programowanie matematyczne może być określone jako poszukiwanie takiego x, który minimalizuje albo maksymalizuje f (x) pod warunkami d i a i i = 1, 2,..., n e i = b i i = 1, 2,..., p x n-wymiarowy wektor f (x) funkcją celu d i nierówności ograniczające e i równości ograniczające a i, b i stałe warunek znalezienia rozwiązania p + m n brak ograniczeń programowanie nieograniczone ograniczenia występują programowanie ograniczone f(x) i ograniczenia liniowe programowanie liniowe f(x) i ograniczenia kwadratowe programowanie kwadratowe f(x) i ograniczenia nieliniowe programowanie nieliniowe

Przypadek funkcji jednej zmiennej UWAGA! Odróżnienie maksimum (minimum) globalnego od lokalnego może stanowić problem. Trzy główne podejścia: wykres losowanie (z szerokiego zakresu) punktów startowych i wybranie tego o największej wartości absolutnej zaburzanie punktu startowego związanego z ekstremum i sprawdzanie czy procedura zawsze do niego powróci

Złoty podział l 0 = l 1 + l 2 (1) Teraz wstawiamy (1) do (2) l 1 l 0 = l 2 l 1 (2) l 1 l 1 + l 2 = l 2 l 1 (3)

Złoty podział Wprowadźmy R = l 2 /l 1, wtedy równanie (3) możemy zapisać 1 + R = 1 R (odwrotnosc rownania (3)) (4) Wybieramy dodatni pierwiastek R = złotą proporcją (złotą liczbą). R 2 + R 1 = 0 (5) 5 1 2 = 0.61803... Liczba ta nazywana jest

Złoty podział Partenon jeden z centralnie położonych budynków ateńskiego Akropolis. Jego budowę rozpoczęto w 447 p.n.e., a zakończono w roku 432 p.n.e.

Złoty podział Wybieramy punkty x l i x u pomiędzy, którymi znajduje się maksimum. Wybieramy dwa punkty wewnętrzne: gdzie d = x 1 = x l + d, x 2 = x u d, 5 1 2 (x u x l ) Jeśli f (x 1 ) > f (x 2 ) to odrzucamy < x l, x 2 > x 2 będzie nowym x l w następnej iteracji. Jeśli f (x 2 ) > f (x 1 ) to odrzucamy < x 1, x u > x 1 będzie nowym x u w następnej iteracji. Rysunek: Numerical Methods for Engineers

Złoty podział Dzięki wyborowi punktów x 1 i x 2 za pomocą złotej proporcji nie musimy liczyć wszystkich wartości f W przypadku pokazanym na rysunku stare x 1 będzie nowym x 2, nie musimy liczyć nowego f (x 2 ) bo f (x 2 ) new = f (x 1 ) old. Jedyne co należy zrobić to wyznaczyć nowe x 1 i wartość funkcji w tym punkcie: 5 1 x 1 = x l + (x u x l ). 2 Rysunek: Numerical Methods for Engineers

Złoty podział Podobne rozumowanie można przeprowadzić w przypadku gdyby maksimum było po lewej stronie x 2. W każdej iteracji odcinek zmniejsza się o czynnik równy złotej proporcji (ok. 62%). Rysunek: Numerical Methods for Engineers

Złoty podział Przykład 1 Szukamy maksimum funkcji f (x) = 2 sin x x2 10

Złoty podział Przykład 1 (c.d.) Weźmy x l = 0, x u = 4. Wtedy 5 1 d = (4 0) = 2.472 2 x 1 = 0 + 2.472 = 2.472 x 2 = 4 2.472 = 1.528 f (x 2 ) = f (1.528) = 2 sin 1.528 1.5282 10 = 1.765 f (x 1 ) = f (2.472) = 0.63 f (x 2 ) > f (x 1 ) maksimum jest w przedziale < x l, x 2 > < x 2, x 1 >

Złoty podział Przykład 1 (c.d.) x new u x new l = x old l = 0 = x1 old = 2.472 f (xu new ) = f (x old 1 ) x new 1 = x old 2 = 1.528 f (x new 1 ) = f (x old 2 ) Musimy wyznaczyć tylko: 5 1 d = (2.472 0) = 1.528 2 x new 2 = 2.4721 1.528 = 0.944 f (x new 2 ) = 1.531 Po ośmiu iteracjach: x l = 1.3901 f (x l ) = 1.7742 x u = 1.5279 f (x u) = 1.7647 d = 0.0851

Złoty podział Oszacowanie błędu: Załóżmy, że ekstremum jest w przedziale (x 2, x 1 ) (x 1, x u) (wybór przedziału nie ma znaczenia bo punkty wewnętrzne są symetryczne) Jeżeli ekstremum jest po lewej stronie, to maksymalny dystans do oszacowania wynosi: x a = x 1 x 2 = x l + R(x u x l ) x u + R(x u x l ) =... = (2R 1)(x u x l ) = 0.236(x u x l ). Jeżeli ekstremum jest po prawej stronie, to maksymalny dystans od oszacowania wynosi: x b = x u x 1 =... = (1 R)(x u x l ) = 0.382(x u x l ). A więc błąd względny możemy zapisać następująco: ɛ = (1 R) x u x l x max 100% (6)

Złoty podział algorytm input xlow, xhigh, maxit, es R (5 1/2 1)/2 xl xlow; xu xhigh d R(xu xl) x1 xl + d; x2 xu d f 1 f (x1); f 2 f (x2) if f 1 > f 2 then (maksymalizacja) xopt x1; fx f 1 else xopt x2; fx f 2 end if for iter = 1 to maxit do d R d if f 1 > f 2 then (maksymalizacja) xl x2; x2 x1 x1 xl + d f 2 f 1 f 1 f (x1) xopt x1 fx f 1 else xu x1; x1 x2 x2 xu d f 1 f 2 f 2 f (x2) xopt x2 fx f 2 end if if xopt 0 then ea (1 R)abs((xu xl)/xopt) 100 end if if ea es then EXIT end if output iter, xopt, fx end do if f 1 < f 2 then (minimalizacja) if f 1 < f 2 then (minimalizacja)

Interpolacja kwadratowa Parabola często jest dobrym przybliżeniem funkcji w pobliżu jej ekstremum. Rysunek: Numerical Methods for Engineers

Interpolacja kwadratowa Do trzech punktów obejmujących wspólnie ekstremum dopasowujemy funkcję kwadratową. Różniczkujemy dopasowaną funkcję. Pochodną przyrównujemy do zera i rozwiązujemy ze względu na x. x jest przybliżeniem ekstremum Rysunek: Numerical Methods for Engineers

Interpolacja kwadratowa x 3 = f (x 0)(x 2 1 x2 2 ) + f (x 1)(x 2 2 x2 0 ) + f (x 2)(x 2 0 x2 1 ) 2f (x 0 )(x 1 x 2 ) + 2f (x 1 )(x 2 x 0 ) + 2f (x 2 )(x 0 x 1 ) (7) x 0, x 1, x 2 punkty startowe ( zgadnięte ) x 3 wartość x odpowiadająca maksimum paraboli dopasowanej do punktów x 0, x 1, x 2 Punkty startowe do nowej iteracji możemy wybrać na dwa sposoby: x 0 = x 1, x 1 = x 2, x 2 = x 3 podejście podobne do bisekci lub złotego podziału odrzucamy x 0 jeśli nowe maksimum jest pomiędzy x 1 a x 2 odrzucamy x 2 jeśli nowe maksimum jest pomiędzy x 0 a x 1

Interpolacja kwadratowa Przykład 2 Szukamy maksimum funkcji f (x) = 2 sin x x2 10

Interpolacja kwadratowa Przykład c.d. x 0 = 0, x 1 = 1, x 2 = 4 f (x 0 ) = 0, f (x 1 ) = 1.5829, f (x 2 ) = 3.1136 Podstawiamy do równania (7) x 3 = 1.5055 f (x 3 ) = 1.7691 Za pomocą strategii podobnej do złotego podziału odrzucamy x 0 x new 0 = x old 1 = 1 x new 1 = x 3 = 1.5055 x new 2 = x old 2 = 4

Interpolacja kwadratowa Przykład c.d. Po pięciu iteracjach: x 0 = 1.4256, x 1 = 1.4266, x 2 = 1.4303 f (x 0 ) = 1.7757, f (x 1 ) = 1.7757, f (x 2 ) = 1.17714 x 3 = 1.4275 f (x 3 ) = 1.7757

Metoda Newtona Przypomnijmy, że poszukiwanie miejsc zerowych w metodzie Newtona polega na iteracyjnym zastosowaniu wzoru: x i+1 = x i f (x i ) f (x i ) Podobne podejście można zastosować przy poszukiwaniu ekstremów. Zdefiniujmy nową funkcję g(x) = f (x). W punkcie ekstremalnym x musi spełniać warunek: f (x) = g(x) = 0. Możemy skonstruować następujący schemat poszukiwania minimów (maksimów) funkcji x i+1 = x i f (x i ) f (x i ) (8)

Metoda Newtona Wady i zalety metody Newtona: Jest szybkozbieżna. Nie zapewnia zbieżności. Wymaga dobrego wyboru punktów startowych. Wymaga liczenia pochodnych. Pochodne można zastąpić wyrażeniami różnicowymi tworząc schemat podobny do metody siecznych.

Metoda Newtona Przykład 3 Szukamy maksimum funkcji f (x) = 2 sin x x2 10

Metoda Newtona Przykład c.d. x 0 = 2.5 f (x) = 2 cos x x 5 f (x) = 2 sin x 1 5 x i+1 = x i 2 cos x i x i /5 2 sin x i 1/5 x 1 = 2.5 2 cos 2.5 2.5/5 2 sin 2.5 1/5 = 0.99508 x 2 = 1.46901 x 3 = 1.42764 x 4 = 1.42755

Metoda Brenta Definicja 3 Metoda Brenta jest metodą hybrydową łączącą niezawodność metody złotego podziału i szybkość interpolacji kwadratowej.

Metoda Brenta algorytm (poszukiwanie minimum) input x1, xu, tol, f, miter (minimum pomiędzy x1, x4) phi (1 + 5)/2; rho 2 phi u x1 + rho(xu x1) v u; w u; x u fu f (u) fv fu; fw fu; fx fu xm 0.5(x1 + xu); d 0; e 0 for iter = 1 to miter do if x xm tol then EXIT para e > tol!uwaga zmienna logiczna if para then dopasowanie paraboli r (x w)(fx fv) q (x v)(fx fw) p (x v)q (x w)r s 2(q r) if s > 0 then p p s s /*Sprawdzamy czy parabola jest akceptowalna*/ para p < 0.5 s e && p > s(x1 x) && p < s(xu x) if para then e d d p/s //krok interpolacji kwadratowej end if end if if!para then if x xm then //złoty podział e x1 x else e xu x end if d rho e end if

Metoda Brenta algorytm (poszukiwanie minimum) u x + d fu f (u) if fu fx then if u x then x1 x else xu x end if v w; w x; fv fw fw fx fx fu x u; else if u < x then x1 u else xu u end if if fu fw w == x then v w; fv fw w u; fw fu else if fu fv v == x v == w then v u; fv fu end if end if xm 0.5(x1 + xu) end do output u, fu, niter //aktualizacja x1, xu, x, v, w, xm

Funkcje wielowymiarowe Metody poszukiwania ekstremów funkcji n-wymiarowych możemy podzielić na takie, które: nie wymagają liczenia pochodnych metody bezpośrednie (bezgradientowe) wymagają liczenia pochodnych metody spadku/wzrostu (gradientowe)

Metody bezpośrednie szukanie losowe W metodzie szukania losowego wielokrotnie liczymy wartość funkcji dla losowo wybranych zmiennych niezależnych (w rozsądnym przedziale). Jeśli próbka losowych zmiennych niezależnych jest wystarczająco duża, to ekstremum ostatecznie zostanie znalezione. Wadą metody jest konieczność wielokrotnego liczenia funkcji, a co za tym idzie duży koszt obliczeniowy.

Szukanie losowe algorytm (przypadek 2 zmiennych) input x1, x2, y1, y2, f (x), niterm, minf, maxf for i = 1 to niter do x RND(x 1, x 2 ) y RND(y 1, y 2 ) fn f (x, y) if fn < minf then (minimalizacja) minf fn minx x miny y end if end do output minx, miny, minf if fn > maxf then (maksymalizacja) maxf fn maxx x maxy y output maxx, maxy, maxf

Metody bezpośrednie przeszukiwanie jednowymiarowe Metoda przeszukiwania jednowymiarowego polega na poszukiwaniu ekstremum poprzez zmianę tylko jednej zmiennej niezależnej, podczas gdy pozostałe są ustalone. Problem redukuje się do zagadnienia jednowymiarowego i można użyć dowolnej metody stosowanej do optymalizacji funkcji jednej zmiennej.

Metody spadku (gradientowe) Gradient: f (x) = f x 1 (x) f x 2 (x). f x n (x) (9) Hesjan: H(x) = 2 f x1 2 2 f (x) (x) x 2 x 1. 2 f x n x 1 (x) 2 f x 1 x 2 (x)... 2 f x2 2 (x).... 2 f (x)... x n x 2 2 f x 1 x n (x) 2 f x 2 x n (x)...... 2 f xn 2 (x) (10)

Metody spadku (gradientowe) Twierdzenie 1 Jeśli funkcja f : W R jest różniczkowalna w punkcie x 0 należącym do wnętrza zbioru W oraz x 0 jest lokalnym minimum (maksimum) funkcji f to f (x 0 ) = 0. Definicja 4 Punkt x 0 intw nazywamy punktem krytycznym funkcji f : W R, jeśli f jest różniczkowalna w x 0 oraz f (x 0 ) = 0.

Metody spadku (gradientowe) Niech A = {a ij } n i,j=1 będzie macierzą symetryczną, tzn. a ij = a ji. Rozważmy formę kwadratową n x T Ax = a ij x i x j (11) i,j=1 Definicja 5 Określoność macierzy lub formy kwadratowej x T Ax definiujemy następująco: A jest nieujemnie określona, co oznaczamy A 0, jeśli x T Ax 0 x R n A jest dodatnio określona, co oznaczamy A > 0, jeśli x T Ax > 0 x R n \{0} niedodatnią określoność i ujemną określoność definiujemy odwracając powyższe nierówności macierz A nazywamy nieokreśloną, jeśli istnieją wektory x, x R n takie, że x T Ax > 0, x T A x < 0

Metody spadku (gradientowe) Twierdzenie 2 Jeśli x 0 intw jest punktem krytycznym f to: H(x) 0 x int W x 0 jest globalnym minimum H(x) 0 x int W x 0 jest globalnym maksimum