Techniki optymalizacji

Podobne dokumenty
Optymalizacja. Symulowane wyżarzanie

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Wybrane algorytmy

Techniki optymalizacji algorytmy metaheurystyczne

Przeszukiwanie lokalne

Techniki optymalizacji

Algorytmy metaheurystyczne podsumowanie

Techniki optymalizacji

Metody inwersji Bayesowskiej -L7- IGF PAN, 21.IV.2005

Optymalizacja. Przeszukiwanie tabu

Elementy wspo łczesnej teorii inwersji

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

Optymalizacja. Przeszukiwanie tabu

Techniki optymalizacji

Wyk lad 2: Algorytmy heurystyczne

Optymalizacja ciągła

Hybrydy symulowanego wyżarzania

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Obliczeniowe w Nauce i Technice

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

RÓWNANIA NIELINIOWE Maciej Patan

Prawdopodobieństwo i statystyka

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Uczenie sieci typu MLP

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Fizyka w symulacji komputerowej i modelowaniu komputerowym Metody Monte Carlo Algorytmy Genetyczne. Łukasz Pepłowski

Metody przeszukiwania lokalnego

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

e E Z = P = 1 Z e E Kanoniczna suma stanów Prawdopodobieństwo wystąpienia mikrostanu U E = =Z 1 Wartość średnia energii

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Tabu Search (Poszukiwanie z zakazami)

Obliczenia inspirowane Naturą

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

SZTUCZNA INTELIGENCJA

Równoległe symulacje Monte Carlo na współdzielonej sieci

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytm Metropolisa-Hastingsa

Prawa potęgowe w grafach przepływu informacji dla geometrycznych sieci neuronowych

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

XIII International PhD Workshop OWD 2011, October 2011 WIZUALIZACJA SYSTEMÓW GRZEWCZYCH VISUALISATION OF THE HEATING SYSTEMS

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

ALHE. prof. Jarosław Arabas semestr 15Z

Metody Programowania

Sortowanie topologiczne skierowanych grafów acyklicznych

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

1 Wprowadzenie do algorytmiki

Algorytm hybrydowy dla problemu pakowania

Nie do końca zaawansowane elementy programowania w pakiecie R. Tomasz Suchocki

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Wykład 2. Poprawność algorytmów

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Metody numeryczne. Wykład nr 12. Dr Piotr Fronczak

Wydział Matematyki. Testy zgodności. Wykład 03

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Programowanie w Turbo Pascal

Wstęp do Programowania potok funkcyjny

Elementy inteligencji obliczeniowej

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Modelowanie procesów współbieżnych

ALHE Z11 Jarosław Arabas wykład 11

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

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

Uczenie ze wzmocnieniem

Mrówka Pachycondyla apicalis

STATYSTYKA MATEMATYCZNA WYKŁAD 4. Testowanie hipotez Estymacja parametrów

Wykład 9: Markov Chain Monte Carlo

ALGORYTMY GENETYCZNE ćwiczenia

Modelowanie sieci złożonych

Wstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel

EGZAMIN DYPLOMOWY, część II, Biomatematyka

Podstawy OpenCL część 2

MODELOWANIE RZECZYWISTOŚCI

Metody Rozmyte i Algorytmy Ewolucyjne

2) wzrost i hodowla kryształów, metalurgia algorytm symulowanego wygrzewania

Zespół kanoniczny N,V, T. acc o n =min {1, exp [ U n U o ] }

Teoria algorytmów ewolucyjnych

Co to jest model Isinga?

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Wstęp do programowania

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Metody Rozmyte i Algorytmy Ewolucyjne

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

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

Wyk lad 3: Klasy P, NP i Algorytmy heurystyczne

Algorytm genetyczny (genetic algorithm)-

EGZAMIN DYPLOMOWY, część II, Biomatematyka

Instrukcje iteracyjne (pętle)

Optymalizacja ciągła

Równoważność algorytmów optymalizacji

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Statystyka matematyczna Testowanie hipotez i estymacja parametrów. Wrocław, r

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Zadania laboratoryjne i projektowe - wersja β

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Transkrypt:

Techniki optymalizacji Symulowane wyżarzanie Maciej Hapke maciej.hapke at put.poznan.pl

Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne zmniejszanie temperatury do chwili, w której cząsteczki ułożą się wzajemnie i osiągną (ang. ground state) temperaturę zerową

Algorytm Metropolis Metropolis i in. (1953) - algorytm statystycznego symulowania (Monte Carlo) zmian ciała stałego w gorącej kąpieli aż do stanu termicznej równowagi Losowa generacja sekwencji stanów ciała stałego: stan i ciała stałego i jego energia Ei, perturbacja (małe zniekształcenie) następny stan. Energia następnego stanu wynosi Ej. jeśli Ej - Ei 0, stan j jest akceptowany jako stan bieżący w przeciwnym wypadku, stan j jest akceptowany z pewnym prawdopodobieństwem: exp E i k B T E j T temperatura kąpieli k B stała Boltzmanna

Analogie do optymalizacji System fizyczny stan energia stan stały temperatura szybkie schładzanie powolne schładzanie Problem optymalizacji rozwiązanie koszt optimum parametr kontrolny T lokalna optymalizacja symulowanie wyżarzanie

