Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ameisenalgorithmus und Simulated Annealing Robert Wild.

Ähnliche Präsentationen


Präsentation zum Thema: "Ameisenalgorithmus und Simulated Annealing Robert Wild."—  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

6 Objekte µ Ameisen – 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

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 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!


Herunterladen ppt "Ameisenalgorithmus und Simulated Annealing Robert Wild."

Ähnliche Präsentationen


Google-Anzeigen