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