Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg [email protected] http://users.informatik.uni-halle.de/ ˜jaegerg Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg Travelling Salesman Problem • Gegeben: Ungerichteter Graph G = (V, E) , |V | = n mit Gewichtsfunktion g : E → R. • Gesucht: Kürzester geschlossener Weg, der jeden Knoten genau 1-mal durchläuft. Theoretische Resultate • Christofides: Approximationsfaktor 1, 5 für TSP mit Dreiecksungleichung. • Arora: Approximationsschema für euklidisches TSP. Praktische Resultate • Triviale Methode: (n − 1)!/2 Schritte (schon für n ≥ 20 zu groß). • Datenbank (TSPLIB) mit Problemen von 14 bis 1904711 Knoten (meistens reale Städteprobleme). Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 1 Historische Entwicklung des TSP anhand von TSPLIB Jahr Forschungsteam Anzahl Knoten/Städte 1954 Dantzig, Fulkerson, Johnson 49 1971 Held, Karp 64 1975 Camerini, Fratta, Maffioli 100 1977 Grötschel 120 1980 Crowder, Padberg 318 1987 Padberg, Rinaldi 532 1987 Grötschel, Holland 666 1987 Padberg, Rinaldi 2392 1994 Applegate, Bixby, Chvátal, Cook 7397 1998 Applegate, Bixby, Chvátal, Cook 13509 (USA-Tour) 2001 Applegate, Bixby, Chvátal, Cook 15112 (Deutschland-Tour) 2004 Applegate, Bixby, Chvátal, Cook, Helsgaun 24978 (Schweden-Tour) Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 2 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Algorithmus von Dantzig, Fulkerson, Johnson Formulierung als lineares Programm. Definiere x ∈ Rn(n−1)/2 durch xi,j 1, falls die Kante (i, j) in der Tour vorkommt := 0, sonst Eine untere Schranke für das TSP ist dann min x X g(i, j)xi,j unter i<j 0 ≤ xi<j ≤ 1, X xi,j = n i,j Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 3 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Falls: Lösung dieses Problems ist eine Tour → Fertig. Sonst: Wiederhole die folgenden zwei Schritte, bis die Lösung eine Tour ist. • Ergänzen einer Ungleichung, die der Lösungsvektor nicht erfüllt, aber eine Tour erfüllen muß. • Lösen des erweiterten Problems. Die Ungleichungen sind zum Beispiel: • Jede Stadt wird genau 2-mal erreicht. • Jede Menge von Städten wird mindestens 2-mal erreicht! Der derzeit führende Algorithmus von Applegate, Bixby, Chvátal, Cook ist eine Weiterentwicklung bzw. effizientere Implementation dieses Algorithmus. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 4 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Lin-Kernighan-Heuristik 1.Teil: Tourkonstruktion a) Starte an einem beliebigen Knoten. b) Gehe zum nächstliegenden noch nicht besuchten Knoten. c) Wiederhole b), bis alle Knoten erreicht sind. Nachteil: Am Ende des Algorithmus werden die Gewichte der Tourkanten immer größer. 2.Teil: Tourverbesserung (k -OPT) a) Entferne k Kanten aus der bisherigen Tour. b) Baue k neue Kanten ein, so daß • eine neue Tour entsteht, • die Länge der neuen Tour möglichst klein wird. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 5 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Beispiel: 2-OPT 2 1 3 5 6 4 7 8 2 1 3 5 6 4 7 8 Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 6 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Algorithmus von Helsgaun • Effiziente Implementation der Lin-Kernighan-Heuristik für k ≤ 5. • Ausdünnung des Graphen: Zu jedem Knoten werden nur die 5 vielversprechendsten“ Kanten betrachtet. ” • Löst fast alle Probleme aus TSPLIB. • Kann Optimalität nicht nachweisen. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 7 Definition der Toleranz • Gegeben: – Ungerichteter Graph G = (V, E), |V | = n mit g : E → R. – Problem mit Lösungsmenge L(g) ⊆ E. – Sei e ∈ E beliebig und g konstant bis auf die Stelle e. Ist g(e) hinreichend klein, dann ist e ∈ L(g). Ist g(e) hinreichend groß, dann ist e ∈ / L(g). • Obere Toleranz: – Sei e ∈ L(g). Die obere Toleranz ot(e) ist die Zahl, um die man g(e) mindestens erhöhen muß, damit e ∈ / L(g). • Untere Toleranz: – Sei e ∈ / L(g). Die untere Toleranz ut(e) ist die Zahl, um die man g(e) mindestens verringern muß, damit e ∈ L(g). Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 8 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Anwendung 1: Travelling Salesman Problem • Sei eine Kante e in der minimalen Tour. Die obere Toleranz ot(e) ist die Zahl, um die man das Gewicht von e erhöhen muß, damit e nicht mehr in der minimalen Tour ist. • Sei eine Kante e nicht in der minimalen Tour. Die untere Toleranz ut(e) ist die Zahl, um die man das Gewicht von e verringern muß, damit e in der minimalen Tour ist. • Toleranzberechnung ist schwieriger als gesamtes TSP. → Nicht sinnvoll. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 9 Anwendung 2: Minimaler 1-Baum Definitionen: • Spannender Baum: Zusammenhängender kreisfreier Graph mit n − 1 Kanten. • Minimaler 1-Baum: Minimal spannender Baum + zweitkleinste Kante eines Knoten von Grad 1. 16 9 14 15 8 1 2 3 4 5 6 7 10 12 13 11 Minimaler 1-Baum ist in Polynomialzeit berechenbar. Minimale TSP-Tour ist 1-Baum! → Länge des minimalen 1-Baums ist untere Schranke für minimale TSP-Tour. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 10 Anwendung 3: Lineares Zuordnungsproblem Gegeben: Ungerichteter Graph G = (V, E) , |V | = n mit Gewichtsfunktion g : E → R. Gesucht: Zuordnungsfunktion f : V → V mit • Die Zuordnungsfunktion ist bijektiv. • f (v) 6= v für alle v ∈ V . • Die Summe der Gewichte der Zuordnungskanten ist minimal. 2 9 3 1 6 5 7 8 4 10 Lineares Zuordnungsproblem ist in Polynomialzeit lösbar. Minimale TSP-Tour ist lineare Zuordnung! → Länge einer minimalen Zuordnung ist untere Schranke für minimale TSP-Tour. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 11 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Anwendung 4: 2-OPT Betrachte eine gute, aber nicht minimale TSP-Tour T . Die folgende Toleranz ist ein lokales Kriterium, hängt also von T ab. L(g) besteht aus den zwei Kanten außerhalb von T , die zu dem besten aktuellen 2 -OPT-Schritt führen. Die für die Lösungsmenge L in Frage kommenden Kanten sind alle Kanten außerhalb von T . Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 12 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Die untere Toleranz einer Kante außerhalb von T gibt an, wieviel schlechter der beste 2 -OPT-Schritt dieser Kante im Vergleich zum optimalen 2 -OPT-Schritt ist. 2 1 3 6 4 7 8 5 Die obere Toleranz definiert man analog. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 13 Toleranzbasierte Algorithmen für das Travelling Salesman Problem Toleranzbasierte TSP-Algorithmen • Verbesserte Tourkonstruktion. Nicht gewichtsbasiert, sondern toleranzbasiert. • Qualitativ bessere Ausdünnung des Graphen. (Helsgaun benutzt die Toleranz des 1-Baumes, ohne den Begriff Toleranz“ zu verwenden.) ” • Toleranzbasierte Branch and Bound-Algorithmen. • Allerdings: Der Nutzen der Toleranzen hängt davon ab, ob sie effizient berechnet werden können. Workshop Komplexitätstheorie, Datenstrukturen und Effiziente Algorithmen, 15. März 2005 Gerold Jäger, Martin-Luther-Universität Halle-Wittenberg 14