Metody numeryczne II

Podobne dokumenty
Metody numeryczne II

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji

Metody numeryczne I Równania nieliniowe

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

Optymalizacja ciągła

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

1 Równania nieliniowe

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

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

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

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Iteracyjne rozwiązywanie równań

22 Pochodna funkcji definicja

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

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

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

RÓWNANIA NIELINIOWE Maciej Patan

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

Matematyka stosowana i metody numeryczne

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

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

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

Optymalizacja ciągła

2. Definicja pochodnej w R n

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

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Układy równań i równania wyższych rzędów

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

Zagadnienia - równania nieliniowe

II. FUNKCJE WIELU ZMIENNYCH

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

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

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

Metody Rozmyte i Algorytmy Ewolucyjne

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

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Optymalizacja ciągła

WYKŁAD 6 KINEMATYKA PRZEPŁYWÓW CZĘŚĆ 2 1/11

II. Równania autonomiczne. 1. Podstawowe pojęcia.

Optymalizacja ciągła

Ekstrema globalne funkcji

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

Rozwiązywanie równań nieliniowych

Teoretyczne podstawy programowania liniowego

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Funkcje dwóch zmiennych

Pochodne funkcji wraz z zastosowaniami - teoria

1 Pochodne wyższych rzędów

1 Funkcje dwóch zmiennych podstawowe pojęcia

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

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

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

Definicja pochodnej cząstkowej

Zaawansowane metody numeryczne

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

Układy równań liniowych. Krzysztof Patan

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

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

Metody Numeryczne. Wojciech Szewczuk

1 Pochodne wyższych rzędów

Macierze. Rozdział Działania na macierzach

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Prawdopodobieństwo i statystyka

Funkcje wielu zmiennych

Metody rozwiązywania równań nieliniowych

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

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

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

Obliczenia iteracyjne

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

Wykład z równań różnicowych

INTERPOLACJA I APROKSYMACJA FUNKCJI

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Propozycje rozwiązań zadań z matematyki - matura rozszerzona

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

9. BADANIE PRZEBIEGU ZMIENNOŚCI FUNKCJI

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

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

Programowanie celowe #1

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

Definicja problemu programowania matematycznego

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

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

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

jest ciągiem elementów z przestrzeni B(R, R)

Ważne rozkłady i twierdzenia

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

RÓWNANIA RÓŻNICZKOWE ZWYCZAJNE. Marta Zelmańska

PROGRAMOWANIE NIELINIOWE

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

Wykład 14 i 15. Równania różniczkowe. Równanie o zmiennych rozdzielonych. Definicja 1. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie

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

Postać Jordana macierzy

Wektory i wartości własne

Transkrypt:

Metody numeryczne II Poszukiwanie ekstremów funkcji Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne II (C) 2004 Janusz Szwabiński p.1/55

Poszukiwanie ekstremów funkcji 1. Funkcje jednej zmiennej metoda złotego podziału interpolacja paraboliczna i metoda Brenta poszukiwanie minimów z wykorzystaniem pierwszych pochodnych 2. Funkcje wielu zmiennych metoda symplex metoda Powella metody oparte na gradientach 3. Minima globalne Metody numeryczne II (C) 2004 Janusz Szwabiński p.2/55

Sformułowanie zagadnienia f(x) x Metody numeryczne II (C) 2004 Janusz Szwabiński p.3/55

Metoda złotego podziału Jeżeli dla a < b < c zachodzi f(b) < f(a) oraz f(b) < f(c) funkcja f(x) ma w przedziale (a, c) minimum (o ile nie jest osobliwa) potrzeba trzech punktów do zlokalizowania minimum Metody numeryczne II (C) 2004 Janusz Szwabiński p.4/55

Wybieramy nowy punkt x (b, c) (lub x (a, b)) f(b) < f(x) minimum leży w przedziale (a, x) f(b) > f(x) minimum leży w przedziale (b, c) punkt środkowy trypletów (a, b, x) lub (b, x, c) jest najlepszym przybliżeniem minimum osiągniętym do tej pory Metody numeryczne II (C) 2004 Janusz Szwabiński p.5/55

1 4 2 5 6 3 Metody numeryczne II (C) 2004 Janusz Szwabiński p.6/55