Symulowane wyżarzanie Simulated annealing, Monte Carlo annealing, probabilistic hill climbing, stochastic relaxation Zastosowanie algorytmu Metropolis do optymalizacji kombinatorycznej.

Kryterium akceptacji i, j rozwiązania f(i) i f(j) - koszty kryterium akceptacji określa czy j uzyskane z i jest akceptowane P c {accept j} = 1 exp f ( i) c f ( j) jesli jesli f(j) f(j) > f(i) f(i)

Procedura SW procedure SYMULOWANE_WYŻARZANIE; begin INICJALIZUJ(x start,c 0,L); k:=0; x:=x start ; repeat for l:=1 to L k do begin GENERUJ(x' z Sx); if f(x') f(x) then x:=x' else if exp(-(f(x')-f(x))/c k )>random[0,1) then x:=x'; end; k:=k+1; OBLICZ(C k ); until WARUNEK_STOPU; end;

Zbieżność algorytmu SW Można uzyskać takie L k i c k, które zapewniają zbieżność SW do opt. Dobre przybliżenie SW generowanie homogenicznych łańcuchów Markowa skończonej długości dla skończonej sekwencji malejących wartości parametru kontrolnego

Łańcuch Markowa Łańcuch Markowa jest sekwencją prób (rozwiązań), w której prawdopodobieństwo wyniku danej próby zależy od wyniku poprzedniej próby. Łańcuch Markowa jest niehomogeniczny jeśli prawdopodobieństwo przejścia zależy od numeru próby k. Jeśli nie zależy łańcuch Markowa jest homogeniczny.

Sposób chłodzenia określa skończona sekwencja wartości parametru kontrolnego, tj. początkowa wartość parametru kontrolnego c 0 funkcja dekrementacji parametru kontrolnego końcowa wartość parametru kontrolnego skończona liczba przejść dla każdej wartości parametru kontrolnego, tj. skończona długość każdego homogenicznego łańcucha Markowa

Sposób chłodzenia Kirkpatricka, Gelatta i Vecchi ego Wartość początkowa parametru kontrolnego Wartość c 0 powinna być odpowiednio wysoka by zapewnić akceptację wszystkich przejść (początkowy współczynnik akceptacji jest bliski 1). Zależy od problemu (patrz formuła: f, c k ) Np. f = 1000, p 0,98 dla c k = 250 Podgrzewanie Zmniejszanie wartości parametru kontrolnego c k+1 = α c k, k = 1, 2,... c k+1 = α k c 0 α jest stałą mniejszą ale bliską 1. (0.8 0.99)

Sposób chłodzenia L k = L

Długość łańcucha Markowa Powinna być odpowiednia, tak by algorytm mógł odwiedzić wszystkich swoich sąsiadów przynajmniej raz (osiągnąć stan równowagi termicznej na każdym poziomie temperatury). Związek ze średnim rozmiarem sąsiedztwa. Ponieważ prawdopodobieństwo akceptacji zmniejsza się w czasie, można by się spodziewać, że L k dla c k 0. Dlatego istnieje pewne ograniczenie na długość łańcucha Markowa dla małych c k.

Wartość końcowa parametru kontrolnego Algorytm kończy działanie, gdy wartość funkcji celu otrzymanego rozwiązania w ostatniej próbie łańcucha Markowa nie uległa zmianie dla kilku kolejnych łańcuchów

SA for TSP Pierwsze implementacje Pierwsze implementacje Kirkpatrick [1983] 6000 miast, brak dokładnych informacji o jakości z wyjątkiem określenia dobry Ruchy 2-opt (wymiana 2 łuków) Liczba ruchów na każdym poziomie temperatury ma być proporcjonalna do rozmiaru sąsiedztwa rozmiar N 2 (poważna wada, inne algorytmy są lepsze) Cerny [1985] 2-opt oraz ruchy z wymianą miast (gorsze rezultaty)

SA for TSP Johnson, Aragon, McGeoch, Schevon [1996] Parametry T 0 3% ruchów odrzucane wsp. zmiany T, α = 0.95 L = N(N-1) Stop, 5 zmian temperatur bez poprawy najlepszego rozwiązania LUB akceptacja niższa niż 2% Obserwacje Mniej więcej podobne wyniki dla wielu uruchomień, niezależnie od N Jeśli L=N, niewielka poprawa Lepsze od 2-opt, ale gorsze od 3-opt Wydłużenie wyżarzania do 10N(N-1) pomaga i daje lepszy wynik od 3-opt, ale czas obliczeń mocno rośnie a jakość wzrasta słabo Gdy N=100, SA daje lepsze wyniki od LK, ale w czasie 20000 razy dłuższym N=1000, SA liczy 3.5 dnia, LK 0,77 s

Porównanie wyników

Jak przyspieszyć SA? Obcinanie sąsiedztwa (neighborhood pruning) Wykluczanie długich odcinków Może zmniejszyć rozmiar do N Niższe temperatury startowe Strata czasu na bezowocne poszukiwania

Porównanie