Vorlesung
Kombinatorische Optimierung (Wintersemester 2018/19)
Kapitel 6: Formulierungen und L¨osungskonzepte
Volker Kaibel
Otto-von-Guericke Universit¨at Magdeburg
(Version vom 17. Januar 2019)
0/1-Knapsack Problem (Problem 5.1)
Problem (0/1-Knapsack Problem)
Instanz: Gewichte g ∈Qn+, Gewichtsschranke G ∈Q+, Werte w ∈Qn+
Aufgabe: Finde I? ⊆[n]mit g(I?)≤G , so dass
w(I?) = max{w(I)|I ⊆[n],g(I)≤G} ist.
0/1-Knapsack Problem (Problem 5.1)
Variablen: x ∈ {0,1}n Bedeutung: xi = 1⇐⇒i ∈I
max hw,xi
s.t. hg,xi ≤ G x ∈ {0,1}n
Bin-Packing Problem (Problem 5.9)
Problem (Bin-Packing Problem) Instanz: Zahlen a1, . . . ,an∈Q+
Aufgabe: Finde f : [n]→[k]mit P
i:f(i)=j
ai ≤1 f¨ur alle j ∈[k], so dass k minimal ist.
Bin-Packing Problem (Problem 5.9)
Variablen: x ∈ {0,1}n×k Bedeutung: xij = 1⇐⇒f(i) =j Variablen: y ∈ {0,1}n
Bedeutung: yj = 1⇐⇒Es gibt i ∈[n] mit f(i) =j min h1n,yi
s.t. ha,x?,ji ≤ 1 f¨ur alle j ∈[n]
xij ≤ yj f¨ur alle j ∈[n]
x ∈ {0,1}n×k y ∈ {0,1}k
Maschinen-Scheduling (Problem 5.13)
Problem (Makespan-Minimierung)
Instanz: Dauern p∈Qn+ von n Jobs, Anzahl m∈N gleichartiger Maschinen
Aufgabe: Aufteilung f : [n]→[m]der Jobs auf die Maschinen, so dass
max{ X
i:f(i)=j
pi|j ∈[m]}
m¨oglichst klein ist.
Maschinen-Scheduling (Problem 5.13)
Variablen: x ∈ {0,1}n×m Bedeutung: xij = 1⇐⇒f(i) =j Variablen: y ∈Q+
Bedeutung: y obere Schranke an P
i:f(i)=j
pi f¨ur jedesj ∈[m]
min y
s.t.
m
P
j=1
xij = 1 f¨ur alle i ∈[n]
n
P
i=1
pixij ≤ y f¨ur alle j ∈[m]
x ∈ {0,1}n×m y ∈ Q+
Standortplanung (Problem 5.12)
Problem (Facility Location Problem)
Instanz: Endliche Mengen{1, . . . ,K} von Kunden und {1, . . . ,S} von m¨oglichen Standorten mit Fixkosten fi ∈Q+ f¨ur das ¨Offnen von Standort i und
Service-Kosten cij ∈Q+ f¨ur das Bedienen von Kunde j vom er¨offneten Standort i aus.
Aufgabe: Teilmenge X? ⊆[S]von zu ¨offnenden Standorten und Zuordnungσ: [K]→X?, so das
X
i∈X?
fi+ X
j∈[K]
cσ(j)j
minimal ist.
Standortplanung (Problem 5.12)
Variablen: x ∈ {0,1}K×S Bedeutung: xij = 1⇐⇒σ(i) =j Variablen: y ∈ {0,1}S
Bedeutung: yj = 1⇐⇒Standort j wird er¨offnet min
S
P
j=1
fjyj +
K
P
i=1 S
P
j=1
cijxij
s.t.
S
P
i=1
xij = 1 f¨ur alle i ∈[K] xij ≤ yj f¨ur alle j ∈[S]
x ∈ {0,1}K×S y ∈ {0,1}S
F¨ arbung von Graphen (Problem 5.10)
Problem (Graphenf¨arbungsproblem) Instanz: Graph G = (V,E)
Aufgabe: Finde eine Abbildung f :V →[k]mit f(v)6=f(w) f¨ur alle {v,w} ∈E, so dass k minimal ist.
F¨ arbung von Graphen (Problem 5.10)
Variablen: x ∈ {0,1}V×[k] Bedeutung: xvj = 1⇐⇒f(v) =j Variablen: y ∈ {0,1}k
Bedeutung: yj = 1⇐⇒Farbe j wird verwendet min
k
P
j=1
yj
s.t.
Pk
j=1
xvj = 1 f¨ur alle v∈V
xvj +xwj ≤ 1 f¨ur alle j ∈[k],{v,w} ∈E xvj ≤ yj f¨ur alle j ∈[k]
x ∈ {0,1}V×[k]
y ∈ {0,1}k
Maximale Schnitte (Problem 5.3)
Problem (Maximum Cut Problem)
Instanz: Graph G = (V,E) mit Kantengewichten c ∈QE Aufgabe: Finde S? ⊆V mit
c(δ(S?)) = max{c(δ(S))|S ⊆V}.
Maximale Schnitte (Problem 5.3)
Vollst¨andiger Graph: Kn= ([n], [n]2 ).
Variablen: xv,w ∈ {0,1} (f¨ur alle 1≤v <w ≤n)
Bedeutung: xv,w = 1⇐⇒Kante {v,w} ist im Schnittδ(S) min
n
P
v=1 n
P
w=v+1
cv,wxv,w
s.t. xv,w+xw,u+xu,v ≤ 2 f¨ur alle {v,w,u} ∈ [n]3 xv,w−xw,u−xu,v ≤ 0 f¨ur alle {v,w,u} ∈ [n]3 xv,w ∈ {0,1} f¨ur alle 1≤v <w ≤n
Eigenschaften dieser Modelle
I Lineare Zielfunktion
I Lineare Nebenbedingungen
I Ganzzahligkeitsbedingungen an Variablen (sogar:
0/1-Variablen)
I Polynomial viele Variablen und Nebenbedingungen (kompakte Formulierungen)
Problem des Handlungsreisenden (Problem 5.2)
Problem (Traveling Salesman Problem (TSP))
Instanz: Kantenl¨angen c ∈QEn des vollst¨andigen Graphen Kn= (Vn,En) auf n Knoten
Aufgabe: Finde Hamilton-Kreis H?⊆En mit
c(H?) = min{c(H)|H ⊆En Hamilton-Kreis}.
Problem des Handlungsreisenden (Problem 5.2)
Variablen: x ∈ {0,1}En Bedeutung: xe = 1⇐⇒e ∈H
min hc,xi s.t. P
e∈δ(v)
xe = 2 f¨ur alle v ∈V P
e∈δ(S)
xe ≥ 2 f¨ur alle ∅6=S (Vn
x ∈ {0,1}En
Bemerkungen zum TSP-Modell
I Die Gleichungen heißenGrad-Gleichungen.
I Die Ungleichungen in diesem Modell heißen
Subtour-Eliminations Bedingungen; sie garantieren, dassx charakteristischer Vektor einer zusammenh¨angenden Menge von Kanten ist.
I Das Modell hat exponentiell viele Subtour-Eliminations Bedingungen, f¨ur die aber das Separationsproblem effizient gel¨ost werden kann (MinCut Problem mit wegenx≥0 nicht-negativen Gewichten, vgl. Separationsalgorithmus f¨ur Matchingprobleme).
Ausfallsichere Netzwerke (Problem 5.11)
Problem (Survivable Network Design Problem) Instanz: Graph G = (V,E), Kantenkosten c ∈QE+,
Zusammenhangsforderungen rs,t ∈Nf¨ur alle s,t ∈V Aufgabe: Finde eine Kantenteilmenge F? ⊆E , f¨ur die in G[F]
f¨ur jedes Paar s,t ∈V wenigstens rs,t paarweise kantendisjunkte s-t-Wege existieren, so dass c(F?) minimal ist.
Ausfallsichere Netzwerke (Problem 5.11)
Variablen: x ∈ {0,1}En Bedeutung: xe = 1⇐⇒e ∈H min hc,xi
s.t. P
e∈δ(S)
xe ≥ rs,t f¨ur alles,t ∈V,S ⊂V,s ∈S,t6∈S x ∈ {0,1}En
Bemerkungen:
I Die Ungleichungen in diesem Modell garantieren wegen Satz 2.21 (ungerichtete Version des Satzes von Menger) die geforderten Ausfallsicherheiten.
I Auch hier kann das Separationsproblem (s-t MinCut Problem) effizient gel¨ost werden.
Quadratische 0/1-Optimierung (Problem 5.4)
Problem (Quadratische 0/1-Optimierung) Instanz: Kostenmatrix(cij)∈Qn×n
Aufgabe: Finde 0/1-Vektor x? ∈ {0,1}n mit
n
X
i,j=1
cijxi?xj? = min{
n
X
i,j=1
cijxixj|x∈ {0,1}n}.
Quadratisches Zuordnungsproblem (Problem 5.5)
Problem (Quadratic Assignment Problem (QAP))
Instanz: Zielfunktionskoeffizienten dijkl ∈Q(i,j,k,l ∈[n]) Aufgabe: Finde n×n Permutationsmatrix(xij?)∈ {0,1}n×n mit
n
X
i,j,k,l=1
dijklxij?xkl?
= min
n
X
i,j,k,l=1
dijklxijxkl
(xij)n×n Permut.-Matrix .
Eigenschaften dieser Modelle
I Nicht-lineare Zielfunktion (i.a. noch nicht einmal konvex)
I Lineare Nebenbedingungen
I 0/1-Variablen
I Ein Ansatz: Linearisierung mittels folgenden Lemmas.
Lemma 6.1
F¨ur a,b,c ∈ {0,1} gilt
c =ab ⇐⇒ (c ≤a und c ≤b und c ≥a+b−1).
Lineares Modell f¨ ur Quadratische 0/1-Optimierung
Variablen: x ∈ {0,1}n Variablen: y ∈ {0,1}n×n
Bedeutung: yij =xixj (f¨ur x∈ {0,1}n) min
n
P
i,j=1
yij
s.t. yij −xi ≤ 0 f¨ur alle i ∈[n]
xi+xj −yij ≤ 1 f¨ur alle i ∈[n]
x ∈ {0,1}n
Lineares Modell f¨ ur Quadratisches Zuordnungsproblem
Variablen: xij ∈ {0,1}n×n Variablen: y ∈ {0,1}[n]4
Bedeutung: yijkl =xijxkl (f¨ur x ∈ {0,1}n×n) min
n
P
i,j,k,l=1
yijkl s.t.
n
P
j=1
xij = 1 f¨ur alle i ∈[n]
n
P
i=1
xij = 1 f¨ur alle j ∈[n]
yijkl−xij ≤ 0 f¨ur alle i,j ∈[n]
xij +xkl −yijkl ≤ 1 f¨ur alle i,j,k,l ∈[n]
x ∈ {0,1}n×n y ∈ {0,1}[n]4
Bemerkungen
I Die obigen ganzzahligen linearen Optimierungsmodelle kann man prinzipiell mit Standardverfahren f¨ur die ganzzahlige lineare Optimierung berechnen (siehe VL im SoSem).
I F¨ur stark strukturierte kombinatorische Optimierungsprobleme wie die obigen gibt es jedoch in der Regel wesentlich bessere spezialisierte Verfahren.
I Die wichtigsten Konzepte sind hier Branch-and-Bound Algorithmen (vor allem unter praktischen Gesichtspunkten) und Approximationsalgorithmen(vor allem unter theoretischen Gesichtspunkten).
I Auch ganzzahlige nicht-lineare (in der Regel konvexe) Modelle spielen in der kombinatorischen Optimierung eine wichtige Rolle; wir werden solche Modelle z.B. f¨ur das Max-Cut Problem untersuchen.
Ger¨ ust des Branch-and-Bound Verfahrens
Situation:
I Endliche Menge X von zul¨assigen L¨osungen (die in der Regel nicht explizit vorliegen).
I F¨ur jedesX ∈ X sei c(X)∈Qder Zielfunktionswert vonX.
I Ziel: Finde X? ∈ X mitc(X?) = min{c(X)|X ∈ X }. Algorithmus:
1: Bestimme eine primale SchrankeU ∈Q∪ {∞} mit min{c(X)|X ∈ X } ≤U
und, falls U 6=∞, einXbest∈ X mit c(Xbest) =U.
2: Initialisiere den Branch-and-Bound Baum mit seinem Wurzelknoten X.
3: Initialisiere die Menge A={X } der aktiven Branch-and-Bound Knoten.
4: while A6=∅do
5: W¨ahle einen aktiven KnotenS ∈A.
6: A←A\ {S}
7: if |S|= 1 then
8: Sei S={X}
9: if c(X)<U then
10: Xbest←X
11: U ←c(X)
12: Gehe zu Schritt 4.
13: (Bound:) Bestimme eineduale Schranke L∈Qmit L≤c(X) f¨ur alle X ∈ S
f¨ur dasSubproblem S.
14: if L<U then
15: (Branch:) ¨Uberdecke S=S1∪ · · · ∪ Sr mitr ≥2 (oft paarweise disjunkten) SubproblemenS1, . . . ,Sr 6=∅.
16: Erweitere B durch Anh¨angen der r neuen Branch-and-Bound KnotenS1, . . . ,Sr an S.
17: A←A∪ {S1, . . . ,Sr}
Bemerkungen zum B&B-Verfahren
I Das Verfahren l¨ost das Minimierungsproblem.
I Bricht man das Verfahren vor seiner Terminierung ab, so kann man zumindest f¨ur Probleme mit nicht-negativen
Zielfunktionen a posteriori eine beweisbare Absch¨atzung der Qualit¨at der bis dahin besten gefundenen L¨osungXbestgeben:
I Man berechnet untere SchrankenLS f¨ur alle noch aktiven SubproblemeS ∈A.
I Ist
Lmin= min{LS| S ∈A}>0,
so ist der Wertc(Xbest) vonXbest h¨ochstens das c(XLbest)
min -fache des Optimalwerts.
I Maximierungsprobleme lassen sich analog l¨osen.
Bemerkungen zum B&B-Verfahren
I In Schritt 1 kann man alle Arten von Heuristiken einsetzen (z.B. Simulated Annealing, evolution¨are Algorithmen, Tabusuche, lokale Suche,. . . ); diese sind jedoch kein Thema dieser Vorlesung. (Je besser die initiale primale Schranke ist, umso ¨ofter ist die Bedingung in Schritt 14 nicht erf¨ullt, und umso kleiner bleibt der Branch-and-Bound Baum.)
I In Schritt 13 kann man zus¨atzlich versuchen, mit Heuristiken f¨ur das Subpropblem S die primale SchrankeU zu verbessern.
I Wichtige Faktoren f¨ur die Effizienz:
I Qualit¨at der dualen Schranken
I Effizienz der Bestimmung der dualen Schranken
I Zusammenspiel der Branching-Regel (Art der erzeugten Subprobleme) und der Bounding-Prozedur
I Gr¨oßter Teil der mathematischen Arbeit: Strukturanalyse f¨ur den Entwurf von Bounding-Prozeduren
I In der Regel hat man keine (nicht trivialen) Absch¨atzungen f¨ur die Laufzeit.
LP-basiertes B&B
I Sei das (kombinatorische) Optimierungsproblem als ganzzahliges lineares Optimierungsproblem
min{hc,xi |Ax ≤b,x ∈Zn}
formuliert (A∈Qm×n,b∈Qm so, dass Ax ≤b nur endlich viele ganzzahlige L¨osungen besitzt).
I M¨oglichkeit f¨ur das Branching: W¨ahlei ∈[n] undκ∈Z (geeignet) und partitioniere
S ={x∈Zn|ASx ≤bS} in
S1 =S ∩ {x∈Z|xi ≤κ}={x ∈Zn|AS1x≤bS1} und
S2 =S ∩ {x ∈Z|xi ≥κ+ 1}={x∈Zn|AS2x≤bS2} (allgemeiner:branching-on-hyperplanes).
LP-basiertes B&B
I Bestimme duale Schranken durch L¨osen der LP-Relaxierungen
min{hc,xi |ASx ≤bS,x∈Qn}
(≤min{hc,xi |ASx ≤bS,x∈Zn}) (kontinuierliche lineare Optimierungsprobleme).
I Sei xS ∈Qn die gefundene Optimall¨osung der LP-Relaxierung des aktuellen SubproblemsS
I Falls xS∈Zn (alsoxS ∈ S):
I Fallshc,xSi<U: Setze am Ende von Schritt 13Xbest ←xS.
I Dann wird der Test in Schritt 14 in jedem Fall negativ ausfallen.
I Falls xS6∈Zn (und der Test in Schritt 14 positiv ausf¨allt):
W¨ahle f¨ur das Branchingi ∈[n] so, dassxiS 6∈Zund κ=bxiSc.
LP-basiertes B&B
I Die LP-Relaxierung kann auch dynamisch (mittels
Schnittebenenverfahrens) gel¨ost werden; es gen¨ugt also, wenn das System Ax ≤b ¨uber einen Separationsalgorithmus gegeben ist (vgl. die Modelle f¨ur das TSP und das Survivable Network Design Problem in Abschnitt 6.1).
I Man kann in einem solchen Schnittebenenverfahren die dualen Schranken mit beliebigen f¨ur{x∈Zn|Ax ≤b}(oder –
¨
aquivalent dazu – f¨ur conv{x∈Zn|Ax ≤b}) g¨ultigen linearen Ungleichungen zu verbessern versuchen ( Branch-and-Cut).
LP-basiertes B&B
I Deshalb sind m¨oglichst gute partielle
Ungleichungsbeschreibungen (mit zugeh¨origen
Separationsalgorithmen) des der Formulierung zu Grunde liegenden Polytops
conv{x ∈Zn|Ax ≤b}
sehr wichtig (vollst¨andige Beschreibungen k¨onnen wir bei komplexit¨atstheoretisch schwierigen Problemen ja nicht erwarten).
I Die LP-Relaxierung min{hc,xi |ASx ≤bS,x∈Qn} kann auch gel¨ost werden, indem man ihr duales LP mit Hilfe eines Separations-Algorithmus (Pricing-Algorithmus) l¨ost ( Column-Generation Verfahren); so kann man in der Praxis manchmal auch ganzzahlige lineare Optimierungsmodelle mit extrem vielen Variablen l¨osen.
1-B¨ aume
Definition 6.2
Ein1-Baum in einem GraphenG = ([n],E) ist eine KantenteilmengeF ⊆E) mit
I |F ∩δ(1)|= 2 und
I ([n]\ {1},F \δ(1)) ist ein Baum (insbeondere:|F|=n).
I Hamilton-Kreise inG sind 1-B¨aume in G.
I Istc ∈RE und F? ⊆E ein 1-Baum minimalenc-Gewichts im Graphen G = ([n],E), so gilt c(F?)≤c(H) f¨ur alle
Hamilton-Kreise H⊂E.
I Einen 1-Baum minimalen c-Gewichts kann man in O(|En|) = O(n2) Zeit berechnen (minimal aufspannender Baum in G[[n]\ {1}] und die beidenc-leichtesten Kanten aus δ(1)); das geht auch dann noch, wenn man sich auf 1-B¨aume beschr¨ankt, die eine vorgegebene Kantenteilmenge enthalten.
TSP: B&B mit 1-Baum-Schranke
I Branching: W¨ahle eine (geeignete) Kantee ∈En und erzeuge die Subprobleme
S1 ={H ∈ S |e ∈H} und S1={H∈ S |e 6∈H}.
I Bestimme in Schritt 13L als das Gewicht eines minimalen die Kantenmenge E+S enthaltenden 1-Baums im Graphen
([n],En\E−S) (wobei E+S bzw. E−S die Mengen der Kanten sind, die im Subproblem S in allen Hamilton-Kreisen enthalten bzw. nicht enthalten sind).
Approximationsalgorithmen: Ausgangsfragen
I Kann man f¨ur NP-schwere Optimierungsprobleme polynomiale Algorithmen finden, die L¨osungen mita priori bekannter G¨utegarantie bestimmen?
I Wie gut k¨onnen diese Garantien werden?
I Unterscheiden sich einzelne NP-schwere
Optimierungsprobleme hinsichtlich der prinzipiell m¨oglichen G¨utegarantien?
Approximationsalgorithmen
I Wir betrachten hier nur kombinatorische
Optimierungsprobleme, bei denen alle L¨osungen nicht-negative Zielfunktionswerte haben.
I Istk ≥1 und istAein Algorithmus, der f¨ur jede Instanz I von P in in der Kodierungsl¨ange von I polynomial
beschr¨ankter Laufzeit eine L¨osung vom Wert ω(I) berechnet mit
ω(I)≤k·OPT(I) bzw. ω(I)≥ 1k ·OPT(I) – je nachdem, ob P ein Minimierungs- oder ein
Maximierungsproblem ist – (wobei OPT(I) der Optimalwert der Instanz I sei), so heißt Aein
k-(Faktor-)Approximationsalgorithmusf¨ur P.
Beispiel: Vertex Cover Problem
Algorithmus 6.3 (2-Approximationsalgorithmus f¨ur Vertex Cover)
Eingabe: Graph G = (V,E)
Ausgabe: Vertex Cover S ⊆V von G .
1: Berechne ein inklusionsmaximales Matching M ⊆E in G .
2: S ←S
e∈Me Bemerkung 6.4
Algorithmus 6.3 ist ein2-Approximationsalgorithmus f¨ur das Vertex-Cover Problem.
Nicht-Approximierbarkeits-Resultate: Beispiel
Bemerkung 6.5
Wenn es f¨ur irgendein k ∈Neinen k-Approximationsalgorithmus f¨ur das TSP gibt, dann istP = NP.
I Es gibt auch gewichtete Optimierungsprobleme, f¨ur die Approximationsalgorithmen existieren (s.u.).
I Es gibt auch ungewichtete Probleme, f¨ur die f¨ur keink ∈N eink-Approximationsalgorithmus existiert, es sei denn P = NP (z.B. das stabile Mengen Problem oder das Graphenf¨arbungsproblem).
Euler-Touren
Definition 6.6
EineEuler-Tour in einem Graphen G = (V,E) ist ein
geschlossener PfadP, der jede Kante aus E genau einmal benutzt.
Lemma 6.7
Ein Graph G = (V,E) hat genau dann eine Euler-Tour, wenn er zusammenh¨angend ist und alle Knotengrade |δ(v)| ∈2Z(v ∈V ) gerade sind. Man kann inO(|E|)Zeit eine Euler-Tour in G bestimmen oder entscheiden, dass G keine Euler-Tour besitzt.
Metrische Kantenl¨ angen
Definition 6.8
Kantenl¨angend ∈REn des vollst¨andigen Graphen Kn= (Vn,En) heißenmetrisch, wennd ≥OEn ist und die Dreiecksungleichung
d{u,w} ≤d{u,v}+d{v,w}
f¨ur alle paarweise verschiedenenu,w,w ∈Vn gilt. Eine
TSP-Instanz heißtmetrisch, wenn ihre Kantenl¨angen metrisch sind.
Bemerkung 6.9
Ist P ein geschlossener Pfad in einem vollst¨andigen
Graphen Kn= (Vn,En) mit metrischen Kantenl¨angen d ∈RE+n, der alle Knoten wenigstens einmal besucht, so kann man aus P in O(|P|) Schritten einen Hamilton-Kreis H⊆En mit d(H)≤d(P) gewinnen.
Untere Schranken f¨ ur metrische TSPs
Bemerkung 6.10
Jeder Hamilton-Kreis enth¨alt einen aufspannenden Baum. Also gilt f¨ur f¨ur jeden Graphen G = (V,E) mit nichtnegativen
Kantenl¨angen d ∈RE, dass die d -L¨ange eines jeden
Hamilton-Kreises in G wenigstens so groß ist wie das d -Gewicht eines d -minimalen aufspannenden Baums von G
Lemma 6.11
Seien Kn= (Vn,En) ein vollst¨andiger Graph mit metrischen Kantenl¨angen d ∈REn und W ⊆Vnmit |Vn| ∈2Z. Dann gilt f¨ur jedes d -minimale perfekte Matching M ⊆ W2
in Kn[W]und f¨ur jeden Hamilton-Kreis H⊆En:
d(M)≤ d(H) 2
Christofides Algorithmus f¨ ur metrisches TSP
Algorithmus 6.12 (Christofides Algorithmus)
Eingabe: Metrische Kantenl¨angen d ∈QEn des vollst¨andigen Graphen Kn= (Vn,En)
Ausgabe: Hamilton-Kreis H⊆En
1: Bestimme d -minmal aufspannenden Baum T ⊆En von Kn.
2: W ← {v ∈Vn| |δ(v)∩T| ∈2Z+ 1}
3: Bestimme d -minimales perfektes Matching M ⊆En in Kn[W].
4: Bestimme eine Euler-Tour P im (m¨oglicherweise nicht einfachen) Graphen (Vn,T ]M) (Lem. 6.7).
5: Bestimme aus P einen Hamilton-Kreis H ⊆En mit d(H)≤d(P) (Bem. 6.9).
Satz 6.13
Christofides Algorithmus ist ein 32-Approximationsalgorithmus f¨ur das metrische TSP.
Bemerkungen zur Approximierbarkeit des TSP
I Wenn P6= NP ist, dann gibt es nicht f¨ur jedesε >0 einen (1 +ε)-Approximationsalgorithmus f¨ur das metrische TSP.
I F¨ur dasEuklidische TSP (d.h., die Knoten des Graphen entsprechen Punkten in der Euklidischen Ebene und die Kantenl¨angen sind die respektiven Euklidischen Distanzen) gibt es aber f¨ur jedes ε >0 einen
(1 +ε)-Approximationsalgorithmus (bei dem 1ε allerdings als Exponent in die Laufzeitabsch¨atzung eingeht): Das
Eukilidische TSP hat einPolynomiales Approximationsschema(PTAS).
I Trotzdem ist das Euklidische TSP noch NP-schwer.
I Das PTAS f¨ur Euklidisches TSP ist aber in der Praxis ausgefeilten Branch-and-Bound Algorithmen weit unterlegen.