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