a 5/8 approximation algorithm for maximum asymmetric tsp
DESCRIPTION
A 5/8 Approximation Algorithm for Maximum Asymmetric TSP. Moshe Lewenstein Bar Ilan Univ Maxim Sviridenko IBM Research. Maximum Asymmetric TSP. Input : Directed, weighted ( 0), complete graph Output : Hamiltonian cycle of maximum weight. - PowerPoint PPT PresentationTRANSCRIPT
A 5/8 Approximation Algorithm for Maximum Asymmetric TSP
Moshe Lewenstein Bar Ilan Univ
Maxim Sviridenko IBM Research
Maximum Asymmetric TSP
Input: Directed, weighted ( 0), complete graph
Output: Hamiltonian cycle of maximum weight
a.k.a. Taxicab Ripoff problem
Motivation - Minimum Superstring Problem
Input: string s1, . . . , sk
Output: minimum size string S,
s.t. for each i, si is a substring of S
s1 = abcab s2 = bcabbb s3 = abababcEx:
S = abababcabbb
Motivation - Minimum Superstring Problem
Input: string s1, . . . , sk
Output: minimum size string S,
s.t. for each i, si is a substring of S
s1 = abcab s2 = bcabbb s3 = abababcEx:
S = abababcabbb
Motivation - Minimum Superstring Problem
Input: string s1, . . . , sk
Output: minimum size string S,
s.t. for each i, si is a substring of S
s1 = abcab s2 = bcabbb s3 = abababcEx:
S = abababcabbb
Motivation - Minimum Superstring Problem
Input: string s1, . . . , sk
Output: minimum size string S,
s.t. for each i, si is a substring of S
s1 = abcab s2 = bcabbb s3 = abababcEx:
S = abababcabbbb
Motivation - Minimum Superstring Problem
Input: string s1, . . . , sk
Output: minimum size string S,
s.t. for each i, si is a substring of S
[BJJ ‘96] f-approximation for max TSP a (3.5 - 1.5 f)-approx. for min superstring
Overlap graph: si sj
ov(si,sj)
ov(sj,si)... ...
Maximum Asymmetric TSP - Results
Max-SNP hard: Papadimitriou and Yanankakis, 1993
319/320 hardness: Engebresten and Karpinski, 2001
Approximations:
1/2: Fisher, Nemhauser and Wolsey, 1979
4/7: Koval’ov and Kotov, 1986
38/63: Kosaraju, Park and Stein, 1994
8/13: Blaeser, 2001
5/8: Lewenstein and Svirdenko, 2002
Maximum TSP - special cases
Maximum {0,1}-ATSP 7/12: Vishwanathan, 1992 2/3: Blaeser and Siebert, 2001Maximum {0,1}-STSP 5/6: Papadimitriou and Yannakakis, 1993Maximum ATSP with triangle inequality 3/4: Kostochka and Serdyukov, 1985Maximum STSP 2/3: Fisher, Nemhauser and Wolsey, 1979 13/18: Kovalev and Kotov, 1984 3/4: Serdyukov, 1984 25/33: Hassin and Rubinstein, 2000Maximum STSP with triangle inequality 5/6: Kostochka and Seryukov, 1985 7/8: Hassin and Rubinstein, 2001 Maximum STSP in geometric spaces PTAS in Euclidian spaces: Seryukov, 1987 PTAS in spaces with Minkowski norm: Serdyukov, 1995 PTAS for more generalized space: Barvinok, 1996 poly time for specialized spaces: Barvinok, Johnson, et. al. 1998
Upper Bound 1: Maximum Matching
Claim: For graphs G with an even # of vertices:
Max Matching ½ Max TSP.
Pf:
opt
Upper Bound 1: Maximum Matching
Pf:
opt
Claim: For graphs G with an even # of vertices:
Max Matching ½ Max TSP.
Upper Bound 2: Maximum Cycle Cover
A cycle cover : a collection of disjoint cycles.
Maximum Cycle Cover Max TSP.
Upper Bound 2: Maximum Cycle Cover
A cycle cover : a collection of disjoint cycles.
Fact: A maximum cycle cover can be found in
polynomial time.
Path Collections
Path Collection: A subset of edges, where each
connected component is a simple path
108
6
7
9
75
1.5 3 3
2
4 30
2
2.5
01
5
32
Path Collections
Path Collection: A subset of edges, where each
connected component is a simple path
Path Collections and Max TSP
Observation: Finding a path collection PC with weight
w(PC) f*w(opt) implies an
f-approximation for Max-TSP.
Upper Bound 1: Maximum Matching
A maximum matching is a path collection.
Corol: For graphs G with an even # of vertices there
is a 1/2 approximation for Max TSP.
Upper Bound 2: Maximum Cycle Cover
[FNW]: There is a 1/2-approx. algorithm for Max TSP.
10
52
7.5 6
3
411
9 33
15
5 23.4
5
4
127
9
Upper Bound 2: Maximum Cycle Cover
[FNW]: There is a 1/2-approx. algorithm for Max TSP.
10
52
7.5 6
3
411
9 33
15
5 23.4
5
4
127
9
Upper Bound 2: Maximum Cycle Cover
[FNW]: There is a 1/2-approx. algorithm for Max TSP.
10 7.53
411
33
15 3.45 7
at least half of weight left.
1296
“Wishful Thinking” Solution
1. Find a “special” maximum cycle cover C in G,
where each cycle is of length 3
2. Discard cheapest edge from each cycle,
creating path collection
3. Complete to TSP
Would yield: A 2/3 approximation factor
Outline of Algorithms of KPS and B
Assumption: input graph G=(V,E) has an even # of vertices
1. Find a maximum matching M in G
2. Find a maximum cycle cover C in G
3. Set G’=(V, M C)
4. Discard a well-chosen subset of edges from G’
s.t. G’ can be split into two path collect. <E1, E2>
5. Choose Ei where w(Ei) = max{w(E1), w(E2)}
Approximation Factors: [KPS]: 38/63 [B]: 8/13
Outline of Algorithms of KPS and B
Assumption: input graph G=(V,E) has an even # of vertices
1. Find a maximum matching M in G
2. Find a maximum cycle cover C in G
3. Set G’=(V, M C)
4. Discard a well-chosen subset of edges from G’
s.t. G’ can be split into two path collect. <E1, E2>
5. Choose Ei where w(Ei) = max{w(E1), w(E2)}
Approximation Factors: [KPS]: 38/63 [B]: 8/13
w(M) 1/2*w(opt)
w(C) w(opt)
Path Coloring Lemma
Lemma: [KPS] Let G=(V,E) be a graph such that:
(1) indegree(v) 2 for each v V
outdegree(v) 2
Totaldegree(v) 3
(2) there is no 2-cycle
then E can be split into two path collections
Note: M C satisfies property (1)
Generalized Path Coloring Lemma
Lemma: [KPS] Let G=(V,E) be a graph such that:
(1) indegree(v) 2 for each v V
outdegree(v) 2
Totaldegree(v) 3
(2) there is no cycle with a local back edge
then E can be split into two
path collections
Note: M C satisfies property (1)
“Wishful Thinking” Solution
1. Find a “special” maximum cycle cover C in G,
where each cycle is of length 3
2. Discard cheapest edge from each cycle,
creating path collection
3. Complete to TSP
Would yield: A 2/3 approximation factor
IP for Cycle Cover
Max wuvxuv
xuv = 1 u V (outdegree constraints)
xuv = 1 v V (indegree constraints)
xuv {0,1}
Euv
Vv
Vu
IP for Cycle Cover w/o 2-cycles
Max wuvxuv
xuv = 1 u V (outdegree constraints)
xuv = 1 v V (indegree constraints)
xuv + xvu 1 (2-cycle constraints)
xuv {0,1}
Euv
Vv
Vu
LP for Cycle Cover w/o 2-cycles
Max wuvxuv
xuv = 1 u V (outdegree constraints)
xuv = 1 v V (indegree constraints)
xuv + xvu 1 (2-cycle constraints)
0 xuv 1 - Relaxation
Note: w(LP) w(opt)
Euv
Vv
Vu
Multigraph of LP Solution
Max wuvxuv
xuv = 1 u V
xuv = 1 v V
xuv + xvu 1
0 xuv 1
Euv
Vv
Vu
Let {xuv*} be an LP solution.Define D to be the minimalinteger s.t. Dxuv* is integer(for all uv E).
GD is the multigraph on vertex set V, with edges:
...
wuv
Dxuv* edgesu v
Properties of GD
Def: GD is the multigraph on vertex set V, with edges:
...u v (Dxuv* edges)
1. indegree(v) = Dxuv* = D xuv* = D
2. outdegree(u) = Dxuv* = D xuv* = D
Vu
Vu
Vv
Vv
Ee
3. w(GD) = w(e) = D w(LP) D w(opt)
Cycle Covers and Perfect Matchings
Fact: 1. A cycle cover in G a perfect matching in B(G)
Theorem: E(GD) can be partitioned into D cycle covers.
G= (V,E) B(G) V V
... ...u w
u
w
B(GD) can be partitioned into D perfect matchings.
2. B(GD) is a D-regular graph.
Situation
Max wuvxuv
xuv = 1 u V
xuv = 1 v V
xuv + xvu 1
0 xuv 1
Euv
Vv
Vu
Choose integer Ds.t. Dxuv* is integer.
Construct GD on V, with edges:
...u v (Dxuv* edges)Partition GD into D cycle covers
. . .
C1 C2 C3 CD
Properties of Cycle Cover Collection
. . .
C1 C2 C3 CD
1. w(Ci) = w(GD) D w(opt)
2. each Ci is a cycle cover of original G.
D
i 1
Properties of Cycle Cover Collection
. . .
C1 C2 C3 CD
1. w(Ci) = w(GD) D w(opt)
2. each Ci is a cycle cover of original G.
3. u,v V, # of edges (u,v) and (v,u) in Ci D
D
i 1
D
i 1
Reason: xuv* + xvu* 1 Dxuv* + Dxvu* D
Throw in a Matching
. . .
G1 G2 G3 GD
Next step: Find a maximum matching M on G and add M to each Ci - Gi = M Ci
Note: w(M) 1/2*w(opt) D*w(M) D*
1/2*w(opt)
w(Gi) = D*w(M) + w(Ci)
D*1/2*w(opt) + D*w(opt) =
D*3/2*w(opt)
D
i 1
D
i 1
Outline of Goal
Goal: Remove edges from the Gis so that:
(1) each Gi can be partitioned into 2 path collections
(2) weight of edges removed 1/2*D*w(M)
Why? (1) w(Gi) 1/2*D*w(M) + w(Ci)
1/4*D*w(opt) + D*w(opt) = D*5/4*w(opt)
(2) There are 2D path collections.
There is a path collection PC, where
w(PC) (D*5/4*w(opt))/(2D) = 5/8*w(opt)
D
i 1
D
i 1
Tool to Achieve Goal
Goal: Remove edges from the Gis so that:
(1) each Gi can be partitioned into 2 path collections
(2) weight of edges removed 1/2*D*w(M)
Let G=(V,E) be a multigraph such that:(1) indegree(v) 2 for each v V outdegree(v) 2 Totdegree(v) 3(2) there is no cycle with a local back edge
then E can be split into two path collections
Generalized Path Coloring Lemma
Cycles with Local Back Edges
. . .
G1 G2 G3 GD
Potential Cycles with Local Back Edges
1.
2.
3.
Matching edgeCycle Cov. edge
Transformation - Problem 1
Claim: If f Gis with two “yellow” edges between u and v then f Gis with no “yellow” edges betw. u and v
. . .
G1 G2 G3 GD
u v
m
u v
m
u v
m
u v
m
Pf: u, v V, # of edges (u,v) and (v,u) in Ci D f with 2 edges, g with 1 2f+g D f+g D-f
D
i 1
Transformation - Problem 1
Claim: If f Gis with two “yellow” edges between u and v then f Gis with no “yellow” edges betw. u and v
u v
m
u v
m
u v
m
u v
m
Pair:
u v
m
u v
m
u v
m
u v
Transform:
One m-edge remains for each m-edge removed1/2 of match-weight remains.
Transformation - Problem 1
Problem Pair:
u v
m m
Can’t remove one and charge against other.
Transform:
u v
m
Still only one m-edge removed.
Transformation - Problem 3
Delete cheapest matching edge.
Charge removed matching edge against anotherremaining matching edge on same path.
Goal Achieved
Goal: Remove edges from the Gis so that:
(1) Each Gi can be partitioned into 2 path collections
(follows from Generalized Path Coloring Lemma). (2) weight of edges removed 1/2*D*w(M).
w(Gi) 1/2*D*w(M) + w(Ci)
1/4*D*w(opt) + D*w(opt) = D*5/4*w(opt)
There is a path collection PC (out of 2D) where:
w(PC) (D*5/4*w(opt))/(2D) = 5/8*w(opt)
D
i 1
D
i 1
Theorem: There is a 5/8-approx. algo. For Max TSP.
Non Polynomial D - Outline
Let {xuv*} be the solution to the LP.
Define |V|x|V| matrix M, where entry (u,v) is xuv*
Claim: M is doubly stochastic.
Fact: Any doubly stochastic matrix can be represented
as the convex combination of at most |V|2
permutation matrices.
permutation matrix perfect matching in B(G)cycle cover in G