180 likes | 412 Views
von Sebastian Kerkhoff Thorger Brüning. Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode. Was ist gegeben?. Ein Graph G bestehend aus n Knoten und einer Kantenmenge E Die Kantenlängen bzw. -kosten c ij von Knoten i nach Knoten j. IN UNSEREM FALL : c ij = c ji.
E N D
von Sebastian Kerkhoff Thorger Brüning Die 1-Baum-Relaxationdes TSP mit der Subgradientenmethode
Was ist gegeben? • Ein Graph G bestehend aus n Knoten und einer Kantenmenge E • Die Kantenlängen bzw. -kosten cij von Knoten i nach Knoten j. • IN UNSEREM FALL : cij = cji
Traveling-Salesman-Problem • Gesucht: • wobei - jeder Knoten den Grad 2 hat - keine Subtouren existieren -
Traveling-Salesman-Problem • Gesucht: • wobei - jeder Knoten den Grad 2 hat - keine Subtouren existieren -
Definition: 1-Baum • Ein Teilgraph B von G wird 1-Baum genannt, falls: a) Knoten 1 mit genau zwei Kanten (1,i) und (1,j) inzident ist b) der Graph B\{1} ist ein Gerüst auf G\{1} • => jede Tour ist ein 1-Baum • => Ein 1-Baum ist genau dann eine Tour, falls jeder Knoten den Grad 2 hat. 1-Baum Tour
Die Lagrangerelaxation Beachtet man nun die Tour-Eigenschaft, dass jeder Knoten (außer 1) Grad 2 haben muss als starke Restriktion, erhält man die Lagrangerelaxation: Definiert man u1:= 0 , so erhält man:
Das letztlich zu lösende ProblemDas Lagrange-Dualproblem Definiere: => Problem lässt sich wie folgt schreiben: Bei der 1-Baum Relaxation wird nun die Relaxation dual gelöst.Wir suchen:
Die Subgradientenmethode h1 und h2 sind Subgradienten
Der verwendete Subgradient Sei B der -optimale 1-Baum, so ergibt sich der Subgradient: h(u)=(0,1,-1,1,-1) Daher: ui = ui-1 + d * h(ui-1)
Festzuhalten bleibt: • Sei ein -optimaler 1-Baum, sowie eine -optimale Tour, so gilt • Ist zusätzlich eine -optimale Tour, gilt In diesem Fall ist die gefundene Lösung von w(u) also die gesuchte optimale Tour
Der Algorithmus1.Schritt u(0) = (0,0,0,0,0,0) w(u(0)) = 13
Der Algorithmus1.Schritt u(0) = (0,0,0,0,0,0) w(u(0)) = 13 h(u(0)) = (0,0,-1,1,1,-1)
Der Algorithmus2.Schritt u(1) = (0,0,-1,1,1,-1) w(u(1)) = 15
Der Algorithmus2.Schritt u(1) = (0,0,-1,1,1,-1) w(u(1)) = 15 h(u(1)) = (0,0,0,1,-1,0)
Der Algorithmus3.Schritt u(2) = (0,0,-1,2,0,-1) => Tour !!! w(u(2)) = 16
Der Algorithmusan schwierigeren Beispielen • Berlin: 52 Knoten Problem wird vom Algorithmus gelöst • 76 City-Problem: 76 Knoten Algorithmus bietet als untere Schranke: 537 Wert der optimalen Tour: 538
Der Algorithmusan schwierigeren Beispielen • Biergärten: 127 Knoten untere Schranke des Algorithmus: 117431 Wert der besten bekannten Tour: 118282 entspr. maximaler Abweichung von 0,7 %