Information Technology Reference
In-Depth Information
Zweitens bewirkt die Ve r s t ä r kung k ons t ru i e r t e r Lö sung en ,dassdieKantenderkon-
struierten Lösungen mit einer zusätzlichen Menge an Pheromon belegt werden, die
der Lösungsqualität entspricht:
t : ( i ) (( i mod n )+1) = ( i ) (( i mod n )+1) + Q ( ),
wobei t die Menge der im Schritt t konstruierten Rundreisen (Permutationen) ist.
Als Qualitätsfunktion können wir z. B. die inverse Reiselänge
1
n
i = i d ( i ) (( i mod n )+ 1 )
Q ( )= c ·
verwenden. Das bedeutet anschaulich, je besser die Lösung, umso mehr Pheromon
erhalten die Kanten. Algorithmus 19 stellt den Pseudocode zum Lösen des Problems
des Handlungsreisenden dar.
Algorithmus 19 A MEISENKOLONIEOPTIMIERUNG -TSP
1: initialisiere alle Matrixelemente ij ,1 i , j n ,aufkleinenWert
2: repeat
3:
for all Ameise do
// k o n s
r u i e r
e
L ö s u n g s k a n d i d a
e n
4:
C { 1, . . . , n }
// M e n g e
d e
r
z u
b e s u c h e n d e n
S t ä d t e
5:
i wähle zufällig Anfangsstadt aus C
6:
C C \{ i }
// e n t
f e r n e
s i e
a u s
d e n
u n b e
s u c h t
e n
S t ä d t
e n
7:
while C = do
// s o l a n g e
n i
c h t
a
l e
S t ä d t
e
b e
s u c h t w u r d e n
8: j wähle nächste Stadt der Reise aus C mit Wahrscheinlichkeit p ij
9: C C \{ j }
// e n t
f e r n e
s i e
a u s
d e n
u n b e
s u c h t
e n
S t ä d t
e n
10:
i j
// u n d
g e h e
i n
d i e
a u s g e w ä h l
e
S t a d t
11: end while
12: end for
13: aktualisiere Pheromon-Matrix nach Lösungsgüte
14: until Terminierungskriterium ist nicht erfüllt
Dieser einfache Algorithmus bietet viele Alternativen und lässt sich um einige
Merkmale erweitern. So könnten wir analog zur Nächster-Nachbar-Heuristik nahe
Städte bevorzugen :GehevonStadt i zu Stadt j mit Wahrscheinlichkeit
ij ij
k C ik ik
p ij =
,
wobei C Menge der Indizes der unbesuchten Städte und ij = d 1
ij ist. Eine “greedy”-
Va r i ant e de s Al gor i thmus i s t da s Te nd i e r e n z u r Wa h l d e r b e s t e n Ka n t e : Mit Wahrschein-
lichkeit p exploit soll von Stadt i zur Stadt j best gegangen werden mit
j best = argmax j C ij bzw. j best = argmax j C ij ij
und dabei soll p ij mit Wahrscheinlichkeit 1 p exploit benutzt werden. Zusätzlich kön-
nen wir auch ein Eliteprinzip mit der Ve r s t ä r kung d e r b e s t en b e k ann t en Rund r e i s e an-
wenden: Wir legen zusätzliches Pheromon auf der besten bisher bekannten Rundrei-
se ab. Es kann z. B. als Bruchteil Ameisen angegeben werden, die sie zusätzlich ab-
laufen. Bei einer rangbasierten Aktualisierung legen wir Pheromon nur auf den Kanten
Search WWH ::




Custom Search