• Keine Ergebnisse gefunden

Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)"

Copied!
44
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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)

(2)

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.

(3)

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

(4)

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.

(5)

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

(6)

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.

(7)

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+

(8)

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.

(9)

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

(10)

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.

(11)

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

(12)

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}.

(13)

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

(14)

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)

(15)

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}.

(16)

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

(17)

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).

(18)

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.

(19)

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.

(20)

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}.

(21)

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 .

(22)

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).

(23)

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

(24)

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

(25)

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.

(26)

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.

(27)

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}

(28)

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 ur alle noch aktiven SubproblemeS ∈A.

I Ist

Lmin= min{LS| S ∈A}>0,

so ist der Wertc(Xbest) vonXbest ochstens das c(XLbest)

min -fache des Optimalwerts.

I Maximierungsprobleme lassen sich analog l¨osen.

(29)

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.

(30)

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).

(31)

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.

(32)

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).

(33)

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.

(34)

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.

(35)

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\ES) (wobei E+S bzw. ES die Mengen der Kanten sind, die im Subproblem S in allen Hamilton-Kreisen enthalten bzw. nicht enthalten sind).

(36)

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?

(37)

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.

(38)

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.

(39)

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).

(40)

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.

(41)

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.

(42)

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

(43)

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.

(44)

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.

Referenzen

ÄHNLICHE DOKUMENTE

die in (a) und (b) genannten Gleichungen sind genau dieselben und werden durch BA1–BA4 axiomatisiert.. Die Umkehrungen zu (a) und (b) sind leicht nachzupr¨

[r]

[r]

Daher beschließt er diesen jeden Tag mindestens einmal zu ¨ uben, jedoch h¨ ochstens 12 Mal in einer Woche, um seine Kr¨ afte einzuteilen. Zeigen Sie, dass es einen

• Die Anzahl der Elemente, welche in genau einer der Mengen enthalten sind, ist doppelt so groß wie die Anzahl der Elemente, die im Durchschnitt von genau zwei der Mengen

Dezember 2018, 11:00 Uhr, in die gekennzeichneten Briefk¨ asten hinter Raum PK 4.3. Sie ben¨ otigen mindestens 50% der Hausaufgabenpunkte f¨ ur

Januar 2019, 11:00 Uhr, in die gekennzeichneten Briefk¨ asten hinter Raum PK 4.3. Sie ben¨ otigen mindestens 50% der Hausaufgabenpunkte f¨ ur

Es gibt einen Algorithmus, der f¨ ur mittels Adjazenzliste gegebenes D in O(|V | + |A|) Zeit eine topologische Sortierung von D berechnet oder feststellt, dass D einen Kreis hat...