Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO)

Podobne dokumenty
SZTUCZNA INTELIGENCJA

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Strategie ewolucyjne (ang. evolution strategies)

Dobór parametrów algorytmu ewolucyjnego

ROZWÓJ ALGORYTMU EWOLUCJI RÓŻNICOWEJ. Konrad Wypchło

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne 1

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm genetyczny (genetic algorithm)-

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Obliczenia Naturalne - Algorytmy rojowe

Programowanie genetyczne, gra SNAKE

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Punkty równowagi w grach koordynacyjnych

Algorytmy genetyczne

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

Techniki optymalizacji

Metody Rozmyte i Algorytmy Ewolucyjne

O dwóch modyfikacjach algorytmu PSO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy ewolucyjne NAZEWNICTWO

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Ewolucja Różnicowa Differential Evolution

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy genetyczne w optymalizacji

Wstęp do Sztucznej Inteligencji

Adaptacyjny algorytm ewolucji różnicowej w rozwiązywaniu problemów teorii gier

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Obliczenia z wykorzystaniem sztucznej inteligencji

Obliczenia z wykorzystaniem sztucznej inteligencji

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Algorytmy genetyczne

Generowanie i optymalizacja harmonogramu za pomoca

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Algorytmy stadne w problemach optymalizacji

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

Aproksymacja funkcji a regresja symboliczna

6. Klasyczny algorytm genetyczny. 1

