Algorytmy Ewolucyjne - wykład 3
Transkrypt
Algorytmy Ewolucyjne - wykład 3
Algorytmy ewolucyjne Dr inż. Michał Bereta p. 144 / 10, Instytut Modelowania Komputerowego [email protected] [email protected] www.michalbereta.pl Optymalizacja wielokryterialna Problemy świata rzeczywistego często wymagają rozważenia wielu kryteriów oceny postępowania/rozwiązania. Przykłady: • Kupno samochodu (cena vs jakośd) • Planowanie produkcji (koszty vs czas vs jakośd) Optymalizacja wielokryterialna Zakup samochodu • Cena – Koszt zakupu – Kredytowanie • Częstotliwośd rat • Oprocentowanie – Koszty eksploatacji • Koszty paliwa • Koszt części zamiennych • Serwisowanie – Spadek wartości samochodu po roku – Opodatkowanie • VAT • Podatek „od luksusu” Optymalizacja wielokryterialna Jak porównywad różne cele, jeśli są one „nieporównywalne” ? Np. Koszt (jednostka: waluta) oraz jakośd ( jednostki: ???) Optymalizacja wielokryterialna Konkretne rozwiązanie x „dominuje” na pewnym obszarze przestrzeni poszukiwao, to znaczy, dowolne rozwiązanie z z tego obszaru jest gorsze od x, jeśli chodzi o wszystkie cele. Rozwiązanie z nie może byd uznane za optymalne w żadnym rozsądnym sensie. Jeśli dla rozwiązania x nie ma żadnego innego rozwiązania, które jest lepsze od x względem wszystkich celów, to rozwiązanie x jest w pewnym sensie „optymalne” Optymalizacja wielokryterialna Problem optymalizacji wielokryterialnej Minimalizuj fi(x), i = 1, …, m przy zakresach l(p) ≤ xp ≤ u(p), p = 1, …, n przy ograniczeniach gk(x) ≤ 0, k = 1, …, l hj(x)= 0, j = 1, …, q Problemy maksymalizacji są analogiczne i można je sprowadzid do powyższego sformułowania. Optymalizacja wielokryterialna Uwaga! Przestrzeo decyzyjna jest n-wymiarowa. Przestrzeo celów jest m-wymiarowa. Optymalizacja wielokryterialna Zestaw potencjalnych rozwiązao problemu optymalizacji wielokryterialnej może byd podzielony na rozwiązania • zdominowane • niezdominowane Optymalizacja wielokryterialna Rozwiązanie zdominowane Rozwiązanie z jest zdominowane, jeśli istnieje dopuszczalne rozwiązanie x, które jest: – co najmniej tak dobre jak z ze względu na wszystkie wymiary, tzn. dla każdego celu fi (i=1,…,m) fi(x) ≤ fi(z) dla wszystkich 1 ≤ i ≤ m – ściśle lepsze od z co najmniej ze względu na jeden cel i fi(x) < fi(z) dla pewnego 1 ≤ i ≤ m Optymalizacja wielokryterialna Rozwiązanie niezdominowane Każde rozwiązanie, które nie jest zdominowane przez żadne inne rozwiązanie dopuszczalne, nazywamy rozwiązanie niezdominowanym. Optymalizacja wielokryterialna Rozwiązanie x dominuje na rozwiązanie z. Koszt z x Czas Optymalizacja wielokryterialna Koszt Obszar dominowania rozwiązania x. z x Czas Optymalizacja wielokryterialna Rozwiązanie x nie dominuje nad rozwiązaniem y – x jest lepsze pod względem czasu, ale y jest lepsze pod względem kosztów. Koszt Również y nie dominuje nad x. z x y Czas Optymalizacja wielokryterialna Zbiór optymalny w sensie Pareto Zbiór niezdominowanych rozwiązao z całej dopuszczalnej przestrzeni poszukiwao nazywamy zbiorem optymalnym w sensie Pareto (rozwiązania tworzą tzw. front Pareto). Rozwiązania z tego zbioru nie są zdominowane przez żadne inne więc w tym sensie są one optymalnymi rozwiązaniami dla problemu optymalizacji wielokryterialnej. Ostatecznie jednak zazwyczaj musimy zdecydowad się na tylko jedno rozwiązanie. Vilfred Pareto (1848-1923) – włoski ekonomista Optymalizacja wielokryterialna Zbiór optymalny w sensie Pareto musi byd zbiorem niezdominowanym. Odwrotne twierdzenie nie musi byd prawdą. Zbiór niezdominowany może zawierad rozwiązania optymalne w sensie Pareto jak również pewne rozwiązania spoza tego frontu Pareto. Optymalizacja wielokryterialna Koszt Front Pareto – jest to zbiór rozwiązao niezdominowanych. Czas Optymalizacja wielokryterialna Rozwiązania x oraz y tworzą zbiór rozwiązao niezdominowanych, ale nie tworzą frontu Pareto, a nawet do niego nie należą. Koszt y x Czas Optymalizacja wielokryterialna Zadanie dowolnego algorytmu znajdującego zbiór optymalny w sensie Pareto polega na daniu w wyniku zbioru niezdominowanych rozwiązao, który przybliża zbiór optymalny w sensie Pareto tak, jak to tylko możliwe. Optymalizacja wielokryterialna Dwa główne podejścia do rozwiązywania problemów wielokryterialnych • Redukowanie do problemów z jednym kryterium – Można stosowad znane algorytmy optymalizacji z jednym kryterium – Dostajemy przeważnie jedno rozwiązanie • Uwzględnianie wielu kryteriów w czasie trwania algorytmu Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metoda sumy ważonej. Funkcje określające kryteria łączone są w jedną funkcję celu zgodnie ze wzorem: m F ( x) wi f i ( x) i 1 gdzie m wi [0,1] wi oraz i 1 1 Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metoda sumy ważonej. Zalety – Prostota – Jeśli wagi są dodatnie, wtedy optymalne rozwiązanie dopuszczalne dla F jest również optymalne w sensie Pareto – Jeśli x jest rozwiązaniem optymalnym w sensie Pareto, dla wypukłego problemu optymalizacji wielokryterialnej, to istnieje niezerowy dodatni wektor wag w taki, że x jest rozwiązaniem F. Wady - Dobór wag jest zazwyczaj subiektywny Optymalizacja wielokryterialna Niektóre z rozwiązao optymalnych w sensie Pareto (zielone) są „schowane” w niewypukłej przestrzeni celów i nie mogą byd wygenerowane jako liniowe sumy ważone. Koszt A B Czas Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metoda funkcji odległości Łączy wiele funkcji oceny w jedną na podstawie wektora poziomu popytu y. Rozwiązanie optymalne jest rozwiązaniem minimalizującym odległośd między F(x) a y. m F ( x) | f i ( x ) yi | r 1 r i 1 m czasami F ( x) wi | f i ( x) yi | i 1 r 1 r Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metoda funkcji odległości Jeśli r jest bardzo duże, wtedy problem przekształca się w problem minimalizacji największego odchylenia |fi(x) - yi| i jest nazywany problemem Czebyszewa z wagami. Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metoda ε-ograniczeo. Pomysł polega na zachowaniu jedynie jednego kryterium (najważniejszego?), np. r, i na przekształceniu reszty celów w graniczenia: fi(x) ≤ εi dla 1 ≤ i ≤ m oraz i ≠ r Parametry εi reprezentują górne ograniczenia wartości fi. Zalety: – Można stosowad problemy zarówno z wypukłymi jak i wklęsłymi przestrzeniami. – Dla dowolnego wektora górnych ograniczeo rozwiązanie w tej metodzie jest optymalne w sensie Pareto Wada: – Złożonośd określenia wartości górnych ograniczeo Optymalizacja wielokryterialna Redukowanie do problemów z jednym kryterium. Metody te są często zbyt uproszczone i niezbyt pasują do rzeczywistych problemów. Noszą znamiona dostosowywania (tj. upraszczania) problemu do znanego nam algorytmu (np. optymalizacji z jednym kryterium) Optymalizacja wielokryterialna Podejście ewolucyjne do wielokryterialnego podejmowania decyzji • Rozwiązują problem znajdowania kolekcji rozwiązao przybliżających front Pareto. • Problem wyboru jednego, konkretnego rozwiązania jest odłożony na później. Optymalizacja wielokryterialna Podejście ewolucyjne do wielokryterialnego podejmowania decyzji Problem • Algorytm ewolucyjny powinien rozłożyd rozwiązania wzdłuż granicy Pareto, a nie szukad jednego, najlepszego rozwiązania Wniosek • Należy wygenerowad zbiór rozwiązao niezdominowanych jak najbliżej rzeczywistego frontu Pareto, dbając jednocześnie o różnorodnośd populacji Optymalizacja wielokryterialna A Mała różnorodnośd (źle) B Duża różnorodnośd (dobrze) Uwaga: Zbiór rozwiązao na rys. B jest różnorodny ale tylko w przestrzeni celów – nie implikuje to różnorodności w przestrzeni zmiennych decyzyjnych, ani z niej nie wynika. Optymalizacja wielokryterialna Podejście ewolucyjne Przykład Zminimalizuj przy f1 ( x) x fi(x), i = 1, 2 -A≤x≤A 2 f 2 ( x) ( x 2) 2 Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. f2 f2 f1 ( f1 2) 2 Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. f2 f2 f1 ( f1 2) 2 Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. f2 f2 f1 ( f1 2) 2 Optymalizacja wielokryterialna Podejście ewolucyjne Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2]. f2 f2 f1 ( f1 2) 2 Optymalizacja wielokryterialna Podejście ewolucyjne Dwie klasy algorytmów • Algorytmy mogące byd zastosowane w przypadku, w którym problem wielokryterialny jest przekształcany w sformułowanie z jednym kryterium • Algorytmy z uwzględnieniem optymalności w sensie Pareto, bez stosowania żadnej formy łączenia ocen wynikających z różnych celów Optymalizacja wielokryterialna Podejście ewolucyjne • „bez metody Pareto” – Algorytm podczas selekcji przełącza się między różnymi celami • „na podstawie metodą Pareto” (tzw. selekcja Pareto) – Osobnikom w populacji jest przypisywana waga na podstawie ich dominacji na innymi rozwiązaniami oraz ze względu na optymalnośd w sensie Pareto Optymalizacja wielokryterialna Podejście ewolucyjne VEGA – ang. Vector Evaluated Genetic Algorithm • Dla problemu z m celami w każdym pokoleniu wybiera się 1/m rodziców na podstawie każdego z kryteriów osobno. • Zapewnia to przeżywanie: – Osobników dobrych ze względu na jedno kryterium (tzw. specjalistów) – Osobników średnich ze względu na wszystkie kryteria (gdyż mają wiele szans zostania wybranym) Optymalizacja wielokryterialna Podejście ewolucyjne VEGA – ang. Vector Evaluated Genetic Algorithm • Problem: – VEGA ma problemy związane z tworzeniem gatunków, tzn. osobników doskonałych ze względu na różne kryteria – Można temu zapobiegad, np. za pomocą krzyżowania nie losowego, lecz raczej osobników z różnych „gatunków” Optymalizacja wielokryterialna Podejście ewolucyjne Algorytm Fourmana • Podczas selekcji jest wybierane w sposób losowy jedno kryterium Optymalizacja wielokryterialna Podejście ewolucyjne Algorytm Goldberga • Ocenia rozwiązania na podstawie dominacji, a nie bezpośrednich wartości optymalizowanych celów • Metoda działa iteracyjnie – Najpierw wybierz w populacji wszystkie rozwiązania niezdominowane. Przypisz im ten sam wynik i usuo z dalszych rozważao. – Określ, które z pozostałych rozwiązao są niezdominowane. Przypisz im ten sam wynik, ale gorszy niż poprzednia usuniętym rozwiązaniom. Usuo te rozwiązania z dalszych rozważao. – Itd. • Różnorodnośd rozwiązao jest zachowywana przez zastosowanie metody współdzielenia wartości (ang. fitness sharing) (w przestrzeni celów) Optymalizacja wielokryterialna Podejście ewolucyjne NSGA (ang. Nondominated sorting Genetic Algorithm) • W populacji jest określany ranking osobników ze względu na brak dominacji • Osobnikom najlepszym (niezdominowanym) przypisywane jest przystosowanie równe liczbie osobników w populacji • Do utrzymania różnorodności wykorzystywane jest współdzielenie wartości (ang. fitness sharing) w obrębie tej samej linii granicznej w przestrzeni celów ale obliczana jest w przestrzeni zmiennych decyzyjnych Optymalizacja wielokryterialna Podejście ewolucyjne NPGA (ang. Niched Pareto Genetic Algorithm) • Wykorzystuje binarną selekcję turniejową opartąna dominacji Pareto – Dwaj losowo wybrani rodzice są porównywani z wybraną podpopulacją o rozmiarze s, tzn. każdy z dwóch rodziców jest porównywany z każdym z s rozwiązao z tej podpopulacji – Liczy się liczba zdominowanych osobników z wylosowanej podpopulacji – W razie remisu decyduje licznośd niszy: rodzic o mniejszej liczności niszy wygrywa, tzn. preferowani są rodzice z mniej zatłoczonych obszarów Optymalizacja wielokryterialna Podejście ewolucyjne MOGA (ang. Multiobjective Genetic Algorithm) • Każdy osobnik x jest oceniany na 1+liczba osobników, które dominują nad x • Ocenę 1 mają osobniki niezdominowane • Maksymalna wartośd oceny jest równa rozmiarowi populacji • Oceny powyższe są podstawą do promowania osobników „mniej zdominowanych” • Niszowanie jest wykorzystywane w celu utrzymania różnorodności Optymalizacja wielokryterialna Podejście ewolucyjne Zastosowanie selekcji elitarnej • Może ona polegad na gwarancji przeżycia osobników niezdominowanych • Może to prowadzid do przedwczesnej zbieżności – już po paru iteracjach wszystkie osobniki w populacji mogą byd niezdominowane (więc wszystkie kwalifikują się jako elita) jednak niekoniecznie muszą byd blisko rzeczywistego frontu Pareto. Optymalizacja wielokryterialna Podejście ewolucyjne Lista nieobecności • Sztuczne systemy immunologiczne • Algorytmy rojowe • Inne… KONIEC