W poszukiwaniu minimum globalnego



Podobne dokumenty
ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

WYKŁAD 9 METODY ZMIENNEJ METRYKI

SZTUCZNA INTELIGENCJA

Uczenie sieci typu MLP

Optymalizacja ciągła

Optymalizacja ciągła

Metody Optymalizacji: Przeszukiwanie z listą tabu

Tomasz M. Gwizdałła 2012/13

KADD Minimalizacja funkcji

Metody Rozmyte i Algorytmy Ewolucyjne

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

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Podstawy Sztucznej Inteligencji (PSZT)

Metody przeszukiwania

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

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

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Z-ZIP2-303z Zagadnienia optymalizacji Problems of optimization

Metody numeryczne w przykładach

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne I Równania nieliniowe

KADD Minimalizacja funkcji

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

8. Neuron z ciągłą funkcją aktywacji.

Optymalizacja. Wybrane algorytmy

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

Metody numeryczne II

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

Optymalizacja optymalizacji

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

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

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

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

1 Równania nieliniowe

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Optymalizacja ciągła

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Aproksymacja funkcji a regresja symboliczna

Techniki optymalizacji

jeśli nie jest spełnione kryterium zatrzymania, to nowym punktem roboczym x(t+1) staje i następuje przejście do 1)

Iteracyjne rozwiązywanie równań

1.3. Optymalizacja geometrii czasteczki

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

OPTYMALIZACJA KONSTRUKCJI

Zagadnienia optymalizacji Problems of optimization

Optymalizacja. Przeszukiwanie lokalne

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

SIECI REKURENCYJNE SIECI HOPFIELDA

Metody Programowania

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Uczenie sieci neuronowych i bayesowskich

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

10. Techniki minimalizacji a sieci neuronowe

Definicja pochodnej cząstkowej

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

Techniki optymalizacji

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne Wykład 4

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Obliczenia inspirowane Naturą

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

Algorytmy metaheurystyczne podsumowanie

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

TEORETYCZNE PODSTAWY INFORMATYKI

Optymalizacja ciągła

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

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Metoda Karusha-Kuhna-Tuckera

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

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

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

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

Problem Komiwojażera - algorytmy metaheurystyczne

Wybrane podstawowe rodzaje algorytmów

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Wyznaczanie optymalnej trasy problem komiwojażera

Automatyka i Robotyka II Stopień ogólno akademicki studia niestacjonarne wszystkie Katedra Automatyki i Robotyki Prof. dr hab. inż.

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

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Spis treści WSTĘP... 9

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

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

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Układy równań liniowych. Krzysztof Patan

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

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

RÓWNANIA NIELINIOWE Maciej Patan

Metody numeryczne II

Programowanie celowe #1

Transkrypt:

Optymalizacja W poszukiwaniu minimum globalnego Dawid Toton Optymalizacja p. 1/30

Szansa na znalezienie minimum Optymalizacja p. 2/30

Rodzaje problemów Klasyfikacja według funkcji: ciagły: R n R dyskretny: Z n R kombinatoryczny:2 n R praktyczny: Z n R n R Optymalizacja p. 3/30

Możliwe kłopoty: Brak jakiegokolwiek opisu matematycznego np. subiektywna ocena zrozumiałości mowy Kosztowne wyznaczenie wartości w każdym punkcie Liczba wymiarów tak duża, że nie starcza pamięci dla szybszych algorytmów Szum wprowadzony przez obliczenia np. przez metodę elementów skończonych Wielomodalność wielka ilosć minimów lokalnych Optymalizacja p. 4/30

Poszukiwanie minimum lokalnego Metody: bezgradientowe gradientowe newtonowskie Optymalizacja p. 5/30

Poszukiwanie proste Jeśli nie mamy żadnej własności minimalizowanej funkcji do dyspozycji, możemy użyć najprostszej metody: 1. Wybierz przestrzeń parametru P, która chcemy zbadać 2. Zbadaj k punktów z P (regularna siatka lub losowanie), pamiętaj najlepszy 3. Zmień region poszukiwań Zmniejsz go (np. jednakowo we wszystkich kierunkach) Przesuń w lepsze miejsce (np. tak, aby w centrum był aktualny rekordzista) 4.n razy powtórz: 2 5. 1, czyli wykonaj wszystko od nowa (multistart) Zalety algorytmu: niewymagajacy, skranie prosty ale: w przypadku wieklich problemów ważne jest zrównoleglenie! Podobne algorytmy: Hooka-Jeevesa, Rosenbrocka Optymalizacja p. 6/30

