Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia 2014, Sosnowiec
Plan prezentacji Problem komiwojażera i jego dynamiczna wersja Klasyczny algorytm PSO Dyskretna wersja algorytmu PSO Adaptacja do problemu DTSP Dodanie macierzy feromonowej Zastosowanie nowego sąsiedztwa Przeszukiwanie lokalne Wyniki eksperymentów Podsumowanie Dalsze kierunki badań 2/23
TSP Definicja Klasyczny problem TSP można zdefiniować następująco: w pełnym grafie ważonym: G = (V, E), gdzie V jest zbiorem wierzchołków, E jest zbiorem krawędzi oraz D jest macierzą odległości znajdź minimalny cykl Hamiltona. a b c d e a 0 412 707 509 854 b 0 300 223 565 c 0 282 412 d 0 360 e 0 a 412 854 b d 300 282 360 c e 3/23
DTSP Definicja W przeciwieństwie do klasycznego problemu TSP w wersji dynamicznej, odległość jest przedmiotem zmian. Formalnie problem może być opisany poniższym równaniem: D(t) = {d ij (t)} n(t) n(t), (1) gdzie: D jest macierzą odległości, t oznacza czas - parametr, który jest modyfikowany po każdej zmianie. W pracy rozpatrywana jest tylko wersja ze zmianą odległości. 4/23
DTSP Środowisko testowe Test algorytmu rozwiązującego problem DTSP w przypadku zmiany tylko odległości między miastami wygląda następująco: Algorytm 1: Środowisko testowe DTSP Przeczytaj współrzędne miast while Kryterium stopu do Inicjuj algorytm Rozwiąż problem TSP Porównaj otrzymane rozwiązanie z optimum Zmień dane - n% // TSPLIB 5/23
DTSP Przykład Optimal tour Optimal tour 1200 1200 1000 1000 800 800 600 600 400 400 200 200 0 0-200 0 200 400 600 800 1000 1200 1400 1600 1800-200 0 200 400 600 800 1000 1200 1400 1600 1800 Rysunek: Po lewej stronie wizualizacja trasy optymalnej zmodyfikowanego problemu, po prawej stronie kolorem czerwonym zaznaczono krawędzie, którymi różni się rozwiązanie optymalne sprzed zmian w stosunku do rozwiązania po zmianach. 6/23
PSO Klasyczne równanie Wzory opisujące ruch cząsteczek po przestrzeni rozwiązań są następujące: v k+1 i ω v k i + U(0, φ 1 ) ( pbest x k i ) + U(0, φ 2 ) ( gbest x k i ) (2) x k+1 i x k i + v i k+1 gdzie: v to prędkość cząsteczki, x to pozycja cząsteczki, gbest to najlepsza pozycja stada, pbest to najlepsza pozycja cząsteczki, i to numer cząsteczki, k to numer iteracji, rand() to wartość losowa [0, 1], ω to wartość bezwładności, c 1 to parametr kognitywny, c 2 to parametr społeczny. 7/23
PSO Przykład działania Optimum 1 0-1 3 2 3 2 1 0-1 0 1-1 -2-3 -3-2 Rysunek: Ruch cząsteczek po przestrzeni rozwiązań. 8/23
DPSO Adaptacja do TSP Algorytm DPSO zaproponowany przez Zhonga 1 działa opierając się na zmienionym pojęciu krawędzi: definiuje się ją jako (a, x, y), gdzie: a oznacza prawdopodobieństwo wybrania krawędzi. Jest wartością z przedziału [0, 1] x oraz y są końcami krawędzi (a, x, y) = (a, y, x). Krawędź (2,3) z prawdopodobieństwem wyboru 0.4 przyjmuje postać (0.4, 2, 3). Prawdopodobieństwo wyboru krawędzi używane jest, gdy algorytm jest w fazie selekcji omówionej w dalszej części prezentacji. 1 Wen-liang Zhong and Jun Zhang and Wei-neng Chen 9/23
DPSO Ruch cząsteczek Poniżej znajduje się równanie opisujące ruch cząsteczki w przestrzeni dyskretnej. V k+1 i = c 2 rand() (gbest X k i ) + c 1 rand() (pbest X k i ) (3) + w V k i X k+1 i = V k+1 i c 3 rand() Xi k gdzie: V, X to kolejna prędkość cząsteczki i jej kolejna pozycja, gbest i pbest to zbiory zawierające najlepsze cykle Hamiltona: znalezione w całym roju oraz znalezione przez cząsteczkę i, c 1 i c 2, c 3, ω to wartości skalujące prawdopodobieństwo, że krawędź należąca do danego zbioru będzie w kolejne pozycji cząsteczki. 10/23
DPSO Algorytm działania 1. W pierwszym kroku obliczana jest prędkość cząsteczki V i. 2. W drugim kroku wybierane są krawędzie z V i, zgodnie z ich prawdopodobieństwem wyboru a. 3. Następnie wybierane są krawędzie z X i, zgodnie z ich prawdopodobieństwem wyboru a. 4. Jeśli poprzednie dwa kroki nie utworzą cyklu Hamiltona, brakujące krawędzie zostaną dodane poprzez heurystykę najbliższego sąsiada. Dodana krawędź nie może tworzyć sub-cykli. Wierzchołek nie może wystąpić więcej niż 2 razy. 11/23
Modyfikacje DPSO Zastosowanie feromonu Pierwszą modyfikacją, którą zastosowałem jest dodanie feromonu do algorytmu DPSO. Wykorzystywany jest jako atraktor lub repelent dla krawędzi, które wpływają bądź nie wpływają na poprawę najlepszego rozwiązania. Po każdej zmianie danych, macierz feromonowa jest kopiowana z poprzedniego rozwiązania. Wartość wzmocnienia prawdopodobieństwa wyboru krawędzi do następnej pozycji obliczana jest na podstawie wzoru: τ k v = (P e 0.5) k k c (4) gdzie: e oznacza wzmacnianą krawędź, P e to wartość odczytana z macierzy feromonowej, k oznacza numer iteracji, k c to liczba wszystkich iteracji. 12/23
Modyfikacje DPSO Sąsiedztwo Drugą modyfikacją jest zastosowanie sąsiedztwa bazującego na pojęciu min 1-cyklu 2. Tworzenie go odbywa się w dwóch krokach. 1. Wyznaczamy MST z n 1 wierzchołków. 2. Łączymy dwoma najkrótszymi krawędziami powstałe drzewo z pominiętym wierzchołkiem. Metoda Ascent zaproponowana przez Helsgauna ma na celu przekształcenie min 1-cyklu w cykl Hamiltona. 1 4 1 4 2 2 3 3 6 5 6 5 2 Keld Helsgaun 13/23
Modyfikacje DPSO Sąsiedztwo Odległość między sąsiednimi wierzchołkami liczona jest na podstawie α - miary. Jest ona określona następująco: gdzie: α(i, j) = L(T + (i, j)) L(T ) (5) L oznacza sumę wag krawędzi min 1-cyklu, T to min 1-cykl pochodzący z metody Ascent, T + oznacza min 1-cykl z krawędzią (i, j). Każdej krawędzi przypisywana jest jej α wartość. Po sortowaniu tych wartości powstaje sąsiedztwo stosowane w pracy. 14/23
Modyfikacje DPSO Przeszukiwanie lokalne Uruchomienie przeszukiwania lokalne zazwyczaj poprawia jakość rozwiązania. Zastosowanie tej metody może spowodować przedwczesną zbieżność, tym samym algorytm może zatrzymać się na optimum lokalnym. Algorytm k-algorytm ma złożoność O(n k ). Ze względu na najkorzystniejszy stosunek skrócenia długości trasy do czasu obliczeń, najczęściej wybiera się algorytm k 3. 15/23
Badania Algorytmu DPSO Eksperymenty wykonano dla następujących ustawień: c 1 = 0.5, c 2 = 0.5, c 3 = 0.5, ω to: berlin52-0.2, kroa100 i gr202-0.5, i - liczba iteracji, berlin52 = 52 6, kroa100=100 7, gr202=202 12, n s - rozmiar stada, berlin52 = 30, kroa100=60, gr202=80. Eksperymenty uruchomiono na komputerze z procesorem i7 o taktowaniu 3.2 GHz oraz wyposażonego w 12 GB pamięci ram. Komputer działa pod kontrolą system operacyjnego Microsoft Windows Server 2008 R2. Wszystkie testu uruchomiono na jednym rdzeniu. 16/23
Badania Warianty przeszukiwania Bez przesz. Warianty przeszukiwania lokalnego Problem lokalnego Każda iter. Co 30 iter. Co 50 iter. Czas Opt. Czas Opt. Czas Opt. Czas Opt. berlin52 0.22 0 0.3 0 0.19 0 0.19 0 kroa100 2.74 0.867 6.28 0 2.95 0.006 2.49 0.01 eil101 1.3 0.258 3.88 0.159 1.38 0.178 1.26 0.22 kroa200 9.68 2.065 38.83 0 11.87 0.016 11.42 0.033 gr202 14.71 1.669 38.47 0.032 18.47 0.077 18.38 0.129 ch130 2.53 1.766 6.9 0.021 2.99 0.098 2.96 0.106 gil262 18.17 2.057 55.61 0.106 22.65 0.247 23.2 0.261 pcb442 118,39 2,646 332,5 0,217 136,4 0,385 123,11 0,415 gr666 275,87 4,131 664,06 0,145 315,25 0,461 321,34 0,457 17/23
Badania Zbieżność algorytmu Rysunek: Charakterystyka zbieżności dla problemu gr202 18/23
Badania Wyniki z LS Problem Proc. zmian Licz. iter. Czas [s] Odległość od opt. [%] LS- LS+ LS- LS+ berlin52 0% 1 0,25 0,25 0 0 berlin52 3% 11 0,24 0,24 0,01 0 berlin52 5% 11 0,26 0,26 0,4 0,07 berlin52 10% 11 0,25 0,26 0,17 0 berlin52 20% 11 0,26 0,27 0,36 0,02 kroa100 0% 1 2,37 2,42 1,04 0 kroa100 3% 11 2,51 2,52 0,87 0,02 kroa100 5% 11 2,25 2,55 1,07 0,02 kroa100 10% 11 2,45 2,55 1,22 0,03 kroa100 20% 11 2,56 2,33 1,17 0,02 gr202 0% 1 26,14 24,82 1,93 0,05 gr202 3% 11 25,98 25,57 1,59 0,15 gr202 5% 11 25,23 25,12 1,58 0,11 gr202 10% 11 24,73 24,53 1,36 0,07 gr202 20% 11 20,18 20,69 1,38 0,11 19/23
Badania Podsumowanie Przeszukiwanie lokalne często stosuje się jako metoda poprawiająca jakość rozwiązania. Znacznie przyspieszyła zbieżność do optimum, zarówno dla wersji statycznej jak i dynamicznej. Algorytm nie ma tendencji do wpadania w lokalne optimum co zostało pokazane w badaniach. Największą wadą jest wzrost czasu obliczeń, pomimo tego iż zastosowano przyspieszoną wersję dedykowaną dla symetrycznego problemu. Proponowane rozwiązanie, dzięki feromonowi nie zaczyna przeszukiwania pełnej przestrzeni rozwiązań, a skupia się na poprawie najlepszych rozwiązań, co znacząco wpływa na odległość od optimum. 20/23
Dalsze prace W najbliższej przyszłości chcemy skupić się na następujących zagadnieniach: porównanie z algorytmami: ILS i ACO, propozycja nowego algorytmu dla metody Ascent, dalsze wykorzystanie teorii tolerancji w celu zwiększenia zysku związanego z kopiowaniem macierzy feromonowej. 21/23
Dalsze prace Bibliografia I K. Helsgaun. An effective implementation of k-opt moves for the linkernighan tsp heuristic. Technical report, Roskilde University, 2006. W. liang Zhong, J. Zhang, and W. neng Chen. A novel set-based particle swarm optimization method for discrete optimization problems. In Evolutionary Computation, 2007. CEC 2007, volume 14, pages 3283 3287. IEEE, 1997. 22/23
Dalsze prace Dziękuję za uwagę 23/23