Materialy pomocnicze do przedmiotu Podstawy Optymalizacji

Transkrypt

Materialy pomocnicze do przedmiotu Podstawy Optymalizacji
Materiały pomocnicze do przedmiotu Podstawy Optymalizacji
Laboratorium Podstaw Optymalizacji
Algorytmy genetyczne
1. Wprowadzenie
Tematem laboratorium będą algorytmy genetyczne. Są to algorytmy które do poszukiwania ekstremum funkcji wykorzystują mechanizmy znane z genetyki takie jak mutacja, krzyżowanie, selekcja.
Algorytm genetyczny w przeciwieństwie do klasycznych metod optymalizacji nie opiera swojego działania na operowaniu na pojedynczym rozwiązaniu (jak np. metody gradientowe, algorytm Simplex).
Zamiast tego operuje on na całej populacji osobników. Każdy z nich jest propozycją rozwiązania rozpatrywanego problemu.
Każdy osobnik charakteryzuje się pewnymi wartościami. Po pierwsze przypisane są mu odpowiednie
wartości zmiennych decyzyjnych, a także odpowiadająca im wartość funkcji przystosowania. Określa
ona jakość danego osobnika. W większości przypadku funkcja przystosowania odpowiada funkcji celu.
Natomiast im lepszy osobnik tym mniejszą ma on wartość tej funkcji (w przypadku minimalizacji, dla
maksymalizacji sytuacja byłaby odwrotna). W przypadku prostych algorytmów genetycznych zmienne
decyzyjne zapisane są w postaci ciągów binarnych, na których to przeprowadzane jest krzyżowanie i
mutacja.
Init
Dekodowanie
Ocena
osobników
Selekcja
Krzyżowanie
Mutacja
Dekodowanie
Ocena
osobników
Kryt. stopu
Stop
Rysunek 1. Schemat działania prostego algorytmu genetycznego
Opracowanie: mgr inż. W. Kurek
1
Materiały pomocnicze do przedmiotu Podstawy Optymalizacji
Krzyżowanie osobników które zapisane są w postaci binarnej polega na wymianie materiału genetycznego (fragmentów ciągów binarnych) pomiędzy dwoma rodzicami. Powstają w ten sposób dwa osobniki
potomne, które podlegają ocenie.
W przypadku mutacji sprawa przedstawia się jeszcze prościej. W losowy sposób wybierane są pojedyncze bity (geny) z ciągów binarnych i są one zmieniane na przeciwne (0 zmieniane jest na 1 i odwrotnie).
Ostatnim z podstawowych mechanizmów wykorzystywanych przez algorytmy genetyczne jest selekcja.
Potrzebny jest sposób który umożliwi wybranie osobników mających podlegać krzyżowaniu. Istnieje
wiele sposobów realizacji operatora selekcji, jednym z powszechnie stosowanych rodzajów jest selekcja
turniejowa. Polega ona na losowaniu z populacji par osobników i wyborze do krzyżowania lepszego z tej
pary. Operacja ta jest powtarzana do momentu wybrania odpowiedniej liczby osobników rodzicielskich.
Podstawową zaletą algorytmów genetycznych jest łatwość operowania na zmiennych całkowitoliczbowych, prostota rozpatrywania problemów z ograniczeniami logicznymi a także brak potrzeby posiadania
gradientu optymalizowanej funkcji. Ponadto dzięki wykorzystaniu całej populacji rozwiązań algorytmy
genetyczne są odporniejsze na optima lokalne.
Na rysunku 1 przedstawiony jest schemat działania prostego algorytmu genetycznego. Już na pierwszy
rzut oka widać, że powtarza on iteracyjnie główną pętle algorytmu. Na schemacie pojawił się także nowy
element o którym do tej pory nie było mowy, a mianowicie kryterium stopu. Najprostszym kryterium
stopu jest wykonanie określonej liczby iteracji głównej pętli algorytmu – nazywanych generacjami.
2. Ćwiczenie laboratoryjne
Należy dla podanych na ćwiczeniach funkcji celu przeprowadzić badanie efektywności algorytmów
genetycznych w zależności od poszczególnych parametrów takich jak rozmiar populacji, prawdopodobieństwo krzyżowania i mutacji.
UWAGA! Ponieważ algorytmy genetyczny są oparte o mechanizmy stochastyczne ocenę rozwiązań
należy przeprowadzać na średnich wynikach tj. przy takich samych parametrach należy przeprowadzić
określoną liczbę symulacji i jako wynik traktować średni wynik.
Opracowanie: mgr inż. W. Kurek
2

Podobne dokumenty