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

Podobne dokumenty