Instrukcja MOO genetyczne

Transkrypt

Instrukcja MOO genetyczne
Minimalizacja funkcji za pomocą algorytmu genetycznego
Funkcja testowa (Grievanka), minimum globalne funkcji znajduje się w początku układu
współrzędnych.
n
F ( x) = α ∑
i =1
n
x i2
x
+ 1 − ∏ cos( i ), α = 0.1, n = 10, x ∈ [−600, 600]
4000
i
i =1
1. Tworzymy m-plik z funkcją testową.
Rys. 1. M-plik z funkcją testową.
2. Szukamy minimum funkcji z ograniczeniami uŜywając fminunc, dla x0=
[100,100,100,100,100,100,100,100,100,100].
3. Zapisujemy wartość funkcji odnalezionego rozwiązania.
4. Zmieniamy x0 na [10,10,10,10,10,10,10,10,10,10].
5. Zapisujemy wartość funkcji odnalezionego rozwiązania.
6. Uruchamiamy Genetic Algorithms Tool gatool
7. Ustawiamy opcje algorytmu uwzględniając liczbę zmiennych, ograniczenia
wynikające z przedziału zmienności zmiennych oraz początkowe wartości
argumentów funkcji. Liczbę osobników ustawiamy na 20.
1
Rys. 2. Opcje algorytmu.
8. Algorytm uruchamiamy 10 razy, zaś uzyskane wartości funkcji (Fitness function value)
zapisujemy w Excelu.
9. Obliczamy wartość średnią, odchylenie standardowe, wyznaczamy minimalną oraz
maksymalną wartość.
10. Zmieniamy opcje dotyczącą selekcji z metody stochastic uniform na turnament.
Rys. 3. Selekcja.
11. Algorytm uruchamiamy 10 razy, zaś uzyskane wartości funkcji zapisujemy w Excelu.
12. Obliczamy wartość średnią, odchylenie standardowe, wyznaczamy minimalną oraz
maksymalną wartość.
13. Zmieniamy opcje dotyczącą selekcji wybierając metodę roulette.
14. Algorytm uruchamiamy 10 razy, zaś uzyskane wartości funkcji zapisujemy w Excelu.
15. Obliczamy wartość średnią, odchylenie standardowe, wyznaczamy minimalną oraz
maksymalną wartość.
16. Dla ustawienia selekcji, które uzyskało najlepsze rezultaty zmieniamy metodę
krzyŜowania ze scattered na single point.
Rys. 4. KrzyŜowanie.
2
17. Algorytm uruchamiamy 10 razy, zaś uzyskane wartości funkcji zapisujemy w Excelu.
18. Obliczamy wartość średnią, odchylenie standardowe, wyznaczamy minimalną oraz
maksymalną wartość.
19. Minimalizujemy funkcję Rastrigin’a uŜywając algorytmu genetycznego i ustawiając w
nim opcje, które dotychczas uzyskały najlepsze rezultaty. Wartości początkowe
osobników mieszczą się w przedziale [4 ; 5]. Podana funkcja testowa posiada
minimum globalne znajdujące się w początku układu współrzędnych
n
F ( x) = A ⋅ n + ∑ ( xi2 − A cos( 2 ⋅ π ⋅ xi )), A = 10, n = 20, x ∈ [−5.12, 5.12]
i =1
20. Po utworzeniu m-pliku z funkcją, uruchamiamy algorytm 10 razy, obliczamy wartość
średnią, odchylenie standardowe, wyznaczamy minimalną oraz maksymalną wartość.
3