Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/



Podobne dokumenty
Wstęp do metod numerycznych 11. Minimalizacja: funkcje jednej zmiennej. P. F. Góra

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Metody numeryczne I Równania nieliniowe

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

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

1 Równania nieliniowe

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

KADD Minimalizacja funkcji

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody rozwiązywania równań nieliniowych

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

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

Matematyka stosowana i metody numeryczne

RÓWNANIA NIELINIOWE Maciej Patan

Zagadnienia - równania nieliniowe

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

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

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

Rozwiązywanie równań nieliniowych

Wstęp do metod numerycznych 9. Rozwiazywanie równań algebraicznych. P. F. Góra

Optymalizacja ciągła

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

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

Elementy metod numerycznych

Metody numeryczne Wykład 7

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

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

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

KADD Minimalizacja funkcji

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

Iteracyjne rozwiązywanie równań

Metody Numeryczne. Wojciech Szewczuk

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

Metody numeryczne II

Wprowadzenie do metod numerycznych Wykład 2 Numeryczne rozwiązywanie równań nieliniowych

Całkowanie numeryczne przy użyciu kwadratur

Zadanie 1. Korale (8 pkt) Rozważamy następującą rekurencyjną procedurę Korale, której parametrem jest dodatnia liczba całkowita n.

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

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

Metody numeryczne II

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

INFORMATYKA ELEMENTY METOD NUMERYCZNYCH.

Wyznaczanie miejsc zerowych funkcji

Kubatury Gaussa (całka podwójna po trójkącie)

Materiały wykładowe (fragmenty)

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

Wyszukiwanie binarne

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

lim Np. lim jest wyrażeniem typu /, a

Metody numeryczne w przykładach

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

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

Wstęp do metod numerycznych 9. Miejsca zerowe wielomianów. P. F. Góra

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

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

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Programowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Wstęp do programowania

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

Pochodne. Zbigniew Koza. Wydział Fizyki i Astronomii

Całkowanie numeryczne

Metody Obliczeniowe w Nauce i Technice

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

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Optymalizacja ciągła

Analiza numeryczna kolokwium2a-15grudnia2005

Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

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

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2014 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Wstęp do metod numerycznych Miejsca zerowe wielomianów Układy równań algebraicznych. P. F. Góra

1 Pochodne wyższych rzędów

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Wyznaczanie miejsc zerowych funkcji

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

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

MATeMAtyka 1. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony Klasa pierwsza

Wstęp do Programowania potok funkcyjny

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

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

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Algorytmy przeszukiwania wzorca

POSZUKIWANIE ZER FUNKCJI F(x). Zad. 2. Korzystając z metody punktu stałego znaleźć miejsce zerowe funkcji f(x) =

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

Metody Rozmyte i Algorytmy Ewolucyjne

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Jeszcze o algorytmach

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

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

x y

1. Pochodna funkcji. Twierdzenie Rolle a i twierdzenie Lagrange a.

Wielomiany jednej zmiennej rzeczywistej algorytmy

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

Wykład 21 Funkcje mierzalne. Kostrukcja i własności całki wzglȩdem miary przeliczalnie addytywnej

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

Transkrypt:

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011

Lokalna minimalizacja ciagła Minimalizacja funkcji jest jedna z najważniejszych operacji wykonywanych numerycznie. W niniejszym wykładzie zajmiemy się wyłacznie poszukiwaniem minimów lokalnych (nie globalnych) funkcji, których argument zmienia się w sposób ciagły. Tak poszukiwanie minimów globalnych, jak i minimalizacja dyskretna (zmienna (lub zmienne w przypadku wielowymiarowym) może przyjmować tylko pewne wartości punktowe) sa znacznie trudniejszymi zagadnieniami, wykraczajacymi poza ramy niniejszego wykładu. Niekiedy zdarza się, że bardziej interesuje nas znalezienie maksimum, nie minimum. Jednak jeśli funkcja g(x) ma jakimś punkcie maksimum, które chcemy znaleźć, to funkcja f(x) = g(x) ma w tym samym punkcie minimum. Copyright c 2010-11 P. F. Góra 9 2

W przeciwieństwie do omawianego poprzednio rozwiazywania równań algebraicznych, do stwierdzenia, że funkcja osiaga gdzieś minimum, nie wystarczy pojedyncze obliczenie funkcji. Wartość funkcji musimy porównywać z uprzednio ploiczonymi wartościami w innych punktach. Procedurę poszukiwania minimum musimy skończyć najpóźniej wtedy, gdy zmiana wartości funkcji staje się porównywalana z zadana tolerancja, w szczególności, z dokładnościa, z jaka prowadzimy obliczenia. Copyright c 2010-11 P. F. Góra 9 3

