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