Projektowane w dzisiejszych czasach systemy informatyczne coraz częściej muszą
rozwiązywać problemy nierozwiązywalne, czyli te z klasy NP. Ponieważ liczba
parametrów zwykle dyskwalifikuje zastosowanie jakiegokolwiek algorytmu
oferującego dokładne rozwiązanie, jednym ze sposobów wyjścia z sytuacji jest
zastosowania algorytmów aproksymacyjnych, tym bardziej atrakcyjnych, że
oferują gwarancję jakości co do znalezionego rozwiązania. Niestety nierzadko
pojawia się problem pt.: jakość może i jest gwarantowana, ale kiepska. Innym
podejściem jest użycie algorytmów metaheurystycznych. Nie ma wspomnianych
gwarancji, jednak praktyka pokazuje, że w większości przypadków algorytmy te
świetnie sobie radzą w rozwiązywaniu problemów trudnych. I właśnie tą klasą
metod i algorytmów zajmiemy się na tym wykładzie.
**Program**
1. Problemy optymalizacyjne i złożoność obliczeniowa, przegląd klasycznych problemów optymalizacyjnych
2. Metody optymalizacji
3. Podstawowe pojęcia dla metaheurystyk
4. Przegląd metaheutystyk opartych o "single-solution"
* Charakterystyka metod tej klasy
* Przeszukiwanie lokalne
* Symulowane wyżarzanie
* Przeszukiwanie z tabu
* Inne rodzaje przeszukiwań
5. Przegląd metaheutystyk populacyjnych
* Podstawowe pojęcia dla algorytmów ewolucyjnych
* Przeszukiwanie rozproszone
* Rój cząsteczek
* Inne metaheurystyki populayjne
6. Hybrydy oparte o metaheurystyki
7. Zastowanie losowości