Simplex (Nelder-Mead) Algorytm minimalizacji dla funkcjif: R n R: 1. wybierzn+1 punktów x i 2. wybierz najgorszy punkt x j 3. Czy to ten sam co przedtem? nie odbij go symetrycznie względem hiperpłaszczyzny wyznaczonej przez pozostałe jeśli tam jest mniejsza wartośćf : rozciagnij bryłęx 1,...,x n+1 w kierunkux j w przeciwnym wypadku: postawx j w mniejszej odległości od płaszczyzny odbicia ten sam wybierz najgorszy spośród pozostałych ( 3). 4. Sprawdź, czy tu już minimum 5. Jeśli utknęliśmy, to wprowadź odpowiednie zmiany 6. 2 Optymalizacja p. 7/30

Simplex (Nelder-Mead) UWAGA: nie ufać obrazkowi robótka ręczna, na oko! Optymalizacja p. 8/30

Z minimalizacja kierunkowa F( x+ p)=f( x)+ F p+ 1 2 pt H( x) p+o(h 3 ) Koncepcja ogólna: 1. Czy mamy już zadowalajace x? (warunki zbieżności, optymalności) 2. Wyznacz kierunek poszukiwań p. 3. Znajdźµtakie, byf( x+µ p)<f( x) 4. Oblicz nowe x, gradient, hesjan (lub jego przybliżenie); następny krok Optymalizacja p. 9/30

Najprostsze metody pierwszego rzędu Znamy gradient w punkcie x. Dokad iść? x i+1 = x i µ F( x i ) Tak nie najlepiej zły kierunek np. w bananowej dolinie a. Gdy długość krokuµ i ustalana według przepisu (np. chodź szybciej po płaskim ): Wersja z momentem: x i+1 = x i µ i F( x i ) F( x i ) x i+1 x i =α( x i x i 1 ) µ F( x i ) a funkcja Rosenbrocka:F( x)=100 ( x 2 x 2 1) 2+(1 x1 ) Optymalizacja p. 10/30

Minimalizacja kierunkowa Ile naprawdę powinno wynosić µ? adaptacja (jest OK zwiększ, pod górkę zmniejsz) bisekcja, złoty podział, itp. miejscami opłacalne przybliżenie parabola obliczamyf w trzech punktach jeśli znamy F można pozwolić sobie na wyższy rzad Optymalizacja p. 11/30

Metoda gradientów sprzężonych Kierunki minimalizacji p i ustalamy tak, by za każdym razem wnosiły coś nowego. Z żadania ortogonalności i sprzężenia kierunków p 1... p k 1 wynika postać wzoru na następny kierunek: p k = g k + gt k( g k g k 1 ) g T k 1 g k 1 p k 1 powolniejsza niż metody drugiego rzędu mała złożoność pamięciowa i czasowa Najlepsza dla największych problemów. Optymalizacja p. 12/30

Levenberg-Marquardt Jak Origin dopasowuje nam krzywe? Minimalizujemy bład kwadratowy: F( x)= 1 2 (ei ( x)) 2. Znamy gradient: F=(J( x)) T e( x), gdziej oznacza macierz Jacobiego dla e: J( x) = [ e i x j ]. Przybliżony hesjan: G( x)=(j( x)) T J( x)+v k 1 Drugi składnik a daje regularyzację sam hesjan często nie jest dodatnio określony. Parametr Levenberga-Marquardtav k jest duży na poczatku (idziemy w kierunku największego spadku), na końcu mały (blisko minimum kwadratowo zbieżny algorytm Gaussa-Newtona). Obierany krok: a pomysl Levenberga p= (G( x)) 1 F( x) Optymalizacja p. 13/30