Załóżmy, że minimum leży w punkcie b oraz, że udało nam się go zlokalizować w małym przedziale (1 ɛ)b < b < (1 + ɛ)b gdzie ɛ to liczba rzędu jednostki maszynowej (np. 3 10 8 w pojedynczej precyzji) W otoczeniu punktu b funkcja dana jest wzorem f(x) f(b) + 1 2 f (b)(x b) 2 Chcemy, aby w ostatnim równaniu drugi wyraz był rzędu ɛf(b): x b < 2 f(b) ɛ b b 2 f (b) Metody numeryczne II (C) 2004 Janusz Szwabiński p.7/55

Dla większości funkcji wartość 2 f(b) b 2 f (b) 1 Stąd x b < ɛb nie ma raczej sensu pytać o otoczenie minimum mniejsze niż ɛb Metody numeryczne II (C) 2004 Janusz Szwabiński p.8/55

Przypuśćmy, że b jest ułamkiem w odległości między a i c, tzn. b a c a = w, c b c a = 1 w Załóżmy ponadto, że x b c a = z następny przedział, w którym znajduje się minimum, będzie miał długość w + z albo 1 w Chcemy zminimalizować najgorszą możliwość: z = 1 2w Metody numeryczne II (C) 2004 Janusz Szwabiński p.9/55

Stąd wynika b a = x c x będzie symetryczny do b względem środka przedziału i będzie leżał w dłuższym z podprzedziałów Jeżeli wybraliśmy z optymalnym w bierzącym kroku, to w poprzednim zrobiliśmy to samo dla w x powinien być tym samym ułamkiem odległości między b i c (jeśli to jest większy podprzedział), co b jest między a i c Stąd z 1 w = w w2 3w +1 = 0 w = 3 5 2 0, 38197 Metody numeryczne II (C) 2004 Janusz Szwabiński p.10/55

punkt środkowy b optymalnego przedziału (a, b, c) zawierającego minimum leży w odległości ułamkowej 0, 38197 od jednego z końców i 0, 61803 od drugiego liczba cyfr znaczących w wyniku rośnie liniowo z liczbą dodatkowych kroków Metody numeryczne II (C) 2004 Janusz Szwabiński p.11/55

Interpolacja paraboliczna i metoda Brenta Funkcja wystarczająco gładka w pobliżu minimum funkcja kwadratowa jest dobrym przybliżeniem parabola dopasowana do dowolnych trzech punktów powinna doprowadzić nas w jednym kroku do minimum albo przynajmniej w jego bliskie otoczenie Metody numeryczne II (C) 2004 Janusz Szwabiński p.12/55

f(x) 3 1 2 4 x Metody numeryczne II (C) 2004 Janusz Szwabiński p.13/55

Minimum paraboli przechodzącej przez trzy dowolne (niewspółliniowe) punkty a, b i c x = b 1 2 (b a) 2 [f(b) f(c)] (b c) 2 [f(b) f(a)] (b a)[f(b) f(c)] (b c)[f(b) f(a)] Wada: wzór opisuje zarówno minimum jak i maksimum paraboli w pobliże minimum dochodzimy innym algorytmem Metody numeryczne II (C) 2004 Janusz Szwabiński p.14/55

Metoda Brenta: w każdym kroku tej metody zapamiętujemy sześć punktów a, b, u, v, w i x minimum leży w przedziale (a, b) x to najlepsze do tej pory przybliżenie minimum w punkcie w funkcja ma drugą co do wartości najmniejszą wartość v - poprzednia wartość w u to punkt, w którym wartość funkcji była wyliczona ostatnio Metody numeryczne II (C) 2004 Janusz Szwabiński p.15/55

interpolację kwadratową przeprowadzamy dla punktów x, v i w wynik interpolacji zostaje zaakceptowany, jeśli: parabola leży wewnątrz przedziału (a, b) interpolacja pociąga za sobą przesunięcie od x do nowego punktu, które jest mniejsze niż połowa takiego przesunięcia w poprzednim kroku. jeśli interpolacja będzie nie do przyjęcia, włączamy metodę złotego podziału Metody numeryczne II (C) 2004 Janusz Szwabiński p.16/55

Metody wykorzystujace pierwsze pochodne Teoretycznie możemy po prostu szukać pierwiastków pierwszej pochodnej, ignorując zupełnie informację zawartą w wartościach funkcji Wady jak odróżnić maksima od minimów (bez wyliczania drugiej pochodnej) dokąd pójść z warunków początkowych, które pokazują spadek pochodnych w jednym (lub obu) punkcie zewnętrznym w kierunku wyprowadzającym po za przedział określoności funkcji Metody numeryczne II (C) 2004 Janusz Szwabiński p.17/55

