Algorytmy ewolucyjnemichalbereta.pl/dydaktyka/ae_zaoczne/AE_w3.pdfMetoda sumy ważonej. Zalety...

Post on 03-Jan-2020

4 views 0 download

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

mbereta@pk.edu.plberetam@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