Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Annelie Gear Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.