Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

26
Wprowadzenie do optymalizacji wielokryterialnej. Modelowanie i symulacja systemów mgr inż. Leszek Siwik Karol Cichosz Tomasz Borek

description

Stara prezentacja moja i Karola opublikowana przez Alicję Pachocki, z czasów studiów. http://slideplayer.pl/slide/60910/ Old preso done during my studies, introducing multicriteria optimization. Thanks to Alicja Pachocki for digging it out: http://slideplayer.pl/slide/60910/

Transcript of Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Page 1: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wprowadzenie do optymalizacji wielokryterialnej.

Modelowanie i symulacja systemów

mgr inż. Leszek Siwik

Karol CichoszTomasz Borek

Page 2: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 3: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Zarys problemu

Page 4: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Zarys problemu

Optymalizacja wielokryterialnaNajbardziej naturalna metoda

wnioskowania

Polega na znalezieniu optymalnego rozwiązania, które jest akceptowalne z punktu widzenia każdego kryterium

Page 5: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 6: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaOptymalizacja wielokryterialnapróba znalezienia wektora zmiennych decyzyjnych:

x = [x1,x2,...,xk],

 który spełnia określone warunki:

gi(x) 0 (i = 1... m),

hi(x) = 0 (i = 1 ... p)

 oraz optymalizuje wektor funkcyjny, którego elementy

reprezentują funkcje celu: f(x) = (f1(x),f2(x),...,fk(x))

Page 7: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaOptymalizacja wielokryterialna

Page 8: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaOptymalizacja wielokryterialna

Page 9: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaFunkcje celu reprezentują matematyczny opis danego

kryterium oraz najczęściej pozostają w konflikcie miedzy sobą. (przykład ceny i mocy obliczeniowej).

 Optymalizacja polega na znalezieniu takiego rozwiązania,

które byłoby akceptowalne dla każdej funkcji celu. Jest pierwszym krokiem w stronę znalezienia rozwiązania. Oczywiście rozwiązanie byłoby idealne, gdyby było rozwiązaniem najlepszym z punktu widzenia, każdej funkcji celu. Możliwe rozwiązania zadania optymalizacyjnego klasyfikuje się jako zdominowane i niezdominowane (paretooptymalne – ang. Parento optimal).

Page 10: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaDla zadania maksymalizacji zestawu k funkcji celu: 

f(x)=(f1(x),f2(x),...,fk(x));

 Rozwiązanie x jest zdominowane, jeśli istnieje dopuszczalne

rozwiązanie y nie gorsze od x, tzn. dla każdej funkcji celu f i:

 fi(x) fi (y); (i=1,... k);

 

W przeciwnym wypadku x jest rozwiązaniem

niezdominowanym

Page 11: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęciaDla zadania minimalizacji zestawu k funkcji celu 

f(x)=(f1(x),f2(x),...,fk(x))

 rozwiązanie x jest zdominowane, jeśli istnieje dopuszczalne

rozwiązanie y nie gorsze od x, tzn. dla każdej funkcji celu fi:

 

fi(y) fi (x) (i=1,... k)

 W przeciwnym wypadku x jest rozwiązaniem

niezdominowanym

Page 12: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe pojęcia

Algorytm ewolucyjny

Page 13: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 14: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Podstawowe problemy dopasowania wartości skalarnych do

poszczególnych kryteriówi obudowanie ich regułami matematycznymi

zachowania różnorodności rozwiązań przy dobieraniu klasyfikacji rozwiązań jako zdominowanych i niezdominowanych

utraty rozwiązań niezdominowanych przechowywania i egzystencji constraintów

Page 15: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 16: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyMetoda ważonych celów:

 gdzie:k – ilość funkcji;x – wektor rozwiązań;wi – wagi takie, że:

oraz

k

iii xfwxF

