Ewolucyjna metoda rozwiazywania dynamicznego problemu
Transkrypt
Ewolucyjna metoda rozwiazywania dynamicznego problemu
Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Patryk Filipiak Seminarium ZMN 29 listopada 2011 Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem statyczny Definicja i przykłady zastosowania Metody rozwiazania ˛ Problem dynamiczny Definicja i przykłady zastosowania Metody rozwiazania ˛ Algorytm CHC Opis algorytmu Adaptacja i modyfikacje Eksperymenty Problem testowy I Problem testowy II Podsumowanie Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu statycznego Problem komiwojażera (ang. Travelling Salesman Problem, TSP) to problem wyznaczenia minimalnego cyklu Hamiltona w pełnym grafie ważonym o n > 0 wierzchołkach. I sformułowany w XIX w. (W. R. Hamilton), I NP – trudny, I prace badawcze od 1930r. (Applegate, Bixby, Chvatal, Cook, 2007) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Problem symetryczny i asymetryczny Niech: G = (V , E , δ ); u, v ∈ V ; (u , v ), (v , u ) ∈ E ; I symetryczny TSP: δ (u , v ) = δ (v , u ), I asymetryczny TSP: δ (u , v ) 6= δ (v , u ). Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera δ (., .) – waga. Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Problem z oknami czasowymi Niech G = (V , E , δ ) jak uprzednio, V = {v0 , v1 , . . . , vn−1 }. I v0 – wyróżniony wierzchołek startowy, I δ (vi , vj ) > 0 – czas dotarcia z wierzchołka vi do vj (i 6= j), [ei , li ] – okno czasowe (ei < li ; i = 1, . . . , n − 1): I I I I vi jest uznany za odwiedzony nie wcześniej niż w chwili ei , vi nie może być odwiedzony później niż w chwili li , dopuszczalne jest dotarcie przed chwila˛ ei oraz oczekiwanie. (Savelsbergh, 1985) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Przykłady zastosowania Lata 40-te XX wieku I organizacja ruchu autobusów szkolnych, I transport maszyn do badania jakości gleby. Obecnie I serwisowanie urzadze ˛ ń u klienta, I dostarczanie przesyłek kurierskich, I automatyzacja wiercenia otworów w płytkach drukowanych. (www.tsp.gatech.edu) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Metody rozwiazania ˛ Metody rozwiazania ˛ Metody dokładne Bardzo mało wydajne (stosowane dla szczególnych przypadków), np. I metoda pełnego przegladu, ˛ I programowanie dynamiczne. Metody heurystyczne I 2-opt, I algorytmy mrówkowe (ang. ant colony), I przeszukiwanie tabu (ang. tabu search), I algorytmy ewolucyjne, I i inne. Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu dynamicznego Dynamiczny problem komiwojażera (ang. Dynamic TSP, DTSP) to uogólnienie problemu komiwojażera, w którym: I Struktura grafu może zmieniać sie˛ w czasie poprzez: I I I zmiane˛ wagi krawedzi, ˛ dodanie wierzchołka, usuniecie ˛ wierzchołka. I Zmiany maja˛ charakter losowy. I Czas mierzony jest w równych odstepach ˛ (t = 1, . . . , τ ). (Psaraftis, 1988) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu dynamicznego Dynamiczny problem komiwojażera (ang. Dynamic TSP, DTSP) to uogólnienie problemu komiwojażera, w którym: I Struktura grafu może zmieniać sie˛ w czasie poprzez: I zmiane˛ wagi krawedzi, ˛ I dodanie wierzchołka, usuniecie ˛ wierzchołka. I I Patryk Filipiak I Zmiany maja˛ charakter losowy. Czas mierzony jest w równych odstepach ˛ (t = 1, . . . , τ ). Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu dynamicznego Dynamiczny problem komiwojażera (ang. Dynamic TSP, DTSP) to uogólnienie problemu komiwojażera, w którym: I Struktura grafu może zmieniać sie˛ w czasie poprzez: I zmiane˛ wagi krawedzi, ˛ dodanie wierzchołka, I usuniecie ˛ wierzchołka. I Zmiany maja˛ charakter losowy. Patryk Filipiak I Czas mierzony jest w równych odstepach ˛ (t = 1, . . . , τ ). I Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu dynamicznego Dynamiczny problem komiwojażera (ang. Dynamic TSP, DTSP) to uogólnienie problemu komiwojażera, w którym: I Struktura grafu może zmieniać sie˛ w czasie poprzez: I I I I Patryk Filipiak I zmiane˛ wagi krawedzi, ˛ dodanie wierzchołka, usuniecie ˛ wierzchołka. Zmiany maja˛ charakter losowy. Czas mierzony jest w równych odstepach ˛ (t = 1, . . . , τ ). Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Definicja problemu dynamicznego Dynamiczny problem komiwojażera (ang. Dynamic TSP, DTSP) to uogólnienie problemu komiwojażera, w którym: I Struktura grafu może zmieniać sie˛ w czasie poprzez: I I I zmiane˛ wagi krawedzi, ˛ dodanie wierzchołka, usuniecie ˛ wierzchołka. I Zmiany maja˛ charakter losowy. I Czas mierzony jest w równych odstepach ˛ (t = 1, . . . , τ ). (Psaraftis, 1988) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Przykłady dynamizmu w zastosowaniach TSP Dynamiczny problem marszrutacji (DVRP) Krawedzie ˛ grafu reprezentuja˛ drogi/kanały łaczności, ˛ a wagi – przepustowość (w chwili t). I planowanie tras przejazdu m pojazdów, którymi należy dotrzeć do n klientów, I planowanie propagacji m danych do n adresatów, (Larsen, 2001) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Definicja i przykłady Przykłady dynamizmu w zastosowaniach TSP Dynamiczny problem wytyczania trasy robotów (DTRP) I wytyczanie tras transportu towarów, I zmienne warunki środowiska: I I I obciażenie, ˛ długości tras, etc. (Sariel-Talay et al., 2009) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Metody rozwiazania ˛ Metody rozwiazania ˛ Jedynym znanym sposobem jest adaptacja heurystycznych metod dla problemu statycznego. I iterowany problem statyczny I I I I wysoki koszt obliczeń (zwłaszcza przy niewielkich zmianach środowiska), wielokrotne obliczanie tego samego, metoda: bardzo szybki i skuteczny algorytm (nieznany). kontynuacja obliczeń w zmodyfikowanym środowisku I I I niska reaktywność na zmiany, ryzyko popadania w ekstrema lokalne, ˛ na zmiany (np. IDEA, CHC). metoda: algorytm szybko reagujacy Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Metody rozwiazania ˛ Badania nad DTSP I Institut national de recherche en informatique et en automatique (INRIA), Francja I I I Universidade de Coimbra, Portugalia I I algorytmy genetyczne (Simoes et al., 2011). Universitat Leipzig, Niemcy I I algorytmy PSO (Creput et al., 2011), sieci neuronowe (Khouadjia et al., 2011). algorytmy mrówkowe (Guntsch et al., 2004). wiele innych Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Opis algorytmu Algorytm CHC Cross-generational elitist selection, Heterogeneous recombination, and Cataclysmic mutation Algorytm genetyczny, w którym: (C) Najlepszy osobnik pozostaje w populacji w postaci niezmienionej. (H) Krzyżowaniu podlegaja˛ jedynie „odległe genetycznie” osobniki (unikanie kazirodztwa). (C) Reinicjalizacja niemal całej populacji w ramach mutacji. (Eshelman, 1991) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Opis algorytmu Algorytm CHC – selekcja Odległość Hamminga (dla chromosomów) Liczba alleli (np. bitów), na których różnia˛ sie˛ dwa chromosomy. 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 , dH = 4. Mechanizm selekcji I ˛ sa˛ losowo w pary. Wszystkie osobniki w populacji łaczone I Pary, dla których odległość Hamminga nie przekracza wartości progrowej d > 0, nie biora˛ udziału w krzyżowaniu. Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Opis algorytmu Algorytm CHC – krzyżowanie I Wybierana jest losowo połowa spośród różniacych ˛ sie˛ par alleli. I 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 Wartości sa˛ wzajemnie wymieniane. I 1 1 1 1 1 0 0 0 1 1 1 0 Odległość Hamminga dla potomków jest taka jak dla rodziców. Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Opis algorytmu Algorytm CHC – reinicjalizacja Operacja wykonywana zamiast mutacji: I W populacji pozostaje wyłacznie ˛ najlepszy osobnik. I Pozostałe osobniki powstaja˛ poprzez skopiowanie najlepszego i każdorazowe ustawienie losowych wartości w r > 0 losowo wybranych allelach. Dla chromosomów długości L > 0: I wartość r bliska 0 – bardzo szybka zbieżność, popadanie w minima lokalne; I wartość r bliska L – bardzo wolna zbieżność, duże zróżnicowanie populacji; Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Opis algorytmu Algorytm CHC Parametry: I d – wartość progowa dla odległości Hamminga, I L – długość chromosomu. I r – liczba alleli mutowanych przy reinicjalizacji. i = 0; d = L/4; Initialize(P0 ) while not TerminationCondition(Pi ) do Evaluate(Pi ) Pi0 = Selection(Pi ) if Pi0 6= 0/ then Ci = Crossover(Pi0 ) Evaluate(Ci ) Pi +1 = Reinitialize(Pi ∪ Ci , r ) d = L/4 else d = d −1 end if i = i +1 end while Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Adaptacja i modyfikacje Adaptacja algorytmu CHC do problemu (D)TSP Kodowanie rozwiazania ˛ w postaci binarnej nie pozwala na efektywna˛ reprezentacje˛ cyklu w grafie. Kodowanie Chromosom jako permutacja numerów wierzchołków, np. (4, 1, 3, 2, 5) n=6 Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera n=5 Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Adaptacja i modyfikacje Adaptacja algorytmu CHC do problemu (D)TSP Krzyżowanie Powszechnie stosowane metody: I ( 1 ( 8 2 5 3 1 4 7 CX, I OX. 6 9 7 2 8 3 9 ) 6 ) 9 6 . 2 8 3 . ) . ) 9 6 8 2 1 3 2 ) 8 ) ↓ ( 1 ( 8 2 . 3 1 7 4 ( 3 ( 1 5 7 6 9 7 4 4 5 ↓ PMX, I 5 4 4 5 metoda OX Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Adaptacja i modyfikacje Algorytm iCHC START TRUE Termination Condition? STOP FALSE TRUE Reintialize population Change detected? FALSE CHC step (Simoes et al., 2011) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Adaptacja i modyfikacje Algorytmy RICHC oraz EICHC START START TRUE Termination Condition? TRUE STOP FALSE Termination Condition? STOP FALSE CHC step CHC step Add random immigrants Add elite immigrants Re-evaluate & Reduce Re-evaluate & Reduce (Simoes et al., 2011) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Adaptacja i modyfikacje Proponowane modyfikacje Zrealizowane I zmodyfikowana reinicjalizacja (wiecej ˛ niż jeden najlepszy osobnik w populacji), I różne metody krzyżowania, I połaczenie ˛ algorytmów iCHC, RICHC, EICHC. Planowane I mutacja 2-opt, I podejście predyktywne, I uwzglednienie ˛ okien czasowych, I zrównoleglenie obliczeń (CUDA). Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy I Problem testowy I Ewolucyjna metoda dynamizacji problemów testowych: I Bierzemy statyczny problem testowy (np. z TSPLIB, University of Heidelberg). I Uruchamiamy dla niego dowolny algorytm ewolucyjny. I W ustalonych momentach t = 1, . . . , τ/2 wykonujemy losowo: I I I I I zwiekszenie ˛ wagi krawedzi ˛ na ścieżce najlepszego osobnika, zmniejszenie wagi krawedzi ˛ poza ścieżka˛ najlepszego osobnika, usuniecie ˛ losowego wierzchołka grafu, dodanie wierzchołka w grafie. W momentach t = τ/2 + 1, . . . , τ powtarzamy zmiany w odwrotnym porzadku. ˛ (Younes et al., 2003) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy I Problem testowy I Zalety I zmiany każdorazowo istotnie wpływaja˛ na „położenie” ekstremum, I wymóg dużej reaktywności na zmiany, I znane rozwiazanie ˛ dla chwil t = 0 oraz t = τ . Wady I brak determinizmu – testu nie da sie˛ powtórzyć, I kłopot z porównywaniem uzyskanych wyników. Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy I Funkcja celu: Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera I iCHC I EICHC I RICHC I mixed-CHC Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy I Funkcja celu: Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera I iCHC I EICHC I RICHC I mixed-CHC Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy II Problem testowy II Zmodyfikowany problem testowy I: I Przeprowadzamy procedure˛ testowa˛ I dla bardzo dużej populacji i przy „bardzo wolno płynacym ˛ czasie” (długie interwały czasowe). I Zapisujemy historie˛ zmian środowiska i odtwarzamy w badanych problemach testowych. Zalety i wady I możliwość powtarzania eksperymentu i porównywania wyników, I zmiany nie musza˛ bezpośrednio dotyczyć aktualnie eksplorowanych obszarów. Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy II Funkcja celu: Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera I iCHC I EICHC I RICHC I mixed-CHC I best Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Problem testowy II Funkcja celu: Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera I iCHC I EICHC I RICHC I mixed-CHC I best Uniwersytet Wrocławski Problem statyczny Problem dynamiczny Algorytm CHC Eksperymenty Podsumowanie Podsumowanie I (D)TSP, jego modyfikacje i uogólnienia sa˛ wciaż ˛ badane w wielu ośrodkach naukowych. I Poszukiwanie rozwiaza ˛ ń dla problemów dynamicznych przy użyciu inteligencji obliczeniowej prowadzone jest od stosunkowo niedawna, dlatego wiele pozostaje jeszcze do zrobienia. I Zrównoleglenie obliczeń przy użyciu CUDA może przynieść zauważalny wzrost wydajności. (Chen, Davis, Jiang, Novobilski, “CUDA-based genetic algorithm on Traveling Salesman Problem”, 2011) Patryk Filipiak Ewolucyjna metoda rozwiazywania ˛ dynamicznego problemu komiwojażera Uniwersytet Wrocławski