Kombinatorische Optimierung mit Ameisensystemen Daniel Schiller
Inhalt Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Hausaufgabe Zusammenfassung & Fragen?
Lösungsraum durch Ganzzahligkeitsbedingung eingeschränkt klassisches „Aufsuchen“ des Optimums entlang des Polyeders nicht möglich Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Lösungsverschlechterung Zeitaufwand oft nicht polynomiell von Problemgröße abhängig schwer zu lösen oft fehlen effiziente exakte Lösungsverfahren Heuristiken Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
„(auf)finden, entdecken“ Heuristik „(auf)finden, entdecken“ mit begrenztem Wissen eine gute Lösung in angemessener Zeit finden problemspezifisches Wissen nutzen Optimalität nicht garantiert Metaheuristik Rahmenwerk aus allgemeineren algorithmischen Regeln zur Erzeugung einer spezifischen Heuristik Ausgestaltung indivduell Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Natürliche Algorithmen Vorgänge oder Prinzipien der Natur werden nachgebildet neue Lösungsstrategien für Probleme abgeleitet effizientere Verfahren gesucht oft allgemeingültiger nicht problemspezifisch Beispiele: Simulated Annealing, Genetischer Algorithmus, Sintflutalgorithmus, Ameisensysteme Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Reale Ameisenkolonien Ameisen sind einfache Individuen begrenzte Leistungsfähigkeit Kolonien bewältigen komplexe Probleme hier: Aufbau eines effizienten (kurzen) Transportnetzwerks zwischen Nest und Futterstellen Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
jede Ameise sucht individuell nach einem Weg Beobachtung: Ameisenexperiment 1 einfache Umgebung Ameisen schwärmen aus jede Ameise sucht individuell nach einem Weg Beobachtung: Ameisen finde den kurzen Weg als Lösung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
jede Ameise trifft individuelle Entscheidung Zufall Erklärung jede Ameise trifft individuelle Entscheidung Zufall jede Ameise markiert ihren Weg (ihre Lösung) mit Pheromonspur Pheromonspur beeinflusst Zufallsentscheidung der Nachfolger nach einer Zeit T sind mehr Ameisen auf kurzen Wegen gelaufen stärkere Spur auf diesen Wegen mehr Ameisen folgen diesen Wegen Lösung der Kolonie konvergiert nicht alle Ameisen folgen den stark markierten Wegen Erkundung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
dynamische Änderung der Umgebung neue optimale Lösung Beobachtung: Ameisenexperiment 2 dynamische Änderung der Umgebung neue optimale Lösung Beobachtung: Ameisen verlassen erste Lösung oft nicht Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Identifizierte Eigenschaften jede Ameisen entscheidet individuell Markierung macht individuelle Entscheidung den Nachfolgern bekannt Kolonie erwirbt Wissen über Umgebung Mehrheit folgt einer Lösung Konvergenz in eine Lösung Konvergenz in lokalen Optima möglich Verlassen einer Lösung nur schwer möglich globales Optimum nicht garantiert Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Ameisen sind einfache Individuen einfach zu simulieren Bewertung Ameisen sind einfache Individuen einfach zu simulieren hohe Leistungsfähigkeit in komplexen Umgebungen Erfolgspotential Schwarmintelligenz allgemeine einfache Voraussetzungen geringe Problemspezifik algorithmische Umsetzung am Computer Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Ant Colony Optimization Elemente graphische Repräsentation des Problems Ameisenkolonie Pheromonspur Zeit algorithmische Besonderheit diskrete Zeitschritte Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Graph Knoten Kanten Orte Aufträge Gegenstände mögliche Beziehungen zwischen den Knoten Wege der Ameisen bewertet mit Kosten/Entfernungen Pheromonmatrix τij Heuristikmatrix ηij Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Individuen mit Verhaltensregeln Ameisen Individuen mit Verhaltensregeln laufe durch das Netz probalistische Entscheidung über Weg Nebenbedingungen bauen Lösung individuelles Gedächtnis Weg Länge Bewertung der eigenen Lösung Markierung der eigenen Lösung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Stärke der Markierung triff Aussage über Qualität & Häufigkeit Pheromonspur Stärke der Markierung triff Aussage über Qualität & Häufigkeit Kante Teil eines kurzen Wegs Kante Teil eines oft genutzten Wegs Aussage über Vorteilhaftigkeit des Wegs Verdunstung Verlassen einer Lösung ermöglichen vorzeitige Konvergenz verhindern stärkere Erkundung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
? Entscheidung der Ameise von wo komme ich? wo darf ich nicht mehr hin? was sehe ich? wie riecht es? Zufallsentscheidung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe ?
Σ Simulation der Zufallsentscheidung Berechnung der Wahrscheinlichkeiten Längen d der offenen Wege lokale Informationen ηij=1/dij : Kehrwert der Länge von Weg ij Pheromonspuren auf offenen Wegen Wissen der Kolonie aus Erkundung τij,h : Pheromonspur auf Weg ij α,β : Gewichtungs-/Steuerparameter „Würfeln“ Zufallsexperiment Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe α β (τij) (η ij) pij = Σ α β (τij) (η ij)
Pheromonspuraktualisierung nach jeder Iteration h auf jedem Wegstück ij Verdunstung der alten Spur/Lösung Verdunstungsrate ρ lässt Spur langsam schwächer werden Markierung der neuen Spur/Lösung jede Ameise legt eine neue Spur ihre Weglänge Dk bestimmt Stärke Qualität der eigenen Lösung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe τij,h+1 = τij,h(1-ρ) + 1/D1 +1/D2 +…+1/Dk
Verhalten des Algorithmus Koloniegröße vorgegebene Rechenzeit viele Ameisen breite Erkundung wenige Ameisen viele Iterationen Pheromonspur / Verdunstungsrate großes ρ Wahrscheinlichkeit neue Lösungen zu finden kleines ρ schnelle Konvergenz auf eine Lösung Gewichtungsparameter α,β α<β heuristische Information betont α>β iterierte Information betont Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Begrenzung der Pheromonspur Abwandlungen Elitäre Ameisen beste Ameisen markieren stärker Begrenzung der Pheromonspur Obergrenze (max) gute Lösungen nicht zu stark gewichtet Wirkung von Anfangszufällen begrenzt Untergrenze (min) schlechte Lösungen bleiben erhalten gegen zu frühes Einschränken Senken der Pheromonspur direkte Nachfolger werden zum Erkunden anderer Wege angeregt . . . Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Anwendungen TSP Vehicle-Routing Zuordnung Ablaufplanung Rucksackprobleme Proteinfaltung Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Dauern bekannt und fest keine Unterbrechung Ziel: Maschinenbelegung Auftrag Vorgang Maschinen Dauern bekannt und fest keine Unterbrechung Ziel: Reihenfolge der Aufträge/Vorgänge mit minimalen Kosten/Zeit Besonderheiten: absolute Position von Aufträgen in der Reihenfolge wichtig Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Single Machine Total Tardiness eine Maschine n Jobs mit Dauern di und End-Fristen fi Ziel: Anordnung der Jobs, die summierte „Fristüberschreitung“ minimiert Graph: Knoten n Positionen n Jobs Kanten mögliche Zuordnungen Job Position Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Beispiel Graph Lösungskonstruktion Nebenbedingungen Pheromonspur τij 3 n=3 Positionen + n=3 Jobs Fristen fj Dauern dj Kanten Lösungskonstruktion Ameisen ordnen die Jobs den Positionen der Reihe nach zu Nebenbedingungen alle Jobs müssen zugeordnet werden Pheromonspur τij Vorteilhaftigkeit Job j an Position i zu setzen Aktualisierung nach jedem Durchlauf 3 2 3 3 7 3
Ameise 1 im ersten Durchlauf wählt zufällig 3 2 3 3 Job Zeit Überschreitung 1 2 7 2 5 2 3 3 8 1 3
Ameise 2 im ersten Durchlauf wählt zufällig 3 2 3 3 Job Zeit Überschreitung 2 3 7 3 6 3 1 8 5 5
Ameise 3 im ersten Durchlauf wählt zufällig 2 3 3 Job Zeit Überschreitung 1 2 7 3 5 3 1 8 5 5
abhängig von Überschreitung je kleiner desto stärker Pheromonspuren abhängig von Überschreitung je kleiner desto stärker neue Ausgangslage beim nächsten Durchlauf Ameise Überschreitung Spur 1 3 6 2 5 4 3 5 4
Ameise 1 im zweiten Durchlauf 3 2 3 3 Job Zeit Überschreitung 7 1 2 3 3 5 2 8 5 5
Ameise 2 im zweiten Durchlauf 3 2 3 3 Job Zeit Überschreitung 7 1 2 3 2 5 2 3 8 1 3
Ameise 3 im zweiten Durchlauf 2 3 3 Job Zeit Überschreitung 7 3 3 3 2 6 3 1 8 5 8
Pheromonspuren Ameise Überschreitung Spur 1 5 4 2 3 6 3 8 1
Cluster im Tarifraum finden ähnliche Elemente gruppieren unterschiedliche Elemente separieren Ameisen und Clusteranalyse Objekte (Haltestellen) frei „auf Fläche“ Distanzmatrix zu allen Haltestellen als Maß für Ähnlichkeit/Unterschied Ameisen laufen frei auf Fläche leere Ameisen wollen Objekte aufnehmen beladene Ameisen wollen Objekte ablegen Wahrscheinlichkeit der Aufnahme/Ablage wir durch Unterschied/Ähnlichkeit zu Nachbarn bestimmt Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe
Zusammenfassung Fragen? allg. Prinzipien einfache Umsetzung breite Anwendung vielfältige Ausgestaltung oft leistungsfähig Fragen? Kombinatorische Optimierungsprobleme Heuristiken & Metaheuristiken Natürliche Algorithmen Ameisensysteme Beispiel Zusammenfassung & Fragen? Hausaufgabe