Problem Komiwojażera - algorytmy metaheurystyczne algorytm mrówkowy algorytm genetyczny by Bartosz Tomeczko. All rights reserved. 2010.
TSP dlaczego metaheurystyki i heurystyki? TSP Travelling Salesman Problem liczba rozwiązań: Dla 5 miast: 12 możliwych permutacji Dla 10 miast: N 1! l= 2 181 440 możliwych permutacji Dla 50 miast: 10 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 możliwych permutacji
Algorytm mrówkowy Algorytm wykorzystuje zachowanie mrówek tj. sposób ich zachowania w przemieszczaniu się.
Konstrukcja mrówki
Sytuacja
Sytuacja
Sytuacja
Algorytm mrówkowy Mrówka porusza się ze stałą szybkością, mrówka generuje po sobie ślad feromonowy, feromon paruje (znika), mrówka idzie po śladzie feromonowym z pewnym prawdopodobieństwem.
Po przejściu jednej mrówki
Po przejściu wielu mrówek
Algorytm mrówkowy Okazuje się, że ścieżka, na której jest najwięcej feromonu, jest ścieżką najkrótszą.
Mrówka Każda z mrówek wyposażona jest ponadto w pamięć. dwie listy: odwiedzone punkty (na początku pusta), nieodwiedzone punkty (na początku wypełniana), pamięć ta wykorzystywana jest do odtworzenia śladu mrówki (np. najkrótszej ścieżki dla TSP).
Poruszanie się mrówki Mrówka wybiera drogę do nieodwiedzonego jeszcze miasta dla którego wartość równania ij t ij jest największa z prawdopodobieństwem q. Zatem z prawdopodobieństwem 1-q mrówka wybierze miasto nieodwiedzone, które nie spełnia powyższego postulatu.
Poruszanie się mrówki ij t ij W równaniu tym: ij oznacza ślad feromonowy związany z umieszczeniem miasta j-tego jako i-tego w ułożeniu, ij oznacza wskaźnik powiązany z wybraną heurystyką, oznacza parametr, który determinuje, jak duży jest wpływ heurystyki na działanie mrówki.
Wskaźnik ij Zastosować można trzy metody obliczające wskaźnik : 1.Najwcześniejszy termin zakończenia zadania (EDD): =1/d, ij j 2.Modyfikowany termin zakończenia zadania (MDD): 1 = max {C p, d }, gdzie C oznacza sumę zadań już uporządkowanych, ij j j 3.Określonej ważności (AU): ij = 1 wj max {d j C j, 0} exp pj k p, gdzie p oznacza średni czas wykonania wszystkich nieuszeregowanych zadań a k to dodatkowy parametr regulacyjny.
Parowanie feromonu Feromon paruje z podłoża, feromon może parować liniowo (o x jednostek w jednostce czasu), feromon może parować wykładniczo (x < 1) t 1 = t x można zaproponować samodzielnie zaprojektowaną charakterystykę parowania feromonu z podłoża.
Parametry regulacyjne Dla przestawionego algorytmu dobierać można w różne sposoby parametry regulacyjne (prawdopodobieństwa, współczynniki), należy zbadać, jaki jest wpływ każdego z parametrów na wyniki dawane przez algorytm, należy zbadać, jaka ilość mrówek daje rozwiązanie zadowalające (kiedy zwiększanie ilości mrówek nieznacznie poprawia wynik dawany przez algorytm), należy zbadać, jaki wpływ ma ilość miast w instancji problemu na czas rozwiązania i ilość potrzebnej pamięci do rozwiązania problemu.
Algorytm genetyczny Jeden z algorytmów ewolucyjnych, przypomina zjawisko ewolucji biologicznej.
Algorytm genetyczny Dane jest pewne środowisko badań.
Algorytm genetyczny Dane jest pewne środowisko badań. W środowisku umieszczane są osobniki.
Osobnik Każdy z osobników zawiera w sobie pewne informacje (np. pewną permutację miast dla problemu TSP).
Algorytm genetyczny Część z osobników ma cechy lepsze ewolucyjnie (np. są większe, mają dłuższe kły bądź zawierają informację o krótszych drogach (dla TSP)) ta część populacji nadaje się do rozmnażania, pozostała część populacji nie bierze udziału w reprodukcji* (osobniki słabe, małe, z małymi kłami i długimi ścieżkami), * - zasada ta jest zachowana z pewnym prawdopodobieństwem p.
Algorytm genetyczny Zatem rozmnażaniu podlegają osobniki najlepsze*.
Rozmnażanie permutacji? Tak i to prostsze niż u ludzi. Krzyżowanie osobników: dziecko posiada część informacji od obojga rodziców, kilka możliwości krzyżowania, * - z prawdopodobieństwem p osobniki z puli do rozmnażania biorą udział w rozmnażaniu, zatem z prawdopodobieństwem 1-p udział w rozmnażaniu biorą osobniki spoza puli oznaczonej na zielono.
Selekcja osobników do krzyżowania Metoda ruletki (prostsza, biorą w niej udział wszystkie osobniki).
Selekcja osobników do krzyżowania Metoda rankingowa, wybierany jest pewien procent całej populacji (najlepsza część całej populacji), który bierze udział w krzyżowaniu i rozmnażaniu,
Mutacje Aby zapobiegać przedwczesnej zbieżności algorytmu, stosuje się mutacje, zmiany o małym prawdopodobieństwie zachodzące w pojedynczym osobniku przy tworzeniu (prawdopodobieństwo zajścia mutacji jest na poziomie 1%), dla TSP może to być np. zamiana dwóch losowych miast ze sobą,