Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w

Transkrypt

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w
Algorytm dyskretnego PSO z przeszukiwaniem
lokalnym w problemie dynamicznej wersji TSP
Łukasz Strąk
[email protected]
Uniwersytet Śląski,
Instytut Informatyki,
Będzińska 39,
41-205 Sosnowiec
9 grudnia 2014, Sosnowiec
|Plan prezentacji
I
Problem komiwojażera i jego dynamiczna wersja
I
Klasyczny algorytm PSO
I
Dyskretna wersja algorytmu PSO
I
Adaptacja do problemu DTSP
I
I
Dodanie macierzy feromonowej
Zastosowanie nowego sąsiedztwa
I
Przeszukiwanie lokalne
I
Wyniki eksperymentów
I
Podsumowanie
I
Dalsze kierunki badań
2/23
TSP
|Definicja
Klasyczny problem TSP można zdefiniować następująco:
I
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
I
znajdź minimalny cykl Hamiltona.
300
412
c
b
a
28
2
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
d
36
0
854
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) = {dij (t)}n(t)×n(t) ,
(1)
gdzie:
I D jest macierzą odległości,
I 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
-200
0
200
400
600
800
1000
1200
1400
1600
1800
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:
~vik+1 ← ω~vik
~ (0, φ1 ) ⊗ (pBest
~ − ~xk )
+U
i
~ (0, φ2 ) ⊗ (gBest
~ − ~xki )
+U
~xk+1
i
←
~xki
(2)
+ ~vik+1
gdzie:
I ~v to prędkość cząsteczki,
I ~x to pozycja cząsteczki,
I gBest to najlepsza
pozycja stada,
I pBest to najlepsza
pozycja cząsteczki,
I
I
I
I
I
I
i to numer cząsteczki,
k to numer iteracji,
rand() to wartość losowa [0, 1],
ω to wartość bezwładności,
c1 to parametr kognitywny,
c2 to parametr społeczny.
7/23
PSO
|Przykład działania
Optimum
1
0
-1
3
2
3
1
2
0
1
-1
0
-1
-2
-2
-3
-3
Rysunek: Ruch cząsteczek po przestrzeni rozwiązań.
8/23
DPSO
|Adaptacja do TSP
Algorytm DPSO zaproponowany przez Zhonga1 działa
opierając się na zmienionym pojęciu krawędzi:
I definiuje się ją jako (a, x, y), gdzie:
I
I
I
1
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).
I
Krawędź (2,3) z prawdopodobieństwem wyboru 0.4
przyjmuje postać (0.4, 2, 3).
I
Prawdopodobieństwo wyboru krawędzi używane jest, gdy
algorytm jest w fazie selekcji omówionej w dalszej części
prezentacji.
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.
Vik+1 = c2 rand() · (gBest − Xik )
+ c1 rand() · (pBest − Xik )
+ w · Vik
Xik+1 = Vik+1 ⊕ c3 rand()
(3)
· Xik
gdzie:
I V , X to kolejna prędkość cząsteczki i jej kolejna pozycja,
I gBest i pBest to zbiory zawierające najlepsze cykle Hamiltona:
znalezione w całym roju oraz znalezione przez cząsteczkę i,
I c1 i c2 , c3 , ω 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 Vi .
2. W drugim kroku wybierane są krawędzie z Vi , zgodnie z ich
prawdopodobieństwem wyboru a.
3. Następnie wybierane są krawędzie z Xi , 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.
I
Dodana krawędź nie może tworzyć sub-cykli.
I
Wierzchołek nie może wystąpić więcej niż 2 razy.
11/23
Modyfikacje DPSO
|Zastosowanie feromonu
I
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.
I
Po każdej zmianie danych, macierz feromonowa jest kopiowana z
poprzedniego rozwiązania.
I
Wartość wzmocnienia prawdopodobieństwa wyboru krawędzi do
następnej pozycji obliczana jest na podstawie wzoru:
∆τvk = (Pe − 0.5) ·
k
kc
(4)
gdzie:
I e oznacza wzmacnianą krawędź,
I Pe to wartość odczytana z macierzy feromonowej,
I k oznacza numer iteracji,
I kc to liczba wszystkich iteracji.
12/23
Modyfikacje DPSO
|Sąsiedztwo
Drugą modyfikacją jest zastosowanie sąsiedztwa bazującego
na pojęciu min 1-cyklu2 . 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
1
4
4
2
2
3
3
6
2
Keld Helsgaun
5
6
5
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:
α(i, j) = L(T + (i, j)) − L(T )
(5)
gdzie:
I L oznacza sumę wag krawędzi min 1-cyklu,
I T to min 1-cykl pochodzący z metody Ascent,
I 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
I
Uruchomienie przeszukiwania lokalne zazwyczaj poprawia
jakość rozwiązania.
I
Zastosowanie tej metody może spowodować przedwczesną
zbieżność, tym samym algorytm może zatrzymać się na
optimum lokalnym.
I
Algorytm k-algorytm ma złożoność O(nk ).
I
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ń:
I
c1 = 0.5, c2 = 0.5, c3 = 0.5,
I
ω to: berlin52 - 0.2, kroA100 i gr202 - 0.5,
I
i - liczba iteracji, berlin52 = 52 · 6, kroA100=100 · 7,
gr202=202 · 12,
I
ns - 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
Problem
berlin52
kroA100
eil101
kroA200
gr202
ch130
gil262
pcb442
gr666
|Warianty przeszukiwania
Bez przesz.
Warianty przeszukiwania lokalnego
lokalnego
Każda iter.
Co 30 iter. Co 50 iter.
Czas Opt. Czas Opt. Czas Opt. Czas Opt.
0.22
0
0.3
0
0.19
0
0.19
0
2.74 0.867 6.28
0
2.95 0.006 2.49 0.01
1.3
0.258 3.88 0.159 1.38 0.178 1.26 0.22
9.68 2.065 38.83
0
11.87 0.016 11.42 0.033
14.71 1.669 38.47 0.032 18.47 0.077 18.38 0.129
2.53 1.766
6.9 0.021 2.99 0.098 2.96 0.106
18.17 2.057 55.61 0.106 22.65 0.247 23.2 0.261
118,39 2,646 332,5 0,217 136,4 0,385 123,11 0,415
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
Problem
berlin52
berlin52
berlin52
berlin52
berlin52
kroA100
kroA100
kroA100
kroA100
kroA100
gr202
gr202
gr202
gr202
gr202
Proc.
zmian
0%
3%
5%
10%
20%
0%
3%
5%
10%
20%
0%
3%
5%
10%
20%
Licz.
iter.
1
11
11
11
11
1
11
11
11
11
1
11
11
11
11
|Wyniki z LS
Czas [s]
LSLS+
0,25
0,25
0,24
0,24
0,26
0,26
0,25
0,26
0,26
0,27
2,37
2,42
2,51
2,52
2,25
2,55
2,45
2,55
2,56
2,33
26,14 24,82
25,98 25,57
25,23 25,12
24,73 24,53
20,18 20,69
Odległość od opt. [%]
LSLS+
0
0
0,01
0
0,4
0,07
0,17
0
0,36
0,02
1,04
0
0,87
0,02
1,07
0,02
1,22
0,03
1,17
0,02
1,93
0,05
1,59
0,15
1,58
0,11
1,36
0,07
1,38
0,11
19/23
Badania
|Podsumowanie
I
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.
I
Algorytm nie ma tendencji do wpadania w lokalne
optimum co zostało pokazane w badaniach.
I
Największą wadą jest wzrost czasu obliczeń, pomimo tego
iż zastosowano przyspieszoną wersję dedykowaną dla
symetrycznego problemu.
I
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:
I
porównanie z algorytmami: ILS i ACO,
I
propozycja nowego algorytmu dla metody Ascent,
I
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

Podobne dokumenty