1

)()(

]1,0[iw

k

iiw

1

1

Page 17: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyMetoda VEGA

Użyte oznaczenia:t – numer pokoleniaPt – populacja w t-tym pokoleniuP ′ – populacja tymczasowa k – ilość kryteriów

Algorytm

Parametry wejściowe: N – rozmiar populacjiT – maksymalna ilość pokoleńpc – prawdopodobieństwo krzyżowania pm –prawdopodobieństwo mutacji

Wynik: A – zbiór rozwiązań niezdominowanych

Page 18: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyKrok 1: Inicjalizacja (wygenerowanie populacji początkowej)Niech P0 = Ø oraz t = 0. Dla i=1, ..., N wykonaj:Wylosuj osobnika i.Dodaj osobnika i do zbioru P0.

Krok 2: Wyznaczenie dopasowania i selekcja: Pt ′= Ø. Dla i = 1, ..., k wykonaj:Dla każdego osobnika oblicz jego dopasowanie w oparciu o funkcję celu fiDla j=1, ..., N/k wybierz osobnika i z Pt i dodaj go do P ′.

Krok 3: Rekombinacja: Niech P ′′= Ø. Dla i=1, ..., N/2 wykonajWybierz dwa osobniki ′ i usuń je z P ′.Skrzyżuj osobniki: i j; wynik: osobniki k i l.Dodaj k, l do P ′′ z prawdopodobieństwem pc (w przeciwnym wypadku do

P ′′ dodaj osobniki i, j).

Page 19: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyKrok 4: Mutacja: Niech P′′′ = Ø Dla każdego osobnika wykonaj:Zmutuj osobnika i z prawdopodobieństwem pm. Wynik: osobnik j.Dodaj osobnika j do zbioru P ′′′.

Krok 5: Zakończenie: Niech Pt+1 = P ′′′ i t=t+1. Jeżeli t ≥T to zakończ(Wynik: A = rozwiązanie niezdominowane z populacji Pt), w przeciwnym

wypadku powrót do roku 2.

Page 20: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyMetoda SPEA

Użyte oznaczenia:t – numer pokoleniaPt – populacja w t-tym pokoleniuPt – zbiór zewnętrzny P′ – tymczasowy zbiór zewnętrzny P ′ – populacja tymczasowa

Algorytm

Parametry wejściowe: N – rozmiar populacjiNm – maksymalny rozmiar zbioru

zewnętrznego T – maksymalna ilość pokoleń pc – prawdopodobieństwo krzyżowania pm – prawdopodobieństwo mutacji

Wynik: A – zbiór rozwiązań niezdominowanych

Page 21: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyKrok 1: Inicjalizacja:

Wygeneruj populację początkową P0 (patrz krok pierwszy algorytmu VEGA) oraz pusty zbiór zewnętrzny P0 = Ø. Niech t = 0.

Krok 2: Uzupełnienie zbioru zewnętrznego.

Niech P′ = Pt.Skopiuj do P′ osobniki z populacji Pt, niezdominowane przez inne osobniki z populacji Pt. Usuń z P′ osobniki zdominowane przez inne osobniki z P′. Zredukuj liczność zbioru P′ do N przez clustering; wynik: Pt+1.

Krok 3: Wyznaczenie dopasowania:Oblicz wartość dopasowania F osobników w Pt i Pt przy użyciu algorytmu opisanego dalej.

Page 22: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Wybrane metodyKrok 4: Selekcja:

Niech P ′= Ø. Dla i=1, ..., k wykonaj:Wybierz losowo dwa osobniki Pt .Jeżeli F(i)<F(j) to P ′= P ′ +{i}, w przeciwnym wypadku P ′= P ′ +{j}(wartość przystosowania jest tu minimalizowana).

Krok 5: Rekombinacja: patrz krok 3 algorytmu VEGA (wynik: P ′′).

Krok 6: Mutacja: patrz krok 4 algorytmu VEGA (wynik: P ′′′).

Krok 7: Zakończenie: Niech Pt+1 = P ′′′ i t = t+1. Jeżeli t ≥ T to zakończ (Wynik: A = rozwiązanie niezdominowane z populacji Pt), w przeciwnym wypadku powrót do kroku 2.

Page 23: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 24: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Literatura Kalyanmoy Deb, Lother Thiele, Marco Laumanns, Eckart Zitzler –

“Scalable Multi-Objective Optimization Test Probems” 2002 Eckart Zitzler – “Evolutionary Alghorithms for Multiobjective

Optimalization” 2001 Kalyanmoy Deb, Lother Thiele, Marco Laumanns, Eckart Zitzler, Emo

Welzl – “Running time analysis of a multi-objective evolutionary algorithm on a simple discrete optimalization problem” 2002

Eckart Zitzler – “Evolutionary algorithms for multiobjective optimalization” 2002

Eckart Zitzler, Marco Laumanns, Stefan Bleuler – “A Tutorial on Evolutionary Multiobjective Optimalization” 2003

Halina Kwaśnicka – “Ewolucyjna optymalizacja wielokryterialna” 2000

Katedra Automatyki AGH – „Optymalizacja wielokryterialna” 1999 Carlos A. Coello – „An Updated Survey of GA-Based Multiobjective

Optimalization Techniques” http://sound.eti.pg.gda.pl/rekonstrukcja/algorytmy_genetyczne.html http://www.tik.ee.ethz.ch/~zitzler/

Page 25: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Plan prezentacji Zarys problemu Podstawowe pojęcia Podstawowe problemy Wybrane metody Literatura Pytania i odpowiedzi

Page 26: Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria optimization

Dziękujemy !!