Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Podobne dokumenty
Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Wyznaczanie optymalnej trasy problem komiwojażera

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Wybrane podstawowe rodzaje algorytmów

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Algorytmika Problemów Trudnych

Wykład 4. Droga i cykl Eulera i Hamiltona

a) 7 b) 19 c) 21 d) 34

Algorytmy mrówkowe w dynamicznych problemach transportowych

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

Metody Programowania

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Techniki optymalizacji

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

SZTUCZNA INTELIGENCJA

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Analiza stanów gry na potrzeby UCT w DVRP

Obliczenia inspirowane Naturą

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Zaawansowane programowanie

Programowanie dynamiczne cz. 2

ALHE. prof. Jarosław Arabas semestr 15Z

Algorytmy wyznaczania centralności w sieci Szymon Szylko

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Minimalne drzewa rozpinające

Techniki optymalizacji

Problemy z ograniczeniami

TEORIA GRAFÓW I SIECI

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Obliczenia iteracyjne

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Techniki optymalizacji

Rozdział 8 PROGRAMOWANIE SIECIOWE

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Rozwiązywanie równań nieliniowych

Dobór parametrów algorytmu ewolucyjnego

Matematyczne Podstawy Informatyki

Optymalizacja. Wybrane algorytmy

Matura próbna 2014 z matematyki-poziom podstawowy

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Algorytmy zrandomizowane

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Sprawozdanie do zadania numer 2

Jak trudne jest numeryczne całkowanie (O złożoności zadań ciągłych)

Instrukcja projektowa cz. 2

Priorytetyzacja przypadków testowych za pomocą macierzy

Optymalizacja. Przeszukiwanie lokalne

Złożoność obliczeniowa zadania, zestaw 2

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Algorytmy estymacji stanu (filtry)

Matematyka dyskretna

Metody przeszukiwania

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Harmonogramowanie przedsięwzięć

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Algorytm grupowania danych typu kwantyzacji wektorów

5. Najkrótsze ścieżki

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

zajęcia 1. Bartosz Górski, Tomasz Kulczyński, Błażej Osiński

Optymalizacja a uczenie się

Programowanie celowe #1

TEORIA GRAFÓW I SIECI

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO)

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Programowanie sieciowe. Tadeusz Trzaskalik

Stochastyczne zagadnienie rozdziału z dyskretnym rozkładem popytu

PDM 3 zakres podstawowy i rozszerzony PSO

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

OPTYMALIZACJA W LOGISTYCE

Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

Transkrypt:

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