Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ameisenalgorithmus und Simulated Annealing

Ähnliche Präsentationen


Präsentation zum Thema: "Ameisenalgorithmus und Simulated Annealing"—  Präsentation transkript:

1 Ameisenalgorithmus und Simulated Annealing
Robert Wild

2 Warum das ganze? Viele wichtige Probleme sind NP-Hart Beispiele: TSP
KNAPSACK HAMILTONIAN CIRCUIT

3 TSP - Anwendungsbeispiele
Routenplanung von Speditionen o.ä. Layout integrierter Schaltkreise Steuerung von Fertigungsrobotern DNA-Sequenzierung

4 Grundsätzliches Sämtliche Testergebnisse beziehen sich auf meine Implementierungen in Ruby mit dem Datensatz XQF131 von Für praktische Belange wäre natürlich eine Implementierung in C sinnvoller aber hier geht es nur ums Prinzip

5 Ameisenalgorithmus - Vorbild
Simuliert Ameisen bei der Futtersuche Einzelne Ameise findet Weg zufällig Ameisen sondern Pheromonspur ab, andere folgen dieser Kürzere Strecke -> Ameise kann öfter in der gleichen Zeit laufen -> intensivere Spur -> Ameisenstrasse Findet gute Lösung, aber nicht optimal Wenn schlechtere route festgefahren, dann keine änderung

6 Objekte µ Ameisen Pheromonmatrix (PM) Kennen ihre besuchten Knoten
Haben zufälligen Startpunkt Pheromonmatrix (PM) Speichert die Pheromonmenge für jede Kante, im Gegensatz zur Natur gerichtet Wird mit einem sehr Wert initialisiert ( )

7 Wegfindung der Ameisen
Nächster Knotenpunkt wird durch Zufallsexperiment gewählt (Gleichung 1): Tau := Pheromonmenge auf der Kante d := Kehrwert der Kantenlänge β := Kantengewicht

8 PM aktualisieren Pheromon verdunstet nach Verdunstungsgrad α
PM wird aktualisiert nach:

9 Pseudocode

10 Stellschrauben Der Ameisenalgorithmus bietet dem Benutzer ein paar Einstellmöglichkeiten (Empfohlene Werte in Klammern): Anzahl der Ameisen (10) Kantengewicht β (2-4) Verdunstungsgrad α (0,6-0,9) Explorationsregler theta (0,2-0,9)

11 Testergebnisse (ANT) Lösungen die 10%-15% über dem Optimum liegen werden schon nach wenigen Iterationen gefunden Nach sehr langer Zeit Lösungen <10% über Optimum Schwankende Ergebnisse, mehrere Durchläufe sinnvoll Stellschrauben haben keine nennenswerten Auswirkungen

12 Simulated Annealing Erweiterung der lokalen Suche
Problem: findet nur lokales Minimum Kugel auf graph -> tafel

13 Simulated Annealing

14 Vorbild aus der Natur Abkühlungsprozess von Metallen
Moleküle wollen in energiearme Zustände Temperatur = Bewegung der Moleküle Bei hoher Temperatur können Moleküle auch aus niedrigen Energiezuständen ausbrechen Mit sinkender Temperatur nur noch aus höheren Energiezuständen

15 Implementierung Simulated Annealing

16 Implementierung Simulated Annealing
2 Vorschläge für ÄNDERE(): (a) Zufälliges Teilstück der Route ausschneiden und zwischen zwei zufälligen Knoten einfügen (b) Reihenfolge in zufälligem Teilstück reversieren In meinen Versuchen liefert (b) deutlich bessere Ergebnisse

17 Testergebnisse (SA) Variante (a) liefert Ergebnisse 10%-15% über Optimum Variante (b) findet Lösungen 1%-6% über Optimum Beide Varianten nähern sich nur langsam an die Lösung an Schwankende Ergebnisse, mehrere Durchläufe sinnvoll

18 Fazit Achtung! Achsen sind nicht linear!
Ameisen -> schnell, mäßig gute Lösung Simulated Anealing -> rechenintensiver, bessere Lösung


Herunterladen ppt "Ameisenalgorithmus und Simulated Annealing"

Ähnliche Präsentationen


Google-Anzeigen