Inna możliwość jeżeli minimum znajduje się w przedziale (a, b, c), obliczenie pochodnej w punkcie b wskazuje jednoznacznie, czy punkt x leży w (a, b) czy w (b, c) wartości pochodnej w b i w poprzednim punkcie x są ekstrapolowane do zera metodą siecznych (odwrotna interpolacja liniowa) Metody numeryczne II (C) 2004 Janusz Szwabiński p.18/55

Metoda symplex Definicja Sympleks to figura geometryczna, składająca się w N wymiarach z N + 1 punktów (wierzchołków) trójkąt w dwóch wymiarach czworościan (niekoniecznie regularny) w trzech wymiarach traktując dowolny punkt niezdegenerowanego sympleksu jako początek, inne punkty definiują kierunki wektorów rozpinających N wymiarową przestrzeń wektorową Metody numeryczne II (C) 2004 Janusz Szwabiński p.19/55

Wartości początkowe potrzebujemy N + 1 punktów oznaczając jeden z nich przez P 0, inne określamy ze wzoru P i = P 0 + λ e i gdzie e i - wektor bazowy λ - charakterystyczna skala problemu Metody numeryczne II (C) 2004 Janusz Szwabiński p.20/55

Definicja Najwyższym punktem sympleksu nazywamy wierzchołek, w którym wartość funkcji będzie największa. Analogicznie określamy punkt najniższy sympleksu Deformacje sympleksu odbicia (z zachowaniem objętości) odbicie i rozciąganie kontrakcja Metody numeryczne II (C) 2004 Janusz Szwabiński p.21/55

a) najwyższy punkt Metody numeryczne II (C) 2004 Janusz Szwabiński p.22/55

b) Metody numeryczne II (C) 2004 Janusz Szwabiński p.23/55

c) Metody numeryczne II (C) 2004 Janusz Szwabiński p.24/55

d) sympleks porusza się w kierunku najbliższego minimum i zapada się w sobie po jego osiągnięciu Metody numeryczne II (C) 2004 Janusz Szwabiński p.25/55

Metoda Powella Startujemy w punkcie P 0 i przemieszczamy się w kierunku n minimum funkcji f( P ) wzdłuż n możemy znaleźć za pomocą metod dla funkcji jednej zmiennej chcemy znaleźć minimum funkcji wielu zmiennych wykonujac szereg jednowymiarowych minimalizacji Metody numeryczne II (C) 2004 Janusz Szwabiński p.26/55

Wektory jednostkowe e 1,..., e N jako zbiór kierunków zadowalające dla pewnej klasy funkcji, ale...... mało wydajne y x Metody numeryczne II (C) 2004 Janusz Szwabiński p.27/55

Przy wyborze zbioru kierunków powinniśmy zwrócić uwagę na dwie rzeczy: zbór powinien zawierać kilka, które szybko doprowadzą nas w pobliże minimum minimalizacja w jednym kierunku nie powinna psuć osiągniętej już minimalizacji w innym. Metody numeryczne II (C) 2004 Janusz Szwabiński p.28/55

Minimalizujemy funkcję wzdłuż u gradient funkcji w minimum (liniowym) musi być prostopadły do u Rozwijamy f( x) w szereg względem początku układu P f( x) = f( P ) + i f x i x i + 1 2 i,j 2 f x i x j x i x j +... c b x + 1 2 xa x c f( P ), b f p, [A] i,j 2 f x i x j Metody numeryczne II (C) 2004 Janusz Szwabiński p.29/55

Gradient funkcji ma postać f = A x b minimum występuje w punkcie będącym rozwiązaniem układu A x = b Poruszając się w pewnym kierunku, spowodujemy zmianę gradientu δ( f) = A(δ x) Metody numeryczne II (C) 2004 Janusz Szwabiński p.30/55

Aby minimalizacja wzdłuż v nie zepsuła minimalizacji wzdłuż u, gradient musi pozostać prostopadły do u 0 = uδ( f) = ua v u i v są sprzężone Metody numeryczne II (C) 2004 Janusz Szwabiński p.31/55

Inicjalizujemy zbiór kierunków u i wektorami bazowymi u i = e i, i = 1,..., N Procedura bazowa: zapamiętaj pozycję wyjściową jako P 0 dla i = 1,..., N, przesuń P i 1 do minimum wzdłuż kierunku u i i oznacz ten punkt jako P i dla i = 1,..., N 1 przyjmij u i u i+1 przyjmij u N P N P 0 przesuń P N do minimum wzdłuż u N i nazwij ten punkt P 0 Metody numeryczne II (C) 2004 Janusz Szwabiński p.32/55