Algorytmy ewolucyjne `

Problemy z ograniczeniami

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Optymalizacja. Symulowane wyżarzanie

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

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

Obliczenia ewolucyjne - plan wykładu

ALHE Z11 Jarosław Arabas wykład 11

Programowanie genetyczne - gra SNAKE

RÓWNANIA NIELINIOWE Maciej Patan

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Analiza stanów gry na potrzeby UCT w DVRP

Algorytmy ewolucyjne. wprowadzenie

Teoria algorytmów ewolucyjnych

Algorytmy genetyczne

Równoważność algorytmów optymalizacji

Optymalizacja. Wybrane algorytmy

Wpływ wykorzystania archiwum wygenerowanych punktów w algorytmie ewolucji różnicowej na jakość uzyskiwanych wyników.

Optymalizacja ciągła

Algorytmy genetyczne

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Stochastic modelling of phase transformations using HPC infrastructure

Wybrane podstawowe rodzaje algorytmów

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Algorytmy genetyczne (AG)

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Standardowy algorytm genetyczny

Selekcja cech. Wprowadzenie Metody selekcji cech. Przykład zastosowania. Miary niepodobieństwa. Algorytmy przeszukiwania

Algorytmy ewolucyjne

Sortowanie Shella Shell Sort

Techniki optymalizacji

Problem Komiwojażera - algorytmy metaheurystyczne

Uczenie sieci typu MLP

SZTUCZNA INTELIGENCJA

Jak wrócić dziś do domu?

Strategia "dziel i zwyciężaj"

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytmy ewolucyjne

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

Algorytmy ewolucyjne optymalizacji wielokryterialnej sterowane preferencjami decydenta

Algorytmy ewolucyjne (2)

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

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

przetworzonego sygnału

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Transkrypt:

Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO) 1

Ewolucja różnicowa - wstęp Stosunkowo nowy (połowa lat 90tych) algorytm optymalizacji numerycznej (autorzy: R. Storn i K. Price). Osobniki są L-wymiarowymi wektorami liczb rzeczywistych. Fenotyp jest identyczny z genotypem. Mutacja polega na perturbacji losowo wybranego wektora o różnicę dwóch innych wektorów pomnożoną przez stały współczynnik. Algorytm jest bardzo prosty i działa bardzo dobrze na typowych funkcjach testowych, choć nie do końca wiadomo dlaczego. Algorytm wymaga tylko trzech parametrów, z których jeden (S) jest rozmiarem populacji, drugi (F) steruje mutacją, a trzeci (CR) krzyżowaniem. 2

Selekcja i sukcesja Algorytm operuje na populacji S osobników x1,x2,...,xs, gdzie x i ℜ L W każdym kroku algorytmu dla każdego osobnika x i tworzony jest osobnik próbny ui. ui powstaje poprzez zastosowanie operatorów mutacji i krzyżowania. Następnie dopasowanie dopasowaniem rodzica xi. osobnika próbnego ui jest porównywane z Jeżeli dopasowanie ui jest lepsze (mniejsze bądź większe w zależności od rodzaju problemu optymalizacyjnego) niż x i, ui zastępuje xi w populacji. Jeżeli dopasowanie ui jest gorsze niż xi, ui jest odrzucany. Ten schemat możemy zaimplementować utrzymując dwie populacje, każdą składającą się z S wektorów L-elementowych: populację główną i populację próbną. 3

Mutacja Wynikiem mutacji jest nowy wektor vi otrzymany w sposób następujący: v i = x r + F ( x r x r ). 1 2 3 gdzie 0 F 1 jest stałym parametrem, zwanym współczynnikiem amplifikacji (ang. amplification factor), r1,r2,r3 to trzy losowo wygenerowane numery osobników ze zbioru {1,2,...,S}, przy czym spełniona jest zależność i r1 r2 r3 (trzy liczby losowe nie mogą się powtarzać i każda musi być różna od i) vi jest nazywany osobnikiem mutantem. Typowa wartość F to 0.5. Uwaga: rodzic xi nie bierze udziału w procesie mutacji. 4

Krzyżowanie Wynikiem krzyżowania operującego na rodzicu xi i mutancie vi jest osobnik próbny ui, który następnie w procesie sukcesji zostanie porównany z x i. Każdy element ui,j (j=1,2,..l) wektora ui jest wyznaczany w sposób następujący: ui, j = { v i, j jeżeli rnd j < CR lub j =d x i, j w przeciwnym wypadku gdzie rndj jest liczbą losową z przedziału [0,1) losowaną niezależnie dla każego j. 0 CR 1 jest stałym parametrem algorytmu, d jest losowym numerem elementu wektora losowanym ze zbioru {1,2,...,L}. CR oznacza prawdopodobieństwo przejścia elementu z wektora mutanta v i do wektora próbnego ui. CR=1 wszystkie elementu wektora próbnego u i pochodzą od mutanta vi. CR=0 wszystkie (z wyjątkiem jednego, co zapewnia warunek po lub ) elementy wektora próbnego ui pochodzą od rodzica xi. Możemy stwierdzić że operator krzyżowania miesza losowo elementy rodzica x i i mutanta vi, tworząc wektor próbny ui. 5

Inne schematy mutacji W literaturze stosuje się następujący schemat oznaczania wariantów algorytmu ewolucji różnicowej: DE/x/y/z, gdzie z to schemat krzyżowania obecnie bin. y to liczba różnic wektorów stosowanych w mutacji. x to jest wektor poddany mutacji może być: rand (wektor losowy), best (najlepszy osobnik w populacji), current (wektor bieżący, czyli x i) Schemat opisany przeze mnie do DE/rand/1/bin. Przykłady innych schematów: DE/best/2/bin v i = x Best + F ( x r x r )+ F ( x r x r ). 1 2 3 4 DE/current/1/bin v i = x i+ F ( x r x r ). 1 2 6

Schemat mutacji current-to-best W tym schemacie mutant jest generowany w sposób następujący: v i = x i+ F ( x Best x i )+ F ( x r x r ). 1 2 a więc osobnik rodzicielski xi jest wykorzystywany w procesie mutacji. 7

Dobór parametrów Algorytm posiada tylko trzy parametry: F, CR,S. Zazwyczaj 0.4 F 0.9. W literaturze spotyka się propozycje 5*L S 10*L, ale prowadziłoby to do bardzo dużych rozmiarów populacji dla funkcji wielowymiarowych. Proponuję w swoich eksperymentach przyjąć na początek S 50.. 0 CR 1. Proponuję zacząć od bardzo małe (bliskie 0) oraz bardzo duże (bliskie 1) wartości CR. Zaproponowano również schematy adaptacji i samoadaptacji parametrów algorytmu. Np. Dla każdego mutanta losuj F z rozkładu N(0.5,0.3). 8

Optymalizacja metodą roju cząstek (ang. particle swarm optimization - PSO) Algorytm wynaleziony w 1995 r (R. Kenedy i R. Eberhart). Algorytm optymalizacji oparty na populacji osobników podobnie jak algorytmy ewolucyjne, choć nie jest to algorytm ewolucyjny sensu stricto. Zainspirowany przez stadne zachowania zwierząt (ryby, ptaki). Indywidualni członkowie roju mogą skorzystać z odkryć (i poprzednich doświadczeń) innych członków roju. 9

PSO ogólna idea Algorytm operuje na roju (populacji) cząstek. Każda cząstka jest umieszczona na pozycji w przestrzeni rozwiązań. Pozycja cząstki (wektor z przestrzeni RL) podlega ocenie przez funkcję dopasowania. Każda cząstka porusza się w przestrzeni cech z pewną prędkością (ang. velocity). Prędkość cząstki, to również wektor w R L. W każdej iteracji do wektora reprezentującego pozycję cząstki jest dodawany wektor reprezentujący jej prędkość. Prędkość cząstki ulega zmianie. Na jej wpływ ma pozycja o największym dopasowaniu odkryta przez cały rój oraz pozycja o największym dopasowaniu odkryta przez cząstkę. 10

PSO - oznaczenia Dla każdej cząstki i w roju (i=1,2,...,s) xi jest pozycją cząstki f(xi) jest dopasowaniem cząstki vi jest prędkością cząstki pi jest najlepszą pozycją spośród wszystkich pozycji odwiedzonych przez cząstkę, a pbesti jest dopasowaniem dla tej pozycji. g jest najlepszą pozycją spośród wszystkich pozycji odwiedzonych przez wszystkie cząstki roju, a gbest jest dopasowaniem na tej pozycji. xi ℜ L v i ℜ L U(0,φ) jest wektorem L-elementowym, w którym każdy element jest niezależnie losowaną liczbą losową z przedziału [0,φ]. oznacza mnożenie dwóch wektorów element po elemencie np. [][][] 1 1 1 2 2= 4 3 3 9 11

PSO - algorytm Zainicjalizuj losowo pozycje i prędkości wszystkich cząstek. Dopóki nie warunek stopu Dla każdej cząstki i Oblicz dopasowanie f(xi). Jeżeli f(xi) jest lepsze niż pbesti to pbesti=f(xi) pi=xi. Jeżeli f(xi) jest lepsze niż gbest to gbest=f(xi) g=xi. Dla każdej cząstki i Uaktualnij prędkość cząstki wg. wzoru: v i =v i + U (0, ϕ 1 ) ( p i x i )+ U (0, ϕ2 ) ( g x i ) gdzie φ1 oraz φ2 są stałymi współczynnikami akceleracji. parametrami nazywanymi Uaktualnij pozycję cząstki wg wzoru: x i =x i + v i Zwróć g jako najlepsze rozwiązanie, a gbest jako dopasowanie najlepszego rozwiązania 12

Reguła uaktualniająca prędkość cząstki v i =v i + U (0, ϕ 1 ) ( p i x i )+ U (0, ϕ2 ) ( g x i ) Składnik momentu sprawia, że cząstka stara się kontynuować ruch w dotychczasowym kierunku. Składnik kognitywny sprawia, że cząstka stara się powrócić do najlepszej swojej pozycji. Składnik socjalny sprawia, że cząstka jest przyciągana do najlepszej pozycji odnalezionej jak dotąd przez rój. 13

Dobór współczynników akceleracji v i =v i + U (0, ϕ 1 ) ( p i x i )+ U (0, ϕ2 ) ( g x i ) φ1>0 oraz φ2=0 Każda cząstka realizuje stochastyczny algorytm wspinania się na wzgórze (ang. hill climbing). φ1=0 oraz φ2>0 Cały rój realizuje stochastyczny algorytm wspinania się na wzgórze. φ1=φ2>0 Cząstka przyciągana jest przez średnią z pi oraz g. φ1>φ2 Zalecane w przypadku problemów multimodalnych. φ1<φ2 Zalecane w przypadku problemów unimodalnych. niskie φ1,φ2 Gładkie trajektorie cząstek. wysokie φ1,φ2 Gwałtowne trajektorie cząstek. Zaproponowano również adaptacyjny dobór współczynników akceleracji (np. zmniejszanie ich wraz z postępem algorytmu). 14

Problemy z oryginalnym algorytmem Współczynniki akceleracji powinny być dostatecznie wysokie (w przeciwnym wypadku mamy b. wolną zbieżność). Jednakże duże współczynniki akceleracji prowadzą do niestabilnego zachowania systemu, przy którym prędkość eksploduje. Próbowano sobie z tym radzić ograniczając składowe wektora prędkości do przedziału [-vmax,vmax], ale nie chroni to przed opuszczeniem przez cząstkę przestrzeni poszukiwań i dodaje kolejny, trudny w doborze parametr v MAX. 15

Algorytm PSO z czynikiem ściśku (ang. constriction factor) Zmiana prędkości odbywa się według wzoru: v i =χ ( v i + U ( 0, ϕ1 ) ( pi x i )+ U ( 0, ϕ2) ( g x i )) gdzie ϕ =ϕ1+ ϕ2> 4 oraz χ= 2 2 ϕ ϕ2 4 ϕ Reguła zapobiega eksplozji prędkości cząstki, umożliwia zbieżność i pozwala na pozbycie się parametru vmax. 16

Sąsiedztwa cząstek i algorytm lbest PSO Opisana przeze mnie reguła uaktualniania prędkości dotyczy strategii nazwanej gbest (globally best) PSO w której każda cząstka zna położenie i dopasowanie wszystkich cząstek w roju. W problemach wielomodalnych może lepiej się sprawdzać strategia lbest (locally best), w której cząstka, oprócz swojego położenia zna położenia i dopasowania cząstek w swoim sąsiedztwie (z reguły nadanym przez pewną topologię, np.. pierścienia). Reguła zmiany prędkości przyjmuje postać: v i =χ ( v i + U ( 0, ϕ1 ) ( pi x i )+ U ( 0, ϕ2) ( g i x i)) gdzie gi to pozycja o największym dopasowaniu w sąsiedztwie cząstki i, przy czym sąsiedztwo zazwyczaj obejmuje 10%-15% cząstek w roju. cząstka i cząstki w sąsiedztwie i lbest PSO gbest PSO 17

Literatura dodatkowa R. Storn, K. Price, Differential evolution a simple and efficient heuristic for global optimization over continuous spaces, Journal of Global Optimization, 11(4), s. 341359, 1997, artykuł wynalazców DE, ponad 3000 cytowań. S. Das, P.N. Suganthan, Differential evolution: A survey of the state-of-the-art, IEEE Transactions on Evolutionary Computation,15(1), s. 4-31, 2011, artykuł przeglądowy na temat najnowszych trendów w DE. J. Kennedy, R. Eberhart, Particle swarm optimization, IEEE International Conference on Neural Networks, 1995. Proceedings, s. 1942-1948, 1995, artykuł wynalazców PSO, ponad 14000 cytowań. R. Poli, J. Kennedy, T. Blackwell: Particle swarm optimization. Swarm Intelligence 1(1), s. 33-57, 2007, artykuł przeglądowy na temat PSO. http://www.icsi.berkeley.edu/~storn/code.html strona R. Storna o DE, kod źródłowy i applety w wielu językach programowania. http://www.particleswarm.info/ Strona z tutorialami i programami n.t. PSO. 18