Levenberg-Marquardt Poprawka a ( po płaskim chodź szybciej ): G( x)=(j( x)) T J( x)+v k diag ( (J( x)) T J( x) ) Ile wynosiv k? jeślif( x+ p) F( x), zbliżamy się do minimum, więc v k+1 = v k r idziemy do x+ p jeślif( x+ p)>f( x) v k+1 =v k r n rezygnujemy z takiego kroku a pomysl Marquardta Optymalizacja p. 14/30

Levenberg-Marquardt Bardzo skuteczna metoda, ale: Odwracanie macierzy zajmujeo ( n 3) czasu. Jedna z najlepszych dla problemów średnich rozmiarów. Konkurencyjny sposób: algorytm zmiennej metryki w każdym kroku aktualizacja odwrotności hesjanu V k =(G( x k )) 1. Przykładowo wzór Broydena-Goldfarba-Fletchera-Shanno: ( ) V k =V k 1 + 1+ rt kv k 1 r k sk s T k s T k r k s T k r s krkv T k 1 +V k 1 r k s T k k s T k r k gdzies k = x k x k 1,r k = F(x k ) F(x k 1 ). Optymalizacja p. 15/30

Dokładne różniczkowanie... Załóżmy, że nasz nowy wspaniały algorytm potrzebuje dokładnej wartości gradientu funkcji F. Patrzymy na skomplikowany kod naszej minimalizowanej funkcji... Co poczać? Optymalizacja p. 16/30

Dokładne różniczkowanie... Załóżmy, że nasz nowy wspaniały algorytm potrzebuje dokładnej wartości gradientu funkcji F. Patrzymy na skomplikowany kod naszej minimalizowanej funkcji... Co poczać? Nie trzeba dużo kawy! Bierzemy narzędzia: Fortran ADIFOR, ADOL-F, DAFOR, GRESS, JAKEF, TAMC, OPTIMA90,... C ADIC, ADOL-C, FADBAD++... i generujemy programy obliczajace potrzebne nam pochodne. Optymalizacja p. 16/30

Automatyczne różniczkowanie programów Jak działa takie narzędzie? analizuje kod źródłowy jak kompilator, znajduje wszystkie operacje arytmetyczne i wywołania prostych funkcji (tzn.sin(x),exp(x)... ), buduje kod obliczajacy zadane pochodne czastkowe 1. lub 2. rzędu. Optymalizacja p. 17/30

Automatyczne różniczkowanie programów Funcja celu obliczana krok po kroku: F( x)=g(m L (M L 1 (...M 1 (M 0 ( x))...)))=g( y) Dwa sposoby różniczkowania: wprost y G J L J L 1... J 1 J 0 δ x=δf Obliczenia wykonuja się tyle razy, ile wynosi wymiar przestrzeni parametru x wstecz ( obliczenia sprzężone ) J T 0 J T 1... J T L 1 J T L ( y G) T =( x (F)) T Tyle razy powtarzamy cała procedurę, ile wynosi wymiar przeciwdzedziny F zwykle dużo mniej! Koszt: wartościm i trzeba przechowywać lub każdorazowo od nowa obliczać. Optymalizacja p. 18/30

Jak nie utknać w minimum lokalnym? poprawianie algorymtów gradientowych (np. dodanie momentu) multistart wielokrotnie losujemy punkt startu, by trafić w nieckę minimum globalnego metody globalnej optymalizacji (przyrodnicze!) algorytmy genetyczne symulowane wyżarzanie Inne dary natury: sieci neuronowe, algorytmy mrówkowe (ant colony optimization), ewolucyjne (evolution strategies), sieci immunologiczne (artifical immune networks)... Optymalizacja p. 19/30

TSP problem komiwojażera Dany jest graf(v,e), którego krawędzie maja wagi (d:v R + ). Wyznaczyć cyklh 1,...,h n, w którym każdy węzeł pojawia się dokładnie raz (cykl Hamiltona) Ograniczenia na przestrzeń N n : i=1...n j :v j =h i i j h i h j krawędzie daja minimalna sumę wag min V i=1 d hi,h i+1 Po prostu pytamy: w jakiej kolejności wiercić dziury?... obserwować gwiazdy? Optymalizacja p. 20/30

TSP Problem jest NP-trudny, ale w praktyce zadowalamy się przybliżonymi rozwiazaniami. Używane metody: heurystyki symulowane wyżarzanie algorytmy genetyczne, mrówkowe sieć neuronowa inne... Optymalizacja p. 21/30

