Algorytmy ewolucyjnemichalbereta.pl/dydaktyka/ae_zaoczne/AE_w3.pdfMetoda sumy ważonej. Zalety...
Transcript of Algorytmy ewolucyjnemichalbereta.pl/dydaktyka/ae_zaoczne/AE_w3.pdfMetoda sumy ważonej. Zalety...
Algorytmy ewolucyjne
Dr inż. Michał Beretap. 144 / 10, Instytut Modelowania Komputerowego
[email protected]@torus.uck.pk.edu.pl
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 zdominowaneRozwią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
Czas
Koszt
x
z
Rozwiązanie x dominuje na rozwiązanie z.
Optymalizacja wielokryterialna
Czas
Koszt
x
z
Obszar dominowania rozwiązania x.
Optymalizacja wielokryterialna
Czas
Koszt
x
z
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.
Również y nie dominuje nad x.
y
Optymalizacja wielokryterialna
Zbiór optymalny w sensie ParetoZbió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
Czas
Koszt Front Pareto – jest to zbiór rozwiązao niezdominowanych.
Optymalizacja wielokryterialna
Czas
Koszt
Rozwiązania x oraz y tworzą zbiór rozwiązao niezdominowanych, ale nie tworzą frontu Pareto, a nawet do niego nie należą.
yx
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 Paretotak, 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:
gdzie
oraz
m
i
ii xfwxF1
)()(
]1,0[iw 11
m
i
iw
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
Czas
Koszt 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.A
B
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.
rm
i
r
ii yxfxF
1
1
|)(|)(
rm
i
r
iii yxfwxF
1
1
|)(|)(czasami
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 ParetoWada:– 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
Mała różnorodnośd (źle) 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.
A B
Optymalizacja wielokryterialnaPodejście ewolucyjne
Przykład
Zminimalizuj fi(x), i = 1, 2
przy - A ≤ x ≤ A
2
1 )( xxf
2
2 )2()( xxf
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
f1
f2
2
12 )2( ff
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
f1
f2
2
12 )2( ff
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
f1
f22
12 )2( ff
Optymalizacja wielokryterialnaPodejście ewolucyjne
Problem ten ma rozwiązanie optymalne w sensie Pareto dla x z przedziału [0, 2].
f1
f2
2
12 )2( ff
Optymalizacja wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejście ewolucyjne
Algorytm Fourmana
• Podczas selekcji jest wybierane w sposób losowy jedno kryterium
Optymalizacja wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejś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 wielokryterialnaPodejście ewolucyjne
Lista nieobecności
• Sztuczne systemy immunologiczne
• Algorytmy rojowe
• Inne…
KONIEC