OzWSI/LSN
From WikiZMSI
Spis treści |
Laboratoria 1 --- Symulowane wyżarzanie
Celem laboratorium jest implementacja symulowanego wyżarzania dla jednego z wybranych problemów
- n-hetmanów
- komiwojażera z n miastami
- binarnego problemu plecakowego z n obiektami.
Wymagane elementy programu:
- zadawana wymiarowość problemu n
- stan problemu (kandydat na rozwiązanie) reprezentowany jest jako:
- lista ustawień hetmanów w wierszach (każdy hetman ustawiony jest w innej kolumnie),
- lista miast odwiedzanych po kolei przez komiwojażera,
- lista elementów w plecaku
- stan początkowy ma być losowany
- funkcją celu
- zlicza parami atakujących się hetmanów, zatem oczekiwanym globalnym optimum jest wartość funkcji = 0;
- liczy sumę odległości pomiędzy miastami odwiedzonymi przez komiwojażera (z ostatniego miast trzeba pojechać do pierwszego); odległość całkowita ma być minimalizowana
- liczy zysk z obiektów w plecaku lub zysk dzielony przez wagę; poszukujemy takiego zestawu elementów, który daje największy zysk, ale nie przekracza wagowego ograniczenia plecaka
- funkcja generująca sąsiedni stan.
- przesuwa losowo wybranego hetmana do losowo wybranego pustego pola dozwolonego dla danego hetmana; w wariancie steepest powinna generować listę wszystkich możliwych przesunięć;
- zamienia losowo wybrane dwa miasta; w wariancie steepest powinna zmieniać parami wszystkie miasta
- dodaje lub odejmuje elementy z plecaka
- temperaturę początkową ustalić jako
- Uruchomić procedurę generowania potomków k razy
- Obliczyć dla każdego potomka E
- Obliczyć odchylenie standardowe z E w próbie k
- T0, czyli temperatura początkowa jest równa odchyleniu standardowemu
- rozkład temperatury ustalić jako Tk+1=Tk*0.95
- warunkiem zatrzymania powinna być liczba wykonanych kroków i brak zmian w funkcji celu po wykonaniu pewnej zadanej liczby prób
- program po wykonaniu optymalizacji powinien wyświetlać:
- stan, który został wskazany przez program jako rozwiązanie i jego wartość funkcji celu
- demonstrować w postaci listy/wykresu zmienność wartości funkcji celu w procesie optymalizacji (w krokach)
- uruchomić algorytm dziesięciokrotnie i podać średnie wyniki z najlepszych znalezionych rozwiązań. Porównać wyniki.
Każde własne propozycje lub wykorzystane z literatury techniki doboru parametrów lub prezentacji wyników będą dodatkowo punktowane.
Termin oddania programu to 18.12.2016
Laboratoria 2 --- Strategie ewolucyjne lub ewolucja różnicowa
Celem laboratorium jest implementacja strategii ewolucyjnej lub ewolucji różnicowej dla rzeczywistoliczbowego problemu optymalizacyjnego. Szczegóły implementacji:
- Parametrem programu ma być optymalizowana funkcja. Na stronie Go test problem lub Virtual Library... dostępna jest lista funkcji testowych. Algorytm należy przetestować na funkcji wielomodalnej Griewank, jednomodalnej Rosenbrock i Easom.
- Strategie ewolucyjne:
- implementacja selekcji plus lub comma
- parametry (np. liczność populacji) zadawane jako parametr
- operacje (krzyżowanie/mutacja) na osobnikach wykonywane zgodnie z opisem z ćwiczeń
- Ewolucja różnicowa
- podawanie parametrów metody jako parametr
- operacje krzyżowania i mutacji zgodnie z opisem z ćwiczeń
- Wynikiem działania programu ma być położenie znalezionego przez algorytm optimum (może być też odległość od znanego globalnego optimum), wykres zmienności przystosowania najlepszego osobnika w generacjach, średnie przystosowanie populacji
- Warunkiem zatrzymania może być z góry zadana maksymalna liczba generacji lub uzyskanie błędu optymalizacji mniejszego niż zadany
Termin oddania programu to 15.01.2017
Laboratoria 3 --- Particle swarm optimization lub firefly optymization
Celem laboratorium jest implementacja PSO lub firefly optymization dla rzeczywistoliczbowego problemu optymalizacyjnego. Szczegóły implementacji:
- Parametrem programu ma być optymalizowana funkcja. Na stronie Go test problem dostępna jest lista funkcji testowych. Algorytm należy przetestować na funkcji wielomodalnej Griewank, jednomodalnej Rosenbrock i Easom.
- Dla PSO
- Podawanie paramtrów wpływu "indywidualnego" i "społecznego" oraz wagi dla bezwładności.
- Jako dodatek (nieobowiązkowo) można zaimplementować różne formy sąsiedztwa.
- Dla Firefly
- Wynikiem działania programu ma być położenie znalezionego optimum (może być też odległość od znanego globalnego optimum), wykres prezentujący zmienność położenia najlepszej cząstki w roju, jako dodatek wizualizacja roju na powierzchni optymalizowanej.
- Warunkiem zatrzymania jest z góry zadana maksymalna liczba generacji lub uzyskanie błędu optymalizacji mniejszego niż zadany.
Termin oddania programu to 15.01.2017
Laboratoria 4 --- Algorytmy mrówkowe
Celem laboratorium jest implementacja algorytmu Ant Colony Optimization dla jednego z wybranych problemów:
- n-hetmanów
- komiwojażera z n miastami
- binarnego problemu plecakowego z n obiektami.
Parametry, które mogą być zmienne dla ACO, to:
- n - rozmiar problemu
- liczba mrówek
- maksymalna liczba iteracji
- parametry alfa i beta dla ant-routing table
- ilość rozkładanego feromonu powinna być kontrolowana wielkością ro
- początkowa wartość feromonu
Wyniki powinny demonstrować zmienność rozwiązań w iteracjach, pokazywać najlepsze znalezione rozwiązanie.
Termin oddania programu to 29.01.2017