pobierz
Transkrypt
pobierz
Heurystyki Rozpocznijmy od definicji „naturalne” jako metafory, która będzie rozważana jako systemy pochodzące z inspiracji fizycznych, biologicznych i społecznych. Heurystykę można uzyskać poprzez: • użycie pewnej ilości powtarzalnych wzorców zachowań, • wykorzystanie jednego lub więcej indywiduów, zwanych także agentami (neurony, chromosomy, mrówki itp), • istnienie (w przypadku wielu agentów) mechanizmu współzawodnictwa lub kooperacji, • osadzenie w ramach algorytmu procedur samomodyfikujących parametry heurystyczne lub reprezentację problemu. Charakterystyka tych podejść heurystycznych może być przedstawiona w sposób następujący: 1. Są one modelem (często luźno z nim związanym) fenomenu istniejącego w przyrodzie. 2. Są one niedeterministyczne. 3. Reprezentują one podejście równoległe (wieloagentowe). 4. Są adaptacyjne (posiadają informację zwrotną umożliwiającą modyfikację parametrów i model wewnętrzny problemu). Prowadzi to do cechy określanej jako „rozsądne zachowanie” [Bourgine, Varela , 1992], co często nazywane jest inteligentnym (tu przytoczymy def. Minsky’ego [1985], że „inteligencja to zdolność do rozwiązywania trudnych problemów”) i w naszym przypadku znaczy to uzyskiwanie bardzo dobrych rozwiązań dla problemów optymalizacji kombinatorycznej. 1 Rozważając analizę ww problemów można wyróżnić szereg podejść heurystycznych: • użycie techniki zachłannej w celu wyboru właściwego ruchu dla poszczególnych agentów, • użycie techniki przeszukiwania lokalnego dla poprawy rozwiązania, • wykorzystanie losowego przeszukiwania lokalnego i akceptacja ulepszeń w rozwiązaniach, • użycie m agentów startujących z różnych punktów w przestrzeni przeszukiwania rozwiązań, • użycie populacji agentów z niedeterministycznym podejściem do rekrutacji, • użycie technik grupowania lub analizy skupień do dzielenia przestrzeni przeszukiwania rozwiązań/agentów, • użycie niedeterministycznej reguły akceptacji dla niewłaściwych zmian, • wykorzystanie informacji o (ostatnich) ruchach w celu zbudowania systemu pamięci. 2 Przedstawione powyżej podejścia (wprowadzone w sposób nieformalny) są podstawą do stworzenia zbioru coraz bardziej wyrafinowanych algorytmów heurystycznych, metaheurystycznych (gdy składają się z kilku z nich). W szczególności możemy w grupie tej wyróżnić: 1. Algorytmy wielostartowe(MT) 2. Techniki Ewolucyjne (ET) (HOLLAND75, GOLDBERG89, MICHALEWICZ96) w tym m. in. Strategie Ewolucyjne (ES) (Rechenberg73). 3. Symulowane Wyżarzanie (SA) (VANLAARHOVEN87), zaproponowane przez [Metropolis i in., 1953], udoskonalone i zastosowane dla optymalizacji przez (KIRKPATRICK83) 4. Metody Podziału i Klasyfikacji (SC) (BOENDER82) wykorzystywane w optymalizacji dyskretnej (CAMERINI86). 5. Przeszukiwanie Zabronione (TS) (GLOVER97) powiązane z techniką zachłannego, losowego przeszukiwania (GR). 6. Sieci Neuronowe (NN) (HOPFIELD85) oraz połączenie NN z SA – Maszyna Boltzmanna (BM) (AARTS89). 7. Systemy Mrowiskowe (ACO) (DORIGO91). 3 Istnieje wiele kryteriów klasyfikacji, czy też podziału tych algorytmów. W tej pracy wyróżnimy cztery główne: (a) tworzące rozwiązania (konstrukcyjne) (a1) w przeciwieństwie do algorytmów ulepszających je (a2) (b) niestrukturalne (b1) w przeciwieństwie do strukturalnych (b2) metod przeszukiwania przestrzeni rozwiązań (c) budujące pojedyncze rozwiązanie (c1) w przeciwieństwie do populacji rozwiązań (c2) (d) nie wykorzystujących pamięci (d1) w przeciwieństwie do wykorzystujących pamięć algorytmów (d2) Należy tu wyjaśnić punkt (b). Struktura przestrzeni przeszukiwań odwołuje się do takich definicji jak: odległość, metryka, sąsiedztwo, co wykorzystywane jest w klasycznych heurystykach, jak np. algorytm zachłanny, wykorzystujący odległość Hamminga lub minimalną liczbę wymian i definiujący sąsiedztwo rozwiązań, co uzyskuje się przez „właściwe ruchy” wykonywane w przestrzeni przeszukiwań. Rozważając tylko trzy pierwsze cechy można uzyskać następujący podział: b1–c1 b1–c2 b2–c1 b2–c2 a1 NN MS GR ACO a2 BM ET,ES SA,TS SC 4