3. Metaheurystyka "meta" ("nad", tutaj w znaczeniu "wyższego poziomu") oraz słowa "heurystyka" (gr. heuriskein - szukać)
Algorytm metaheurystyczny opisuje zwykle sposób przechodzenia między możliwymi rozwiązaniami w celu rozwiązania
problemu. Najczęściej wykorzystywany jest do rozwiązywania problemów optymalizacyjnych.
Algorytmy tego typu nie rozwiązują bezpośrednio żadnego problemu, a jedynie podają sposób na utworzenie odpowiedniego
algorytmu.
4. Tabu search
Metaheurystyka tabu search (“przeszukiwanie z tabu”) - procedura stosowana do rozwiązywania problemów
optymalizacyjnych. Wykorzystywana do otrzymywania rozwiązań optymalnych lub niewiele różniących się od
niego. Podstawową ideą algorytmu jest przeszukiwanie przestrzeni, stworzonej ze wszystkich możliwych
rozwiązań, za pomocą sekwencji ruchów. W sekwencji ruchów istnieją ruchy niedozwolone, ruchy tabu.
Algorytm unika oscylacji wokół optimum lokalnego dzięki przechowywaniu informacji o sprawdzonych już
rozwiązaniach w postaci listy tabu (TL).
“Blokadę” wywoływaną przez optima lokalne przełamuje się dzięki osłabieniu reguły selekcji. Rozwiązanie
bieżące jest zawsze zastępowane przez najlepsze rozwiązanie w sąsiedztwie, nawet jeśli powoduje to
pogorszenie jakości. Koncepcyjnie, polega to na “okrojeniu” zdefiniowanego w zwykły sposób sąsiedztwa
poprzez usuniecie z niego rozwiązań, które już wcześniej były zaakceptowane jako rozwiązania bieżące. Te
ostatnie tworzą zbiór tabu.
5.
6. Ogólny schemat TS
wygenerowanie rozwiązania początkowego
zainicjalizowanie struktur pamięci
przegląd sąsiedztwa bieżącego rozwiązania
wybór najlepszego sąsiada
tak
aktualizacja najlepszego rozwiązania warunek
aktualizacja struktur pamięci stopu
nie
ew. dywersyfikacja rozwiązania, także restart
ew. inna modyfikacja procesu podstawowego
7. 1. Wygenerowanie rozwiązania początkowego cyklu wybraną
metodą, np. najkrótsza droga w sieci
2. Za pomocą metody TS próba optymalizacji rozwiązania
początkowego
3. Rejestracja wyników
4. Porównanie rezultatu początkowego z końcowym
5. Wnioski