Sieci neuronowe a optymalizacja Uczenie sieci neuronowych intensywnie wykorzystuje algorytmy optymalizacji Optymalizacja może być realizowana przez sieci neuronowe! Ciekawostka: jak zaprzac sieć Hopfielda do rozwiazywania TSP? ϕ i = j iw ji y j y i = 1 2 (1+tanh(βϕ i)) Optymalizacja p. 22/30

Uciaglenie TSP dla sieci Niech rolę poszukiwanego punktu x pełni teraz macierz: 1 gdy h p =v i x pi = 0 wpp Ograniczenia: { Jedno odwiedzenie każdego miasta p, jedno miasto na każdej pozycji i: h 1 (x)= x pi x pj =0 h 2 (x)= p,i,j i p,i,q p x pi x qi =0 Odwiedzenie wszystkich: ( h 3 (x)= p,i x pi n) 2 =0 Optymalizacja p. 23/30

Uciaglenie TSP dla sieci Analogowa sieć Hopfielda: ciagły czas ciagła funkcja aktywacji y(ϕ) ewolucja opisana układem równań różniczkowych du i = 1 dt c E x i Optymalizacja p. 24/30

Uciaglenie TSP dla sieci Nasza funkcja celu (oryginalna): J(x)= p,q p,i d pq x pi (x q,i+1 +x q,i 1 ) Funkcja energii neuronowej sieci Hopfielda (J+ funkcje kary ): E(x)=Ah 1 (x)+bh 2 (x)+ch 3 (x)+dj(x)+ pi 1 τ xpi 1 2 y 1 (ξ)dξ Otrzymany układ ewoluuje ku krótkim cyklom, ale łatwo wpada w minima lokalne. Wiele modyfikacji, poszukiwanie odpowiednich parametrów. Siła tkwi w równoległości. Optymalizacja p. 25/30

Ant Colony Optimization Inspiracja: Jak się zachowuja mrówki? pozostawiaja ślady feromonowe częściej chodza tam, gdzie wywęsza sygnał gdy nie wiedza dokad pójść wybieraja przypadkowy kierunek działaja w dużej grupie znajduja krótkie ścieżki Optymalizacja p. 26/30

Ant Colony Optimization Innymi słowy: dodatnie sprzężenie zwrotne wysoki stopień równoległości liczność jednostek (agentów) zapobiega przedwczesnej zbieżności zachłanność Istnieje optymalna liczba mrówek, powyżej której jakość rozwiazania się nie poprawia. Optymalizacja p. 27/30

Ant Colony Optimization Mamy sposób na rozwiazywanie problemów kombinatorycznych (TSP, SAT, QAP,... ). Trzeba znaleźć: grafowa reprezentację problemu (dla TSP oczywista) sposób zachłannego konstruowania pojedynczego rozwiazania x (TSP: mrówka pamięta sobie kolejne odwiedzane węzły) zasadę gromadzenia informacji w grafie (TSP: np. krótsza krawędź więcej feromonu) nowa postać ograniczeń definiujacych przestrzeń rozwiazań (TSP: mrówka nie powraca do węzła, który sobie pamięta) Optymalizacja p. 28/30

Gotowce Pakiety służacych do optymalizacji (lista z serwisu numerycznego ICM): COOOL, GSL, HSL, KNITRO, MINOPT, MLOCPSOA, NAG, NAPACK, NEOS, OPT++, OptSolve++, PORT, Scilab, SLATEC, SMINPACK, StarFLIP++, TOMLAB, UNCON Optymalizacja p. 29/30

Jak to wyglada? Przykład: Opt++ biblioteka w C++ do rozwiazywania nieliniowych problemów optymalizacyjnych. #include "NLF.h" #include "OptQNewton.h"... int main() { FDNLF1 nlp(2, funkcja, init funckja); nlp.initfcn(); OptQNewton objfcn(&nlp); objfcn.setsearchstrategy(trustregion); objfcn.setmaxfeval(200); objfcn.setfcntol(1.e-4); objfcn.setoutputfile("example1.out",0); objfcn.optimize(); } Optymalizacja p. 30/30