Algorytmy genetyczne


Szukanie ekstremum funkcji jednej zmiennej

Cel

Celem ćwiczenia jest zbadanie działania prostych heurystyk oraz standardowego algorytmu genetycznego dla problemu szukania ekstremum funkcji w zadanym przedziale.

Funkcja y=x^2*sin(10*π*x)+1

Zadania

  1. Narysować wykres funkcji w przedziale [-1; 2] (przyjąć krok 0,01).
  2. Znaleźć maksimum funkcji w przedziale [-1; 2], stosując:
    • pełny przegląd (dokładność 0,000001),
    • algorytm losowego przeszukiwania oraz iteracyjnej wspinaczki z reprezentacją rzeczywistą; zbadać wpływ odchylenia standardowego,
    • algorytm TS (reprezentacja rzeczywista); zbadać wpływ długości listy tabu,
    • algorytm symulowanego wyżarzania (reprezentacja binarna, dokładność 0,000001); zbadać wpływ współczynnika schładzania,
    • klasyczny algorytm genetyczny (reprezentacja binarna; dokładność 0,000001; Pc=0,8; Pm=0,05; krzyżówka jednopunktowa; selekcja turniejowa; najlepsze dzieci tworzą następne pokolenie); zbadać wpływ rozmiaru populacji (10, 20, 30, 50, 100) na skuteczność GA.
  3. Porównać skuteczność działania zaimplementowanych algorytmów.