Ameisenolonien () Idee: Von M. Dorigo, 992 Verhalten von Ameisen bei der Futtersuche Ameisen hinterlassen Pheromon-Spur (Chem. Substanz) Pfade mit hoher Pheromon-Konzentration werden bevorzugt Indirete Kommuniation durch Pheromone Ameisen lösen olletiv das Problem des ürzesten Pfades Reale Ameisen: Idee basierend auf Experimenten von Goss et al. 989 mit argentinischen Ameisen Ameisenolonien (2) Kürzeste Pfade: Kolletives Finden des ürzesten Pfades vom Futter zum bei vorhanden sein eines Hindernisses 2 Hindernis 3 4 Hindernis Hindernis Folie 98 Folie 99 Ameisenolonien (3) Historische Entwiclung: Ant System AS (M. Dorigo, 992) Ant Colony System ACS (M. Dorigo und L. M. Gambardella, 997) Ant Colony Optimization Meta-Heuristic ACO (Dorigo und DiCaro, 999) AS und ACS: Ursprünglich entwicelt fürs TSP Übertragen auf viele weitere COP Ant System fürs TSP Ant Sytem fürs TSP: Ameisen onstruieren Touren Kanten mit höherer Pheromon-Konzentration t werden mit höherer Wahrscheinlicheit gewählt? s t(s,r) t(s,v) Jede Ameise hinterlegt Pheromonspur nachdem Tour omplett ist Hinterlegte Pheromonmenge ist umgeehrt proportional zur Länge der Tour der Ameise Duftspur verflüchtigt sich mit der Zeit v t(s,u) r t(s,t) u t Folie 2 Folie 2
Ant Sytem - Übergangsregel Ant System fürs TSP: Ameisen sind Tour-Konstrutoren: Jede Ameise erzeugt eine Tour Wahrscheinlicheit für Ameise von Stadt r nach s zu gehen: β τ(r,s) η(r,s), wenn s J () r β prs (, ) = τ(r,u) η(r,u) u J () r, sonst τ :Pheromon-Konzentration η(,) rs = / drs (, ): Heuristische Information J(): r Menge der noch nicht besuchten Städte Ant System Update-Regel Globale Lernregel: Pheromon-Update: τ(,) rs ( α) τ( rs, ) + τ (,) rs =, wenn( rs,) T τ ( rs, ) = L, sonst T :Tour von Ameise L :Länge der Tour von Ameise α :Verflüchtigung der Pheromone m Folie 22 Folie 23 Ant Colony System Übergangsregel State Transition Rule: Pseudo-zufälliger Zustandsübergang: argmax u J r{ ( ru, ) ( ru, ) }, wenn q q s = S, sonst β ( ) τ η q :Zufallsvariable gleichverteilt in [,] q :Explorationsparameter S: Zufallsvariable nach p( rs,) aus AS Ant Colony System Update-Regeln () Globale Lernregel: ACS Global Update Rule: τ(,) rs ( α) τ(,) rs + α τ(,) rs, wenn(, rs ) T τ ( rs, ) = Lbest, sonst T L best best :Tour der besten Ameise :Länge der besten Tour best α :Verflüchtigung der Pheromone Folie 24 Folie 25 2
Ant Colony System Update-Regeln (2) ACS - Pseudocode Loale Lernregel: ACS Local Update Rule: τ(,) rs ( ρ) τ(,) rs + ρ τ( rs, ) τ(,) rs = γ max τ( sz, ) (Variante ) z J ( s) τ(,) rs= τ (Variante 2) τ(,) rs= (Variante 3) ρ :Parameter (,] γ :Q-Learning Parameter [,) τ :Initialer Pheromonlevel Procedure ACS-TSP; Initialisierung; Jede Ameise wird in einem Startnoten positioniert foreach Ameise do Ameise wendet Zustandsübergangsregel an Ameise wendet loale Update-Regel an endforeach ; until Lösungen omplett; Globale Update-Regel wird angewendet until Ende-riterium ; Folie 26 Folie 27 ACS - Parameterwahl Parameter: Einfluss der heuristischen Information β=2 Exploration q =.9 Pheromon-Evaporation α=ρ=. Initialer Pheromonwert τ = /(n L nn ) L nn : Länge der Lösung der Nearest-Neighbor-Heuristi Anzahl Ameisen: m= ACS - Varianten Ergebnisse eines Vergleichs: ACS mit loalem Update besser als ohne Loales Update: Variante und 2 besser als Variante 3 Heuristische Information wichtig β> Igonorieren der Pheromonwerte schlechte Performance ACS im Vergleich zu anderen Meta-Heuristien relativ schlecht Verwendung loaler Suche ACS + 3-opt (TSP): 3-opt loale Suche vor globalem Update Ergebnisse deutlich besser, aber schlechter als MA (st International Contest on Evolutionary Optimization) Folie 28 Folie 29 3
Min-Max Ant System Idee: Von Stützle und Hoos, 997 Verbesserung des AS Unterschiede zu AS: Nur beste Ameise (global Beste oder Iterationsbeste) darf Pheromonspur atualisieren Pheromonwerte werden auf ein Intervall [τ min,τ max ] festgelegt Pheromonwerte werden mit τ max initialisiert Verwendung von loaler Suche Fast Ant System FANT: (QAP) Von Taillard und Gambardella, 997 Nur eine Ameise Loale Suche nach Konstrution einer Lösung Pheromone verflüchtigen sich nicht Pheromonwerte werden mit initialisiert Pheromon-Update: gb τ τ + r τ + r τ ij ij ij ij τ :, wenn (, ij) Element der atuellen Lösung ist ij gb τij :, wenn (, ij) Element der besten Lösung ist rr, : Parameter Folie 2 Folie 2 Ant Colony Optimization ACO Meta-Heuristi: Von Dorigo und DiCaro, 999 Verallgemeinerung des ACS Framewor erlaubt Integration von loaler Suche Anwendung: Disrete Optimierungsprobleme (ombinatorische Optimierungsprobleme) mit bestimmten Eigenschaften Problemdarstellung als Graph, Wahl einer Lösungsomponente wird durch Kante im Graph dargestellt ACO Optimierungsprobleme () Voraussetzungen: Endliche Menge C von Komponenten C={c,c 2,...,c n } Endliche Menge L von möglichen Verbindungen/Übergängen zwischen den Elementen von C, L={l ij (i,j) C x C}, L n 2 Für jedes l ij L Verbindungosten J ij (l ij,t), möglicherweise zeitabhängig Eine endliche Menge von Nebenbedingungen Ω(L,C,t) Folie 22 Folie 23 4
ACO Optimierungsprobleme (2) ACO Problembespiele () Weitere Voraussetzungen: Die Zustände des Problems ausgedrüct als Sequenzen s=<c i,c j,...,c > über den Elementen von C, S sei die Menge aller möglichen Sequenzen und S* die Menge der gültigen Sequenzen bezüglich Ω(L,C,t) Eine Nachbarschaftsstrutur, d.h. s und s 2 sind Nachbarn, wenn s =<...,c > und s 2 =<s,c 2 > S, c, c 2 C und l c,c2 L Eine Lösung x S* mit einer Kostenfuntion f(x,l,t) abhängig von den Kosten l ij der Lösung Aufgabe: Pfad im Graphen G=(C,L) Beispiel TSP: C : Menge der Städte / Knoten L : Menge der Verbindungen / Kanten Verbindungosten J ij (l ij,t) = d ij Ω(L,C,t) : Jede Stadt darf nur einmal besucht werden Die Zustände des Problems: Städtefolge s=<c i,c j,...,c > Eine Nachbarschaftsstrutur: alle Städte sind benachbart Lösung x S*: gültige Tour Kostenfuntion f(x,l,t): Tourlänge Folie 24 Folie 25 ACO Problembespiele (2) ACO - Datenstruturen Beispiel binäres Problem: Schrittweises Festlegen der Bits von lins nach rechts Graph: S Lösung: E Gedächtnis M: Jede Ameise hat ein Gedächtnis Wichtig für Erzeugung gültiger Lösungen Verwendet zur Evaluation einer Lösung Benötigt zum Rücverfolgen des Pfades Routing-Tabelle A: Gewichtet Kanten im Graph durch Kombination der Pheromononzentration und der heuristischen Information Benötigt zur Berechnung der Zustandsübergangswahrscheinlicheiten Folie 26 Folie 27 5
ACO - Pseudocode QAP: ACO und andere Meta-Heuristien procedure ACO; schedule antsgenerationandactivity(); pheromoneevaporation(); daemonactions(); end schedule; until Ende-riterium; procedure antsgenerationandactivity; schedulecreationnewant(); newactiveant(); until noresources(); procedure newactiveant; initializeant(); M = updateantmemory(); A = readlocalantroutingtable(); P = computetransitionprobabilities(a,m,ω); nextstate = applyantdecisionpolicy(p, Ω); movetonextstate(nextstate); if (onlinestepbysteppheromoneupdate()) depositpheromoneonvisitedarc (); updateantroutingtable(); end if; M = updateinternalstate(); until currentstate == targetstate; if (onlinedelayedpheromoneupdate()) foreach arc in x do depositpheromoneonvisitedarc (); updateantroutingtable(); end foreach; endif; QAP: Vergleich Meta-Heuristien Zahlen: Abweichung von besten Lösung in % Instanz MA- MA-2 Ro-TS Re-TS FANT MMAS SA t/sec tai6a.34.597.33.794 2.577.59 3.99 9 tai8a.6.35.23.482 2.525.768 3.298 8 taia.89.252.99.385 2.569.728.848 3 soa.96.27.9.397.474.95 2.942 3 tai6b...898.929.23.75.76 9 tai8b.9.4 2.929.62.82.78 5.92 8 taib.76.38 2.373.469.36.328 6.696 3 tai5b.36.397 2.85.775.76.67 3.787 6 tho5.5.22.548.488.765.395 2.939 6 tai256c.7.99.326.266.273.67.37 2 Ro-TS, Re-TS: Robust/Reactive Tabu Search FANT, MMAS: Ant Colony Optimization: Fast Ant System, Min-Max Ant System SA: Simulated Annealing Folie 28 Folie 29 6