Jak dokładnie możemy zlokalizować minimum? Niech f(x) ma minimum w punkcie x 0. Rozwijajac w szereg Taylora otrzymujemy f(x 0 + δ) f(x 0 ) + f (x 0 ) δ + 1 } {{ } 2 f (x 0 )δ 2 (1) =0 Jeżeli f(x 0 + δ) f(x 0 ) ɛ, gdzie ɛ jest zadana dokładnościa, musimy przerwać obliczenia. Z rozwinięcia (1) widać natychmiast, że w takim wypadku δ ɛ. (2) W szególności widać zatem, że minimum jesteśmy w stanie zlokalizować z dokładnościa co najwyżej równa pierwiastkowi z numerycznej precyzji obliczeń. Copyright c 2010-11 P. F. Góra 9 4

Wstępna lokalizacja minimum Mówimy, że trzy punkty (a, b, c) ograniczaja (lokalizuja) minimum funkcji f(x), jeżeli a < b < c: f(a) > f(b), f(c) > f(b) (3) Jak znaleźć takie punkty? Obliczamy wartość funkcji w dwu punktach; jeżeli nie zachodza bardzo szczególne okoliczności, wyznaczaja one lokalny kierunek spadku funkcji. Wyznaczamy trzeci punkt idac w kierunku spadku, o taka sama odległość, jaka dzieliła punkty poczatkowe. Jeśli warunek (3) nie jest spełniony, podwajamy krok, zawsze biorac pod uwagę dwa ostatnio obliczone punkty. Uwaga: Trzeba założyc maksymalna dopuszczalna liczbę kroków (lub maksymalna dopuszczalna wielkość kroku), aby zabezpieczyć się przed nieskończona iteracja, gdybyśmy znaleźli się na monotonicznie malejacej gałęzi funkcji. Copyright c 2010-11 P. F. Góra 9 5

a b c Trójka punktów (a, b, c) wyznaczajaca przybliżone położenie minimum Copyright c 2010-11 P. F. Góra 9 6

a b c Strategia z poczatkow a trójka (a, b, c) znajdzie jedno z dwóch minimów tej funkcji, leżace w przedziale [a, c]. Copyright c 2010-11 P. F. Góra 9 7

Strategia Gdy mamy trójkę (a, b, c) spełniajac a warunki (3), wybieramy pewien punkt d, a < d < c, d b jako nowy punkt wewnętrzny. Obliczamy f(d). Dalsze postępowanie zależy od tego, jak wartość f(d) ma się do wartości f(b). f(d) < f(b) f(d) > f(b) Jeżeli d < b, to Jeżeli d < b, to c = b a = d b = d Jeżeli d > b, to Jeżeli d > b, to a = b c = d b = d Przesuwajac punkty, analogicznie przesuwany też obliczone wartości funkcji (na przykład c = b f c = f b f(b)), żeby nie trzeba było ich ponownie obliczać. Copyright c 2010-11 P. F. Góra 9 8 (4)

W każdym przypadku otrzymujemy nowa trójkę (a, b, c) spełniajac a warunki (3), a zatem możemy iterować cała procedurę. Długość przedziału zawierajacego minimum jest za każdym razem mniejsza niż w poprzednim kroku iteracji. Iterację kończymy, gdy c a < τ( b + d ), gdzie τ jest tolearncja i należy wziać stare b. Jeżeli tylko funkcja jest ciagła w przedziale [a, c] i ma w nim minimum, ta strategia zbiegnie się do tego minimum (jeżeli jest tam więcej niż jedno minimum, zbiegnie się do jednego z nich). Pozostaje tylko ustalić jak wybrać punkt wewnętrzny d? Copyright c 2010-11 P. F. Góra 9 9

Metoda złotego podziału W metodzie złotego podziału punktu d szukamy w większym z dwóch podprzedziałów [a, b] i [b, c]. Okazuje się, że aby zminimalizować kłopoty wynikajace z pecha, iż szukane minimum będzie w wielu krokach iteracji leżeć w krótszym z podprzedziałów, poszczególne przedziały powinny spełniać złota proporcję: długość większego podprzedziału ma się do długości całego przedziału tak, jak długość mniejszego do długości większego. Zakładajac, że podprzedział [a, b] jest dłuższy, powinniśmy mieć b a c a = c b b a (5) Copyright c 2010-11 P. F. Góra 9 10

Choć poczatkowa trójka (a, b, c) zapewne nie spełnia złotej proporcji, szybko do niej dochodzimy, postępujac jak następuje: Jeżeli b a > c b, d = a + w b a, Jeżeli b a < c b, d = b + w c b, gdzie w = 3 5 2 0.381966, po czym zawężamy przedział stosujac (4). Metoda złotego podziału tak naprawdę nie korzysta z wartości funkcji, a tylko z porównania co jest większe od czego. Metoda ta jest zbieżna liniowo. Copyright c 2010-11 P. F. Góra 9 11

Przykład (1) (2) (3) (4) Cztery kroki metody złotego podziału Copyright c 2010-11 P. F. Góra 9 12

Interpolacja paraboliczna i metoda Brenta Metoda lepsza od złotego podziału, gdyż efektywnie wykorzystujac a wartości funkcji, jest interpolacja paraboliczna: Przez trzy punkty (a, f a f(a)), (b, f b ), (c, f c ) przeprowadzamy parabolę, a jako punkt d bierzemy jej minimum: d = 1 2 a2 (f c f b ) + b 2 (f a f c ) + c 2 (f b f a ) a(f c f b ) + b(f a f c ) + c(f b f a ) dalej zaś postępujemy zgodnie z (4). Uzasadnieniem dla stosowania tej metody jest fakt, iż w pobliżu minimum funkcja powinna z dobrym przybliżeniem zgadzać się ze swoim rozwinięciem w szereg Taylora do drugiego rzędu. Dzięki temu metoda ta może być zbieżna szybciej, niż liniowo, ale moga się zdarzyć kłopoty, zwłaszcza, jeśli poczatkowo funkcja nie przypomina paraboli. Copyright c 2010-11 P. F. Góra 9 13 (6)

W zwiazku z tym stosujemy metodę Brenta: Majac trójkę (a, b, c), spełniajac a (3), obliczamy d zgodnie ze wzorem (6). Akceptujemy tak obliczone d, jeżeli 1. d leży wewnatrz przedziału, a < d < c, oraz 2. Rozmiar nowego przedziału, wyznaczonego zgodnie z (4), jest mniejszy niż połowa przedziału w przedostatniej iteracji. Jeżeli nie akceptujemy nowego d, dokonujemy bisekcji przedziału [a, c] i jako d bierzemy jego środek, a dalej postępujemy zgodnie z (4). Powyższa metoda Brenta jest obecnie uważana za podstawowa metodę poszukiwania minimów funkcji jednowymiarowych. Copyright c 2010-11 P. F. Góra 9 14

Przykład (1) (2) (3) (4) Cztery kroki metody Brenta. W kroku trzecim dokonano bisekcji. Na ostatnim panelu linia przerywana pokazuje następna parabolę. Zbieżność jest na tym etapie powolna, gdyż poczatkowe przybliżenie paraboliczne jest bardzo dalekie od prawdziwego kształtu funkcji. Copyright c 2010-11 P. F. Góra 9 15

Uwaga! funkcja drugie przyblizenie trzecie przyblizenie czwarte przyblizenie funkcja punkty startowe pierwsze przyblizenie drugie przyblizenie trzecie przyblizenie Metoda Brenta znacznie przyspiesza zbieżność, gdy funkcję da się dobrze przybliżyć za pomoca paraboli. Wstawka na rysunku pokazuje powiększenie okolic minimum. To samo można powiedzieć o metodzie wykorzystujacej pochodne, omówionej poniżej. Copyright c 2010-11 P. F. Góra 9 16

Wykorzystanie pochodnych Jeżeli funkcja f jest różniczkowalna i jeżeli obliczenie jej pochodnej jest łatwe, możemy posłużyć się pochodna dla przyspieszenia zbieżności. W przypadku funkcji jednej zmiennej, w przeciwieństwie do funkcji wielu zmiennych, korzystanie z pochodnych nie powoduje znacznego przyspieszenia niekiedy, zwłaszcza daleko od minimum, metoda zachowuje się gorzej, niż metoda złotego podziału. Najprostsza metoda jest dokonanie interpolacji liniowej pochodnych w skrajnych punktach przedziału (w skrajnych punktach pochodna ma przeciwny znak). Jako punkt d bierzemy miejsce zerowe funkcji interpolujacej pochodna: d = af c cf a f c f a, (7) po czym, jak poprzednio, zawężamy przedział posługujac się warunkami (4). Jeżeli metoda wpada w stagnację, wykonujemy bisekcję przedziału. Numeryczne własności tej metody sa na ogół gorsze niż metody Brenta. Założenie, że pochodna można przybliżyć funkcja liniowa jest równoważne założeniu, że funkcję można przybliżyć parabola, jednak numeryczne wyniki moga być różne na niekorzyść metody wykorzystujacej pochodne. Copyright c 2010-11 P. F. Góra 9 17

Przykład (1) (2) (3) (4) Cztery kroki metody wykorzystujacej pochodna. Skrajny prawy punkt w kroku drugim jest prawie taki sam, jak poczatkowy skrajny punkt, trzeba więc wykonać bisekcję (trzeci panel). Sytuacja powtarza się w kolejnym kroku. Metoda, dla tego przybliżenia poczatkowego, jest wolniej zbieżna niż metoda złotego podziału. Copyright c 2010-11 P. F. Góra 9 18

Wykorzystanie interpolacji Hermite a Można też użyć bardziej złożonej metody wykorzystujacej pochodne: Korzystajac z interpolacji Hermite a, konstruujemy wielomian trzeciego stopnia zgadzajacy się z badana funkcja i jej pochodna w skrajnych punktach przedziału, po czym jako punkt d bierzemy minimum tego wielomianu leżace w przedziale [a, c], o ile takowe istnieje. Metoda ta może mieć podobne wady, co uprzednio omawiana metoda, a w dodatku cechuje się wyraźnie większa złożonościa obliczeniowa. Metoda Bernta i metody wykorzystujace pochodne przyspieszaja zbieżność jeżeli funkcja daje się dobrze przybliżyć za pomoca rozwinięcia Taylora do rzędu drugiego. Copyright c 2010-11 P. F. Góra 9 19