18 - Optymalizacja metodą simulated annealing Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Marcin Przewięźlikowski Miłosz Błaszkiewicz Łukasz Janeczko
Outline 1 Wprowadzenie 2 Optymalizacja kombinatoryczna 3 Annealing & quenching 4 Fizyka statystyczna i optymalizacja - analogie 5 Algorytm Simulated Annealing 6 Schemat Metropolisa 7 Uwagi praktyczne 8 Simulated Annealing a rozkład kanoniczny 9 Pierwsze zastosowania Simulated Annealing 10 Odmiany Simulated Annealing 11 Literatura
Wprowadzenie Wprowadzenie Annealing wyżarzanie, odprężanie (powolne chłodzenie) przykład zastosowania metody fizyki statystycznej w optymalizacji [1] Simulated annealing rodzina heurystycznych technik optymalizacyjnych opartych na analogii z fizyką statystyczną układów losowych opis pochodzenia metody (ang.): https://pdfs.semanticscholar.org/beb2/ 1ee4a3721484b5d2c7ad04e6babd8d67af1d.pdf
Optymalizacja kombinatoryczna Optymalizacja kombinatoryczna Przykład: Problem komiwojażera In: symetryczna macierz odległości (N N) Out: permutacja zbioru {1, 2,..., N} taka, że np: L min = N {( x i x i+1 + y i y i+1 ) + λ(µ i µ i 1 ) } }{{}}{{} i=1 odległość w metryce Manhattan funkcja kary (penalty)
Optymalizacja kombinatoryczna Optymalizacja kombinatoryczna Zagadnienia NP-zupełne (nondeterministic polynomial) rozwiązania o złożoności e N wiele stopni swobody dyskretne (wykluczone poszukiwanie w kierunku) funkcja celu (L) łączy przeciwstawne cele cząstkowe Dobry przegląd w [3] M.R. Garey, D.S. Johnson Computers and Intractability: A Guide to the Theory of NP Completeness, Freeman, San Francisco, 1979
Optymalizacja kombinatoryczna Typowa funkcja celu Typowa funkcja celu skalar: wszystkie cele sprowadza do jednego wiele lokalnych minimów - rzędu e N w praktyce - potrzebne dobre rozwiązanie - nie musi być to minimum globalne
Optymalizacja kombinatoryczna Typowa funkcja celu Typowa funkcja celu
Optymalizacja kombinatoryczna Typowa funkcja celu Typowa funkcja celu Niezbędne: C i - reprezentacja konfiguracji układu g(c i ) - funkcja celu procedura generacji kolejnych konfiguracji
Optymalizacja kombinatoryczna Typowa funkcja celu Przykład procedury generacji nowych konfiguracji TSP [4] Heurystyka: iterative improvement - akceptowalne zmiany zmniejszające funkcję celu 1 odwrócenie kolejności obiegu 5-ciu górnych 2 wstawienie 5-ciu górnych między 2 dolne pewne ugrzęźnięcie w lokalnym minimum S. Lin, B.W. Kernighan, Oper. Res. 21 (1973) 498
Annealing & quenching Annealing & quenching Czyli powolne i szybkie schładzanie Annealing Stopniowe, powolne zmniejszanie temperatury topnienie (ciecz) w każdej temperaturze trwa długo, do uzyskania równowagi termicznej uporządkowanie w kryształ - struktura regularna, symetryczna o minimalnej energii
Annealing & quenching Annealing & quenching Quenching Szybkie zmniejszanie temperatury uzyskanie stanu metastabilnego szkło polikryształ kryształ z defektami Odpowiednik iterative improvement Wniosek: zamiast zawsze odrzucać konfigurację zwiększającą funkcję celu, niekiedy należy ją akceptować z odpowiednim prawdopodobieństwem (uphill)
Fizyka statystyczna i optymalizacja - analogie Fizyka statystyczna i optymalizacja - analogie Fizyka statystyczna uśrednione wartości dla zespołów o dużej ilości molekuł Mechanika statystyczna wiele oddziałujących molekuł układ, zbiór położeń molekuł schłodzenie do stabilnego stanu niskoenergetycznego temperatura hamiltonian (energia wewnętrzna) w hamiltonianie człony: short-range attractive, long-range repulsive (spin glass) Optymalizacja wiele parametrów konfiguracja znalezienie konfiguracji prawie optymalnej parametr sterujący przebiegiem optymalizacji funkcja celu współzawodniczące człony w funkcji celu
Algorytm Simulated Annealing Algorytm Simulated Annealing {T l } - temperature schedule: T l > T l+1 np. T l+1 = 0.9 T l
Algorytm Simulated Annealing Sprawdzanie, czy układ jest w równowadze Sposób A utrzymywać T l przez Sposób B { 100 N prób n - ustalona liczba prób ( epoka) 1 wykonać n prób (C i C i+1 ) 2 zachować g(c n ) 10 N prób udanych( g < 0) 3 porównać g i (C n ) dla kilku ostatnich zestawów po n próbach brak istotnej zmiany g(c n ) nowe T. Start: stopienie określić typowe g wybrać T >> g ( E)
Algorytm Simulated Annealing Interaktywna demonstracja działania Simulated Annealing Źródła w C i C++: https://www.taygeta.com/annealing/simanneal.html
Schemat Metropolisa Schemat Metropolisa Podstawa metody Monte Carlo symulacji molekularnej Nicolas Metropolis, Arianna W. Rosenbluth, Marshal M. Rosenbluth, Augusta H. Teller, Edward Teller J. Chem. Phys. 21 (1953) 1087
Schemat Metropolisa Schemat Metropolisa r = δ( i a x + j a y + k a z ) δ - wybrane z góry 10 11 m a i ( 1, 1), Unif a i, R - liczby pseudolosowe φ - zmiana energii potencjalnej układu w wyniku przesunięcia molekuły m
Schemat Metropolisa Charakterystyka schematu Metropolisa T - łatwiej akceptowalne kroki z H (E) możliwość opuszczenia stanu metastabilnego (lokalnego minimum). zmiany H są akceptowane zawsze Po wielu krokach system stan równowagi termodynamicznej z parametrami oscylującymi wokół wartości średnich zgodnie z rozkładem Boltzmanna
Schemat Metropolisa Łańcuch Markowa Schemat Metropolisa łańcuch Markowa Zasada równowagi szczegółówej (detailed balance, microscopic reversibility) p 2 1 = p 1 e E 2 E 1 kt
Schemat Metropolisa Łańcuch Markowa Łańcuch Markowa p1 p2 = e E 1 kt e E 2 kt p i e E i kt }{{} czynnik prawdop. Boltzmanna P(c i ) e E i kt importance sampling: konfiguracje generowane nie losowo - ale z zadanym rozkładem (50-70 % akceptowanych)
Uwagi praktyczne Uwagi praktyczne Duże r: niski poziom akceptacji szybsze próbkowanie przestrzeni konfiguracyjnej Dla potencjałów parowych, krótkozasięgowych: przesuwamy tylko 1 cząstkę dla określenia φ - tylko najbliżsi sąsiedzi W przypadku cieczy: każda cząsteczka 10 3 przemieszczeń w modelu 10 3 cząsteczek Force-biased displacement: wszystkie cząsteczki przesuwane równocześnie przeciwnie do gradientu potencjału
Simulated Annealing a rozkład kanoniczny Simulated Annealing a rozkład kanoniczny Własności makroskopowe z mikroskopowymi Q - stan mikroskopowy układu E(Q) - energia układu w stanie Q P(Q) - rozkład prawdopodobieństwa Rozkład mikrokanoniczny - układ izolowany P(Q) = A(Q) δ(e E(Q)) { 0 niemożliwe A(Q) = 1 możliwe
Simulated Annealing a rozkład kanoniczny Rozkład kanoniczny Simulated Annealing a rozkład kanoniczny Rozkład kanoniczny Układ w kontakcie cieplnym z otoczeniem P(Q) = Z 1 Q często: 1 kt = β Q P(Q) = Z 1 e E(Q) kt e E(Q) kt = 1 Z = Q e E(Q) kt }{{} suma statystyczna - fukcja rozdziału
Simulated Annealing a rozkład kanoniczny Rozkład kanoniczny Ciepło właściwe E = Var < E >= U energia wewnętrzna: można ją zmierzyć < E > Q E(Q) P(Q) = Q E(Q) e β E(Q) Q e β E(Q) = β lnz Krócej: < E >= β lnz
Simulated Annealing a rozkład kanoniczny Rozkład kanoniczny Ciepło właściwe Ciepło właściwe przy stałej objętości ale: C v = d < E(T ) > dt C v = k β 2 [ < E 2 (T ) > < E(T ) > 2 ] }{{}}{{} średni kwadrat energii kwadrat średniej energii Wzrost wartości ciepła właściwego sygnalizuje zachodzenie przemiany fazowej.
Simulated Annealing a rozkład kanoniczny Rozkład kanoniczny Entropia Oznaczana symbolem S T ds = dq - ciepło dostarczane układowi V = const T ds = du = C v dt ds dt = C v (T ) T Wzór końcowy na entropię S(T ) = S(T 1 ) T1 T C v (T ) T dt T 1 - temperatura, dla której entropia jest znana (np. przez aproksymację dla b. wysokich temperatur) Poziom S ilość minimów (stanów ustalonych)
Pierwsze zastosowania Simulated Annealing Pierwsze zastosowania Simulated Annealing Kirkpatrick TSP - 3000 random cities (dokładne rozwiązanie 318) miasta w klastrach: duże T - optymalna droga między klastrami małe T - optymalna droga wewnątrz klastrów divide and conquer behaviour podział zagadnienia na różne skale Kirkpatrick, Gelatt Optymalizacja rozłożenia mikroukładów elektronicznych na 1 lub więcej chipach, łączenie chipów.
Pierwsze zastosowania Simulated Annealing Pierwsze zastosowania Simulated Annealing Vecchi, Kirkpatrick Optimal wiring (między VLSI) min length min bends no crowding Kenneth Wilson, Dean Jacobs, Jan Prins - Cornell University Algorytm Metropolisa do optymalizacji kodu komputerowego ( iteracyjne przestawianie komend)
Pierwsze zastosowania Simulated Annealing Dalsze zastosowania Simulated Annealing Biologia i chemia molekularna Przykłady: Optymalizacja struktury cząsteczki białka zbudowanej metodami modelowania molekularnego Uściślanie struktur rozwiązanych metodą dyfrakcji rentgenowskiej Przejście od więzów do struktury przy wyznaczaniu struktury przestrzennej białka metodą NMR Proces selekcji potencjalnych leków przez dokowanie Na podstawie https://bioinfo.mol.uj.edu.pl/courses/ AppliedModelling/LectureSchedule?action= AttachFile&do=get&target=w3.pdf
Odmiany Simulated Annealing Odmiany Simulated Annealing COSA - Cooperative Simulated Annealing ASA - Adaptive Simulated Annealing Strona prof. Lester Ingbera poświęcona ASA: http://alumnus.caltech.edu/ ingber/ PARSA - Parallel Simulated Annealing EBSA - Ensemble Based Simulated Annealing
Literatura Literatura I Scott Kirkpatrick, Daniel Gelatt, Mario Venchi IBM T.J. Watson Research Center Science 220 (1983) 671-670 S. Kirkpatrick J. Stat. Phys. 34 (1984) 975 (No 5/6) M.R. Garey, D.S. Johnson Computers and Intractability: A Guide to the Theory of NP Completeness, Freeman, San Francisco, 1979 S. Lin, B.W. Kernighan Oper. Res. 21 (1973) 498
Literatura Literatura II Nicolas Metropolis, Arianna W. Rosenbluth, Marshal M. Rosenbluth, Augusta H. Teller, Edward Teller J. Chem. Phys. 21 (1953) 1087