dla formy kwadratowej k iteracji produkuje zbiór kierunków, którego k ostatnich elementów jest wzajemnie ze sobą sprzężonych N iteracji procedury bazowej (N(N + 1) minimalizacji liniowych) powinno dokładnie zminimalizować formę kwadratową Wada odrzucenie w każdym kroku u 1 na rzecz P N P 0 zmierza do wytworzenia kierunków liniowo zależnych reinicjalizuj zbiór kierunków u i po każdych N lub N + 1 iteracjach procedury bazowej Metody numeryczne II (C) 2004 Janusz Szwabiński p.33/55

Metoda najszybszego spadku wybierz punkt początkowy P 0 przejdź od P i do P i+1 minimalizujac funkcję wzdłuż kierunku najszybszego spadku, tzn. f( P i ) Metody numeryczne II (C) 2004 Janusz Szwabiński p.34/55

metoda wymusza skręty pod kątem prostym mała wydajność (ale duża stabilność!) Metody numeryczne II (C) 2004 Janusz Szwabiński p.35/55

Metoda gradientów sprzężonych Załóżmy ponownie, że naszą funkcję można przybliżyć formą f( x) c b x + 1 2 xa x Startując od pewnego wektora g 0, generujemy dwa ciągi wektorów, g i+1 = g i λ i A h i, i = 0, 1, 2,... hi+1 = g i+1 + γ i hi, h0 = g 0 Metody numeryczne II (C) 2004 Janusz Szwabiński p.36/55

Chcemy, aby wektory spełniały warunki ortogonalności i sprzężenia g i g j = 0 hi A h j = 0, j < i g i hj = 0 Stąd wynika λ i = g i g i hi A h i = g i h i hi A h i γ i = g i+1 g i+1 g i g i Metody numeryczne II (C) 2004 Janusz Szwabiński p.37/55

Twierdzenie 1 Niech g i = f( P i ) dla pewnego punktu P i, w którym funkcja f ma postać formy kwadratowej. Przypuśćmy dalej, że kontynuujemy poszukiwanie minimum w kierunku h i oraz, że nowe minimum ulokowane jest w punkcie P i+1. Wówczas zachodzi g i+1 = f( P i+1 ) przy czym g i+1 jest taki sam, jakby był skonstruowany za pomoca g i+1 = g i λ i A h i, i = 0, 1, 2,... Metody numeryczne II (C) 2004 Janusz Szwabiński p.38/55

Dowód Z równania f = A x b wynika g i = A P i + b a zatem g i+1 = A( P i + λ h i ) + b = g i λa h i z λ dobranym tak, aby osiągnąć minimum liniowe. Ale w minimum tym zachodzi hi f = h i g i+1 = 0 Metody numeryczne II (C) 2004 Janusz Szwabiński p.39/55

Dowód (ciąg dalszy) Rozwiązując ostanie dwa równania względem λ, otrzymamy λ i = g i g i hi A h i = g i h i hi A h i co kończy dowód Metody numeryczne II (C) 2004 Janusz Szwabiński p.40/55

Wyżarzanie symulowane Analogia z termodynamiką wolno schładzany system znajduje stan o minimalnej energii energia systemu w równowadze termicznej w temperaturze T jest rozłożona pomiędzy różne stany energetyczne z rozkładem prawdopodobieństwa Boltzmanna ( P (E) exp E ) kt nawet w niskich temperaturach system może znajdować się w stanie o wysokiej energii istnieje możliwość, że system wyjdzie z lokalnego minimum i znajdzie inne (lepsze) Metody numeryczne II (C) 2004 Janusz Szwabiński p.41/55

Algorytm Metropolisa: symulowany system zmienia konfigurację z energii E 1 do E 2 z prawdopodobieństwem [ ( p = min 1, exp E )] 2 E 1 kt Metody numeryczne II (C) 2004 Janusz Szwabiński p.42/55

Niezbędne elementy (w systemach innych niż termodynamiczne) opis możliwych konfiguracji systemu generator losowych zmian w konfiguracji funkcja E (odpowiednik energii), której minimum to cel obliczeń parametr T (odpowiednik temperatury) oraz reguły, w jaki sposób parametr ten zmieniany jest od dużych do małych wartości. Metody numeryczne II (C) 2004 Janusz Szwabiński p.43/55

Zagadnienie komiwojażera: odwiedzamy N miast o pozycjach (x i, y i ), a następnie wracamy do miasta początkowego każde miasto ma być odwiedzone tylko raz trasa możliwie najkrótsza Problem N P zupełny czas znalezienia dokładnego rozwiązania rośnie z N jak exp[const N] koszty obliczeniowe są bardzo duże dużo minimów lokalnych Metody numeryczne II (C) 2004 Janusz Szwabiński p.44/55

