s-t path tsp and the randomized christofides algorithm · 2019-04-30 · s-tpathtspandtherandomized...
TRANSCRIPT
s-t path TSP and the randomizedChristofides algorithm
Shatian Wang
URA @ CO, UWaterloo
Oct., 2016
S. Wang (Carleton College) s-t path TSP Oct., 2016 1 / 16
Combinatorial Optimization
Finite set of objects S
Optimal object oopt 2 S
Exhaustive search?
S. Wang (Carleton College) s-t path TSP Oct., 2016 2 / 16
TSP: 49-City Instance
|S| = (49-1)!/2 =
6,206,957,796,268,036,335,431,144,523,686,687,519,260,743,177,338,880,000,000,000
S. Wang (Carleton College) s-t path TSP Oct., 2016 3 / 16
TSP: 49-City Instance
|S| = (49-1)!/2 =
6,206,957,796,268,036,335,431,144,523,686,687,519,260,743,177,338,880,000,000,000
S. Wang (Carleton College) s-t path TSP Oct., 2016 3 / 16
General TSP
NP-hardI no polynomial time algorithm that finds the exactoptimal solution: OPT.
Approximation algorithmI algorithm that finds a near to optimal solution.
Minimization Problem (e.g. TSP)I assign a cost to each objectI optimal object minimize the cost
Approximation ratio ¸I c(output) » ¸ˆ c(OPT).I ¸-approximation algorithm.
S. Wang (Carleton College) s-t path TSP Oct., 2016 4 / 16
General TSP
NP-hardI no polynomial time algorithm that finds the exactoptimal solution: OPT.
Approximation algorithmI algorithm that finds a near to optimal solution.
Minimization Problem (e.g. TSP)I assign a cost to each objectI optimal object minimize the cost
Approximation ratio ¸I c(output) » ¸ˆ c(OPT).I ¸-approximation algorithm.
S. Wang (Carleton College) s-t path TSP Oct., 2016 4 / 16
General TSP
NP-hardI no polynomial time algorithm that finds the exactoptimal solution: OPT.
Approximation algorithmI algorithm that finds a near to optimal solution.
Minimization Problem (e.g. TSP)I assign a cost to each objectI optimal object minimize the cost
Approximation ratio ¸I c(output) » ¸ˆ c(OPT).I ¸-approximation algorithm.
S. Wang (Carleton College) s-t path TSP Oct., 2016 4 / 16
General TSP
NP-hardI no polynomial time algorithm that finds the exactoptimal solution: OPT.
Approximation algorithmI algorithm that finds a near to optimal solution.
Minimization Problem (e.g. TSP)I assign a cost to each objectI optimal object minimize the cost
Approximation ratio ¸I c(output) » ¸ˆ c(OPT).I ¸-approximation algorithm.
S. Wang (Carleton College) s-t path TSP Oct., 2016 4 / 16
metric s-t path TSPGiven a complete graph G = (V ;E)with metric edge costsand two fixed vertices s; t 2 V.
Find a minimum cost Hamiltonian path from s to t.I a path that meets every graph vertex exactly onceI starting from s and ending at t
1
1 p2
p2
1
1
a b
c d
s
t
S. Wang (Carleton College) s-t path TSP Oct., 2016 5 / 16
metric s-t path TSPGiven a complete graph G = (V ;E)with metric edge costsand two fixed vertices s; t 2 V.
Find a minimum cost Hamiltonian path from s to t.I a path that meets every graph vertex exactly onceI starting from s and ending at t
1
1 p2
p2
1
1
a b
c d
s
t
S. Wang (Carleton College) s-t path TSP Oct., 2016 5 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
Definition (T-join)T := set of vertices; |T| = evenF := set of edges, s.t. dgr (v ) = odd w.r.t. F , v 2 T .F is a T-join.
a b c
d e
f g
S. Wang (Carleton College) s-t path TSP Oct., 2016 6 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
Definition (T-join)T := set of vertices; |T| = evenF := set of edges, s.t. dgr (v ) = odd w.r.t. F , v 2 T .F is a T-join.
a b c
d e
f g
c
g
a
f
S. Wang (Carleton College) s-t path TSP Oct., 2016 6 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
Definition (T-join)T := set of vertices; |T| = evenF := set of edges, s.t. dgr (v ) = odd w.r.t. F , v 2 T .F is a T-join.
a b c
d e
f g
c
g
a
f
S. Wang (Carleton College) s-t path TSP Oct., 2016 6 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )
c(J) » c(OPT); c(F ) » 23c(OPT)
53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)
53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
Christofides’ Algorithm(Extended by Hoogeveen 1990)
a b c
d e
f g
s
t
s c
f g
c(HamiltonianPath) » c(EularienWalk) = c(J + F ) =c(J) + c(F )c(J) » c(OPT); c(F ) » 2
3c(OPT)53-approximation algorithm
S. Wang (Carleton College) s-t path TSP Oct., 2016 7 / 16
An, Kleinberg and Shmoys (2012)the Randomized Christofides
First improvement to 53 (1990 Hoogeveen)
LP-based algorithm:I the "Randomized Christofides"
Upper bounded approximation ratio byI
p5+12 = 1:618
S. Wang (Carleton College) s-t path TSP Oct., 2016 8 / 16
LP: Linear Programming
Objective function to minimize/maximize
Linear constraints
Example:
minimize: c1x1 + c2x2
subject to:I a11x1 + a12x2 » b1I a21x1 + a22x2 » b2I a31x1 + a32x2 » b3I x1 – 0
I x2 – 0
minimize: cTxsubject to:I Ax » bI x – 0
where c =
24c1c2
35, x =
24x1x2
35,b =
2664b1b2b3
3775, A =
2664a11a12a13a21a22a23a31a32a33
3775
S. Wang (Carleton College) s-t path TSP Oct., 2016 9 / 16
LP: Linear Programming
Objective function to minimize/maximize
Linear constraints
Example:
minimize: c1x1 + c2x2
subject to:I a11x1 + a12x2 » b1I a21x1 + a22x2 » b2I a31x1 + a32x2 » b3I x1 – 0
I x2 – 0
minimize: cTxsubject to:I Ax » bI x – 0
where c =
24c1c2
35, x =
24x1x2
35,b =
2664b1b2b3
3775, A =
2664a11a12a13a21a22a23a31a32a33
3775
S. Wang (Carleton College) s-t path TSP Oct., 2016 9 / 16
LP: Linear Programming
Objective function to minimize/maximize
Linear constraints
Example:
minimize: c1x1 + c2x2
subject to:I a11x1 + a12x2 » b1I a21x1 + a22x2 » b2I a31x1 + a32x2 » b3I x1 – 0
I x2 – 0
minimize: cTxsubject to:I Ax » bI x – 0
where c =
24c1c2
35, x =
24x1x2
35,b =
2664b1b2b3
3775, A =
2664a11a12a13a21a22a23a31a32a33
3775
S. Wang (Carleton College) s-t path TSP Oct., 2016 9 / 16
s-t path TSP: IP Formulation
minimize: Xe2Ecexe = cTx
subject to:I x(‹(s)) = x(‹(t)) = 1
I x(‹(v )) = 2 ————— 8 v 6= s; tI x(‹(S)) – 1 ————— 8 jS \ fs; tgj = 1
I x(‹(S)) – 2 ————— 8 ; ( S ( V ; jS \ fs; tgj evenI xe = 0 or xe = 1 ———— 8 e 2 E
Also NP-hard!
S. Wang (Carleton College) s-t path TSP Oct., 2016 10 / 16
s-t path TSP: LP-relaxations
L.P.1 (Held-Karp Relaxation for s-t path TSP)I minimize: X
e2Ecexe = cTx
I subject to:F x(‹(s)) = x(‹(t)) = 1
F x(‹(v )) = 2 ——————– 8 v 6= s; tF x(‹(S)) – 1 ——————– 8 jS \ fs; tgj = 1
F x(‹(S)) – 2 ——————– 8 ; ( S ( V ; jS \ fs; tgj evenF 1 – xe – 0 ——————— 8 e 2 E
Can compute optimal solution x˜ in polytime.
x˜ might contain fractional values.
S. Wang (Carleton College) s-t path TSP Oct., 2016 11 / 16
The Randomized Christofides Algorithm
1 Find the optimal solution to LP1: x˜
2 Write x˜ as a convex combination of spanning trees:
x˜ =XpiX Ji
I X Ji is the incidence vector of spanning tree Ji
I pi – 0;Ppi = 1
3 Sample a spanning tree Jaccording to the probability defined by pi ’s.
4 Perform Christofides algorithm on J.
S. Wang (Carleton College) s-t path TSP Oct., 2016 12 / 16
The Randomized Christofides:Made-up Example
X J1 :[1; 0; 1; 0; 1; 0]T
a b
c d
s
t
X J2 :[0; 1; 1; 1; 0; 0]T
a b
c d
s
t
X J3 :[0; 1; 1; 0; 1; 0]T
a b
c d
s
t
x˜ = 0:3X J1 + 0:2X J2 + 0:5X J3
S. Wang (Carleton College) s-t path TSP Oct., 2016 13 / 16
The Randomized Christofides:Made-up Example
X J1 :[1; 0; 1; 0; 1; 0]T
a b
c d
s
t
X J2 :[0; 1; 1; 1; 0; 0]T
a b
c d
s
t
X J3 :[0; 1; 1; 0; 1; 0]T
a b
c d
s
t
b
c
x˜ = 0:3X J1 + 0:2X J2 + 0:5X J3
S. Wang (Carleton College) s-t path TSP Oct., 2016 13 / 16
The Randomized Christofides:Made-up Example
X J1 :[1; 0; 1; 0; 1; 0]T
a b
c d
s
t
X J2 :[0; 1; 1; 1; 0; 0]T
a b
c d
s
t
X J3 :[0; 1; 1; 0; 1; 0]T
a b
c d
s
t
b
c
x˜ = 0:3X J1 + 0:2X J2 + 0:5X J3
S. Wang (Carleton College) s-t path TSP Oct., 2016 13 / 16
The Randomized Christofides:Made-up Example
X J1 :[1; 0; 1; 0; 1; 0]T
a b
c d
s
t
X J2 :[0; 1; 1; 1; 0; 0]T
a b
c d
s
t
X J3 :[0; 1; 1; 0; 1; 0]T
a b
c d
s
t
b
c
x˜ = 0:3X J1 + 0:2X J2 + 0:5X J3
S. Wang (Carleton College) s-t path TSP Oct., 2016 13 / 16
The Randomized Christofides:Made-up Example
X J1 :[1; 0; 1; 0; 1; 0]T
a b
c d
s
t
X J2 :[0; 1; 1; 1; 0; 0]T
a b
c d
s
t
X J3 :[0; 1; 1; 0; 1; 0]T
a b
c d
s
t
b
c
x˜ = 0:3X J1 + 0:2X J2 + 0:5X J3
S. Wang (Carleton College) s-t path TSP Oct., 2016 13 / 16
The Randomized Christofides: Analysis
E(c(HamPath)) » E(c(J)) + E(c(F))
x˜ =XpiX Ji
E(c(J)) = c(x˜)
E(c(HamPath)) » c(x˜) + E(c(F))
c(x˜) » c(OPT)
S. Wang (Carleton College) s-t path TSP Oct., 2016 14 / 16
The Randomized Christofides: Analysis
E(c(HamPath)) » E(c(J)) + E(c(F))
x˜ =XpiX Ji
E(c(J)) = c(x˜)
E(c(HamPath)) » c(x˜) + E(c(F))
c(x˜) » c(OPT)
S. Wang (Carleton College) s-t path TSP Oct., 2016 14 / 16
The Randomized Christofides: Analysis
E(c(HamPath)) » E(c(J)) + E(c(F))
x˜ =XpiX Ji
E(c(J)) = c(x˜)
E(c(HamPath)) » c(x˜) + E(c(F))
c(x˜) » c(OPT)
S. Wang (Carleton College) s-t path TSP Oct., 2016 14 / 16
The Randomized Christofides: Analysis
E(c(HamPath)) » E(c(J)) + E(c(F))
x˜ =XpiX Ji
E(c(J)) = c(x˜)
E(c(HamPath)) » c(x˜) + E(c(F))
c(x˜) » c(OPT)
S. Wang (Carleton College) s-t path TSP Oct., 2016 14 / 16
The Randomized Christofides: Analysis
E(c(HamPath)) » E(c(J)) + E(c(F))
x˜ =XpiX Ji
E(c(J)) = c(x˜)
E(c(HamPath)) » c(x˜) + E(c(F))
c(x˜) » c(OPT)
S. Wang (Carleton College) s-t path TSP Oct., 2016 14 / 16
Towards bounding E(c(F))
An, Kleinberg, Shmoys (2012):I E(c(F)) » 0:618c(x˜) » 0:618c(OPT)
I E(c(HamPath)) » c(x˜) + 0:618c(x˜) » 1:618c(OPT)
I 1.618-approximation algorithm
Sebo (2013)I E(c(F)) » 0:6c(x˜).
I 1.6-approximation algorithm
Gottschalk, Vygen (2015)I Better convex combination.
I 1.566-approximation algorithm
Sebo (2016)I 1.53-approximation algorithm
LP-based 1.5-approximation algorithm?
S. Wang (Carleton College) s-t path TSP Oct., 2016 15 / 16
Towards bounding E(c(F))
An, Kleinberg, Shmoys (2012):I E(c(F)) » 0:618c(x˜) » 0:618c(OPT)
I E(c(HamPath)) » c(x˜) + 0:618c(x˜) » 1:618c(OPT)
I 1.618-approximation algorithm
Sebo (2013)I E(c(F)) » 0:6c(x˜).
I 1.6-approximation algorithm
Gottschalk, Vygen (2015)I Better convex combination.
I 1.566-approximation algorithm
Sebo (2016)I 1.53-approximation algorithm
LP-based 1.5-approximation algorithm?
S. Wang (Carleton College) s-t path TSP Oct., 2016 15 / 16
Towards bounding E(c(F))
An, Kleinberg, Shmoys (2012):I E(c(F)) » 0:618c(x˜) » 0:618c(OPT)
I E(c(HamPath)) » c(x˜) + 0:618c(x˜) » 1:618c(OPT)
I 1.618-approximation algorithm
Sebo (2013)I E(c(F)) » 0:6c(x˜).
I 1.6-approximation algorithm
Gottschalk, Vygen (2015)I Better convex combination.
I 1.566-approximation algorithm
Sebo (2016)I 1.53-approximation algorithm
LP-based 1.5-approximation algorithm?
S. Wang (Carleton College) s-t path TSP Oct., 2016 15 / 16
Towards bounding E(c(F))
An, Kleinberg, Shmoys (2012):I E(c(F)) » 0:618c(x˜) » 0:618c(OPT)
I E(c(HamPath)) » c(x˜) + 0:618c(x˜) » 1:618c(OPT)
I 1.618-approximation algorithm
Sebo (2013)I E(c(F)) » 0:6c(x˜).
I 1.6-approximation algorithm
Gottschalk, Vygen (2015)I Better convex combination.
I 1.566-approximation algorithm
Sebo (2016)I 1.53-approximation algorithm
LP-based 1.5-approximation algorithm?
S. Wang (Carleton College) s-t path TSP Oct., 2016 15 / 16
Towards bounding E(c(F))
An, Kleinberg, Shmoys (2012):I E(c(F)) » 0:618c(x˜) » 0:618c(OPT)
I E(c(HamPath)) » c(x˜) + 0:618c(x˜) » 1:618c(OPT)
I 1.618-approximation algorithm
Sebo (2013)I E(c(F)) » 0:6c(x˜).
I 1.6-approximation algorithm
Gottschalk, Vygen (2015)I Better convex combination.
I 1.566-approximation algorithm
Sebo (2016)I 1.53-approximation algorithm
LP-based 1.5-approximation algorithm?
S. Wang (Carleton College) s-t path TSP Oct., 2016 15 / 16
Thank you! Questions?
S. Wang (Carleton College) s-t path TSP Oct., 2016 16 / 16