Das Probabilistic Traveling Salesman Problem Präsentation von Thomas Seidl Anmerkung Folgende Begriffe werden synonym verwendet: Kunden = Städte = Knoten Kanten = Wege Kosten = Gewicht = Länge Einführung: Das TSP Gegeben: ein (meist vollständiger, ungerichteter) gewichteter Graph Gesucht: der günstigste Hamilton-Kreis Untersucht seit 1930 Viele Varianten Eines der bekanntesten Optimierungsprobleme Viele Algorithmen sind bekannt NP-schwer! Einführung: Das TSP Mathematische Formulierung (Für die häufigste Problemstellung) Knoten vi Distanzen/Gewichte/Kosten der Kanten dij Abbildung 1: TSP mit eingezeichneter (nicht optimaler) Lösung. Einführung: Das PTSP Wahrscheinlichkeiten pi für jeden Knoten Knoten vi muss nur mit Wahrscheinlichkeit pi besucht werden Gesucht: A-priori-Lösung mit optimaler erwarteter Länge Keine ad-hoc-Optimierung Vergleich guter Touren Abbildung 2: Vergleich guter TSP Tour und guter PTSP Tour (für pi=p). Varianten des PTSP Symmetrisch oder asymmetrisch Vollständig? Gerichtet? Homogene oder heterogene Wahrscheinlichkeitsverteilung Berechnung der erwarteten Länge Ein PTSP mit N Knoten hat 2N mögliche Realisierungen Ri (i = 1, ..., 2N) Realisierung: Teilung der Knotenmenge in eine inkludierte und eine nicht inkludierte Teilmenge Realisierung Ri hat Wahrscheinlichkeit p(Ri) basierend auf Knoten-Wahrscheinlichkeiten pi 2 N p Ri =1 ∑ i=1 Berechnung der erwarteten Länge Sei l R die Länge des Pfads bei Realis. Ri Dann ergibt sich die erwartete Tour-Länge zu: i 2 N f =∑ p Ri ⋅l R . i =1 i Exponentielle Laufzeit! Berechnung der erwarteten Länge Erste Optimierung: Berechnung als gewichtete Summe über die Kosten aller Kanten Gewicht: Wahrscheinlichkeit, dass die Kante in der Tour enthalten sein wird Kante dij in Tour, wenn Knoten zwischen i und j nicht in Realisierung Resultierende Formel komplizierter, aber benötigt nur O(n2) Schritte Berechnung der erwarteten Länge Illustration: Abbildung 3: Zur Inklusionswahrscheinlichkeit der Kanten. Berechnung der erwarteten Länge Weitere Optimierung: Approximative Auswertung In Algorithmen oft nur relative Güte der Lösung entscheidend Daher großer absoluter Fehler unwichtig Beispiel: Nur Knoten berücksichtigen, zwischen denen nicht mehr als k Knoten liegen Hilbert Sorting Schnelle Heuristik, um eine grobe Lösung zu erzeugen Guter Ausgangspunkt für verbessernde Heuristiken Abbildung 4: Hilbert-Kurve (n = 3). Hilbert Sorting Idee: jedem Knoten wird sein Index auf der raumfüllenden Hilbert-Kurve zugewiesen Durch Lokalität entsteht gute Lösung (vergleichbar mit Nearest-Neighbour-Strategie) Minimale Laufzeit-Komplexität k-opt Verbessernde, deterministische Heuristik Ein Schritt: Entfernen von k Kanten aus der Lösung und Testen aller ZusammensetzMöglichkeiten Teils sehr gute Ergebnisse Schnelle Bewertung von Lösungen wichtig 1-Shift Verbessernde, deterministische Heuristik Ein Schritt: Bestmögliche Versetzung eines Knotens in der Pfadreihenfolge Kombiniert mit Hilbert Sorting einer der derzeit besten Algorithmen Nachteil: Laufzeit = O(n⁴)! [O(n²) mögliche Operationen, O(n²) zum Auswerten des Pfads] 1-Shift Verbesserung Für homogene Wahrscheinlichkeiten Einsparung möglich Kosten einer Versetzung in O(1) berechnen Daher Gesamtlaufzeit pro Schritt: O(n²) Macht Hillbert Sorting/1-Shift zum besten Algorithmus für pi = p Entwickelt von Bertsimas et. al. (1993-2004) Ant Colony Optimization Iterative, stochastiche Heuristik Entwickelt von Dorigo et. al. (1992-1999) Inspiriert von Verhalten von Ameisen Statt guter Analyse: viele zufällige Ergebnisse Gute belohnen, aber Platz für Veränderungen lassen (vermeidet lokale Maxima) Ant Colony Optimization Iterationsschritt: M Ameisen konstruieren jeweils eine Tour Informationen für jede Kante: Heuristischer Wert, Pheromon-Wert Auswahl der Kante zufällig, kein Trackback Schrittende: Update der Pheromon-Information Ant Colony Optimization Heuristischer Wert wichtig um Suche in richtige Richtung zu leiten Für TSP meist einfach inverse Kosten, berücksichtigt aber nicht die Wahrscheinlichkeit Wert, der den Einfluss auf die erwartete Tourlänge misst ergibt korrekteres Ergebnis Benötigt O(n³), muss aber nur einmal pro Instanz berechnet werden Ant Colony Optimization Ebenfalls interessant für heuristischen Wert: Winkelbasierte Heuristik Berücksichtigt, dass durch einen Knoten getrennte Knoten ebenfalls nahe liegen sollten Siehe Abbildung 2 Allerdings meist schlechtere Ergebnisse Zusammenfassung Hilbert Sorting/1-Shift beste bekannte Heuristik für homogene Wahrscheinlichkeiten Ant Colony Optimization sehr gut geeignet für heterogene Probleme Kaum exakte Algorithmen, viele vorgeschlagene Heuristiken Gute TSP-Lösungen oft schlechte PTSPLösungen (je nach pi) Bild-Quellen Abbildung 1: http://en.wikipedia.org/wiki/File:Kortad-rundtur.GIF Abbildung 2: Branke, J. und Guntsch, M.: Solving the Probabilistic TSP with Ant Colony Optimization. Abbildung 3: selbsterstellt. Abbildung 4: http://en.wikipedia.org/wiki/File:Hilbert_curve_3.svg Ende Vielen Dank für die Aufmerksamkeit! Fragen?