Cel praktyczny: znaleźć minimum, które nawet jeśli nie jest absolutne, nie może być już dużo bardziej poprawione wyżarzanie pozwala znaleźć takie minimum z nakładem obliczeń N γ, gdzie γ to pewna mała liczba Metody numeryczne II (C) 2004 Janusz Szwabiński p.45/55

1. Konfiguracja: miasta są ponumerowane indeksem i = 1,..., N i każde z nich ma współrzędne (x i, y i ). Konfiguracje to permutacje numerów miast 2. Zmiany konfiguracji: część trasy usunięta i zastąpiona tymi samymi miastami w odwrotnej kolejności część trasy usunięta i wstawiona między inne dwa miasta Metody numeryczne II (C) 2004 Janusz Szwabiński p.46/55

3. Energia to po prostu długość całej trasy E = L = N i=1 (xi x i+1 ) 2 + (y i y i+1 ) 2 4. Generujemy najpierw losowo różne konfiguracje i używamy ich do określenia zmian E, z którymi będziemy mieli do czynienia przy przejściu od kroku do kroku. Wybieramy początkowe T dużo większe od największego E, a następnie zmniejszamy T o maksymalnie 10% w każdym kroku. Utrzymujemy T stałe dla 100N rekonfiguracji lub 10N udanych rekonfiguracji (w zależności od tego, co nastąpi wcześniej) Metody numeryczne II (C) 2004 Janusz Szwabiński p.47/55

Minimum zwykłej funkcji f( x) 1. Konfiguracja to po prostu punkt x 2. Zmiana konfiguracji to losowe przesunięcie od x do x + δ x 3. Energia to wartość f( x) 4. Parametr kontrolny definiuje się podobnie, jak w przypadku minimalizacji kombinatoryjnej Metody numeryczne II (C) 2004 Janusz Szwabiński p.48/55

Metody dyfuzyjne Wyobraźmy sobie metodę, której każdy krok polega na częściowym zasypywaniu minimów lokalnych po pewnej liczbie kroków, powinna zostać jedynie reszta minimum globalnego do jego znalezienia wystarczą metody lokalne Metody numeryczne II (C) 2004 Janusz Szwabiński p.49/55

Funkcję jednej zmiennej f(x) poddajemy następującemu ciągowi transformacji: f 0 (x) f 1 (x) = f 0 (x) + t d2 dx 2 f 0(x). f n+1 (x) = f n (x) + t d2 dx 2 f n(x) przy czym t jest małą, dodatnią liczbą Metody numeryczne II (C) 2004 Janusz Szwabiński p.50/55

minima w każdym kroku będą płytsze maksima będą niższe w punktach przegięcia funkcja pozostaje bez zmian Przykład Rozważmy funkcję f(x) = (x 3)(x 1.5)(x 1)(x + 1)(x + 2)(x + 2, 5) Metody numeryczne II (C) 2004 Janusz Szwabiński p.51/55

f 3 (x) f 2 (x) f 1 (x) f 0 (x) x Metody numeryczne II (C) 2004 Janusz Szwabiński p.52/55

Wady pozycja minimum w każdym kroku przesuwa się w porównaniu z położeniem oryginalnym konieczność wyliczania drugich pochodnych Rozwiązanie (pierwszego problemu) obliczamy minimum funkcji f 4 (x) i traktując to jako wartość startową, szukamy minimum funkcji f 3 (x) itd. możliwe, jeżeli krok od f i do f i+1 nie będzie zbyt duży Metody numeryczne II (C) 2004 Janusz Szwabiński p.53/55

Z równania f n+1 (x) = f n (x) + t d2 dx 2 f n(x) wynika f n+1 (x) f n (x) t W granicy t 0 otrzymamy df n (t) dt = d2 f n (x) dx 2 = d2 f n (x) dx 2 czyli jednorodne równanie dyfuzji ze stałą dyfuzji równą 1 oraz warunkiem początkowym f(x, t = 0) = f 0 (x) Metody numeryczne II (C) 2004 Janusz Szwabiński p.54/55

W d wymiarach df n ( x, t) = d f( x, t) dt Możliwe rozwiązanie tego równania ma postać 1 f( x, t) = (2 d d x f 0 ( x ) exp [ x ] x 2 πt) d 4t Metody numeryczne II (C) 2004 Janusz Szwabiński p.55/55