Toleranzbasierte Algorithmen f ¨ur das Travelling Salesman

Werbung
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
Herunterladen