### Lecture 14, 29 April 2014

```The Traveling Salesman Problem
in Theory & Practice
Lecture 14: More on Maximum TSP Problems
29 April 2014
David S. Johnson
[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */
http://davidsjohnson.net
Seeley Mudd 523, Tuesdays and Fridays
Outline
1. The Asymmetric Maximum TSP
2. The “Maximum Scatter” TSP
3. The “Bottleneck” TSP
4. Outline
5. Student Presentation by Itai Feigenbaum
The Asymmetric Max TSP
•
The standard maximum weight matching yields a (directed) cycle cover with
cycles of length 2 possible, so the naive algorithm
– Delete one edge from each cycle and patch arbitrarily into a tour
•
only guarantees a solution that is (1/2)OPT.
•
An algorithm with an improved (5/8)OPT guarantee was presented by
Lewenstein & Sviridenko in a 2003 SIAM J. Discrete Math. paper.
•
The next step was an algorithm with a (2/3)OPT guarantee, presented by
Kaplan, Lewenstein, Shafrir, & Sviridenko in a 2005 J. ACM paper.
•
Current state-of-the-art: An algorithm with a (3/4)OPT guarantee,
claimed in an arXiv posting by Katarazyna Paluch on 15 Jan 2014.
•
If you are willing to assume the Δ-Inequality (but no polyhedral norm), the
current champ is an algorithm with a (35/44)OPT guarantee was presented
by Kowalik & Mucha in Algorithmica (2011). (Improving 3/4 to 0.795454..)
•
(They also have an algorithm with an (7/8)OPT guarantee for the
symmetric Max TSP, assuming the Δ-inequality but no polyhedral norm, that
went unmentioned last week, and improves on 7/9 without the Δ-inequality.)
Non-Triangular Asymmetric History: 0.5000 ➟ 0.6250 ➟ 0.6666.. ➟ 0.75000
Getting a (2/3)OPT Guarantee More Simply
[Paluch, Elbassioni, & van Zuylen (2012)]
Idea: Avoid having 2-cycles in the maximum matching via using “halfedges” and a gadget (also used in the subsequent (3/4)OPT algorithm).
tail(i,j)
head(i,j)
outi
ini
inj
vi{i,j}
head(j,i)
vj{i,j}
tail(j,i)
outj
Getting a (2/3)OPT Guarantee More Simply
[Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j)
head(i,j)
outi
ini
inj
vi{i,j}
head(j,i)
vj{i,j}
outj
tail(j,i)
WeightWeight
w(i,j): Yields
edge i(i,j)
0: No directed
edge between
andfrom
j. i to j.
Getting a (2/3)OPT Guarantee More Simply
[Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j)
head(i,j)
outi
ini
inj
vi{i,j}
head(j,i)
vj{i,j}
outj
tail(j,i)
WeightWeight
w(j,i): Yields
edge (j,i)
0: No directed
edge between
i andfrom
j. j to i.
Getting a (2/3)OPT Guarantee More Simply
[Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j)
head(i,j)
outi
ini
inj
vi{i,j}
head(j,i)
vj{i,j}
outj
tail(j,i)
Weight (w(i,j)+w(j,i))/2: Yields undirected “double-in” edge between i and j.
Getting a (2/3)OPT Guarantee More Simply
[Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j)
head(i,j)
outi
ini
inj
vi{i,j}
head(j,i)
vj{i,j}
outj
tail(j,i)
Weight (w(i,j)+w(j,i))/2: Yields undirected “double-out” edge between i and j.
Getting to a Tour
•
The maximum weight matching in our constructed half-weigh-edge graph
has total edge weight at least that of a maximum weight tour in the
original graph.
•
It also yields a set of edges in our original graph (ignoring directions)
that is a cover by cycles of length at least 3.
•
We will
– take two copies of each edge in this cover (with each undirected edge
represented by two directed edges in opposite directions*, and with the total
weight being at least 2OPT),
– construct three sets P1, P2, and P3 of vertex-disjoint directed paths from
these copies, and
– extend each arbitrarily to a tour.
•
The largest of these three tours will thus have to be at least (2/3)OPT.
•
Here are the details:
*Note: 2weight{i,j} = 2(weight(i,j)+weight(j,i))/2 = weight(i,j) + weight(j,i)
Case 1: Directed Cycle
•
Consider a cycle H in which all the edges are directed (and hence must
be consistently directed).
•
Pick two adjacent edges ei, ej from H.
– Put {ei,ej} in P1.
– Put H – {ei} in P2.
– Put H – {ej} in P3.
•
Note that each edge goes into exactly two of the sets.
•
Note also that this adds no cycles to any of the Pi since in each case at
least one edge is deleted from H.
ej
ei
Case 2: Cycle containing undirected edges,
not all directed edges with same orientation
•
•
Consider a cycle H containing at least one undirected edge, and with no
consistent direction for all the directed edges it contains.
Note that there must be equal numbers of “double-in” and “double-out”
undirected edges, and these must alternate in the cycle, perhaps
separated by paths of directed edges (consistently directed).
–
–
–
Put all clockwise directed edges and all undirected edges (converted to clockwise
directed edges) into P1.
Put all counter-clockwise directed edges and undirected edges (converted to counterclockwise directed edges) into P2.
Put all directed edges into P3.
in
out
out in
in
out
out
in
Case 3: Cycle containing undirected edges,
all directed edges with the same orientation
•
•
•
•
Consider a cycle H containing at least one undirected edge, and with all
the directed edges it contains having the same orientation, say clockwise.
Note that there must be equal numbers of “double-in” and “double-out”
undirected edges, which now must come as adjacent pairs.
Pick one undirected out edge eout and one undirected in edge ein.
Direct all the undirected edges in the same orientation (that of the
directed edges, if any are present).
– Put all edges except ein in P1.
– Put all edges except eout in P2.
– Put eout and ein into P3, both with their directions reversed.
out
eout einin
out
in
What about non-symmetric unit balls?
These yield “quasi-norms” (triangle inequality but no symmetry) and
our results carry over, although now the faces do not pair up and we
need a tunnel for each face, with a directed edge from i to j having to
enter a tunnel from the front and exit from the rear. So we have
Theorem [BFJTWW, 2003]: Suppose we are given a polyhedral
quasi-norm for Rd, d ≥ 2, whose unit ball has f faces. Then the
Maximum TSP for a set of N points in Rd can be solved in time O(N2f2logN) on a real number RAM.
(A polynomial-time algorithm for the special case of R2 with a
triangle for the unit ball was presented in [Serdyukov, 1995].)
A modified version of Serdukov’s “asymptotically optimal” algorithm
seems still to apply, although now only with a guarantee of
(1 – 1/N)2fOPT(C)
This is because we cannot merge cycles for free unless they contain
edges that use the same tunnel in the same direction, and you need
three cycles sharing a tunnel to guarantee this.
The Maximum Scatter TSP
[Arkin, Chiang, Mitchell, Skiena, Yang, SIAM J. Comput. (1990)]
•
Find the largest D such that there exists a Hamilton cycle with all
edges of length D or more.
•
Applications:
– Mobile Bankrobber Problem.
– Rivet Sequencing Problem.
– X-ray Imaging Sequencing Problem
•
Solvable by logN calls to a Hamilton Circuit code…
•
Without the Δ-inequality, no constant-factor approximation
algorithm can exist unless P = NP.
•
With the Δ-inequality, one can find a tour with all edge lengths at
least as long as (1/2)OPT(C) in O(N2) time.
•
Generalization: Find the largest D for which there exists a Hamilton
cycle such that all cities that are within k steps of each other are
at least distance D apart (the “Min-Max k-Neighbor” problem).
The Bottleneck TSP
Find the smallest D for which there exists a Hamilton cycle with all edges
of length D or less.
Applications:
•
Transportation of perishable goods
•
Inter-asteroid space delivery service
•
Etc.
Optimization
Solvable by logN calls to a Hamilton Circuit code…
Or by one call to a Min TSP code that can handle very large edge lengths:
•
Only the ordering, not the values, of the edge lengths matter.
•
Let the distinct edge lengths in instance I be d0 < d1 < d2 < … < dk.
•
Let I’ be the modified instance in which we replace these lengths by g0 = 1,
g1 = N, g2 = N2, and, in general, gi = Ni.
•
Then we have OPTBottleneck(I) = di for i = min {h:OPT(I’) ≤ Nh+1}.
The Bottleneck TSP
Approximation
Without the Δ-inequality, no constant-factor approximation algorithm can
exist unless P = NP.
With the Δ-inequality, one can find a tour with no edge length longer than
2OPT(C) in O(N2) time. [Doroshko & Sarvanov, 1981 (in Russian)], [Parker &
Rardin, 1984 (independently, in English)].
Proof:
•
•
Observation 1 -- The maximum edge length in a “bottleneck biconnected spanning
subgraph” is a lower bound on OPTBottleneck(I):
–
This is a bi-connected subgraph with the smallest possible longest edge (“biconnected”
⇔ “connected with no articulation points”).
–
Computable in time O(N2) since biconnectivity can be tested in linear time using depth
first search, and we can do this repeatedly for graphs omitting all edges longer than
one of the smallest k edge lengths, k = 1, 2, …, N.
Observation 2 –- The square of a biconnected graph has a Hamilton cycle
[Fleischner, 1974], which can be produced in time O(N2) [Lau, PhD Thesis, 1980].
–
The “square” G2 of graph G = (V,E) is G, augmented by edges joining the endpoints of
each length-2 path in G (if the edge is not already present).
The Bottleneck TSP
Biconnected Graph G
without a Hamilton
circuit.
Graph G2, now with
a Hamilton circuit.
The Bottleneck TSP
Biconnected Graph G
without a Hamilton
circuit.
Graph G2, now with
a Hamilton circuit.
•
By the Δ-inequality, each added edge in G2 has length no more than the length
of the two-edge path it short-circuits, and hence no more than twice the
maximum edge length in the original graph.
•
So the maximum edge length in the Hamilton cycle we construct for G2 is at
most 2 times the maximum edge length in G. If G is a bottleneck biconnected
subgraph, this is thus at most 2OPTBottleneck(I).
QED
Theorem:
Assuming P ≠ NP, no polynomial-time algorithm can guarantee a
solution A(I) ≤ (2-ε)OPTBottleneck(I) for any constant ε > 0. [Doroshko & Sarvanov,
1981 (in Russian)], [Parker & Rardin, 1984].
The Asymmetric Bottleneck TSP
Theorem
[An, Kleinberg, Shmoys, Proc. APPROX & RANDOM, 2010]:
Given an instance of the asymmetric TSP that obeys the triangle
inequality, there is a polynomial-time algorithm that guarantees a tour
whose maximum edge length is no more than
(logN/loglogN)OPTBottleneck(I).
Proof uses technology from the analogous result for the standard
asymmetric TSP of [Asadpour, Goemans, Madry, Gharan, & Saberi, Proc.
SODA, 2010]
Course Review
Lecture 1: Introduction
References, Web Resources, Etc.
Applications
Definitions
Lecture 1: Introduction
Computational Equivalence of Cycle, Path, Symmetric, and Asymmetric Versions
World Record TSP solutions and Concorde
Lecture 1: Introduction
Metrics and Rounding Conventions
Exploiting the Δ-Inequality in Theory and Practice
The Held-Karp Bound
Lectures 2-3: NP-Hardness
NP-completeness and the Hamilton Circuit Problem for Grid Graphs
Hardness of Approximation, the PCP Theorem, MaxSNP, and the TSP
Lectures 3-4: Poly-Time Special Cases
Polynomial Time Algorithm for BoundedHeight Rectangular Grid Graphs
2O(√N) Time Algorithm for
Planar Graphs
Polynomial Time Algorithm for the Gilmore-Gomory Scheduling Problem
Lectures 4-5: Tour Construction Heuristics
Upper Bounds, Lower Bounds, Performance in Practice
Lecture 6: Exploiting Geometry
K-d Trees
Sometimes with Geometric Lemmas
Speeding Up Algorithms with K-d Trees
Including Empirical Comparisons
Lectures 7-8: Local Optimization
DIMACS Challenge Website
2-Opt
Tour Data Structures
Neighbor Lists
Lectures 7-8: Local Optimization
Starting Tours
3-Opt and the Partial Sum Theorem
4-Opt and the Double Bridge Move
Lin-Kernighan
Lectures 7-8: Local Optimization
PLS-Completeness and the TSP
Simulated Annealing
Genetic Algorithms
Iterated Lin-Kernighan
Lecture 8: ATSP Heuristics
Algorithm Descriptions and Results of Testing the Algorithms Using
Various Instance Generators, Several Based on Purported Applications.
Lecture 9: Pruned Exhaustive Search
Evaluating All Permutations
And Greater and Greater
Speedups with Each Step
With Successive Layers of Pruning, Including
Lagrangean Relaxation via p-Values
Lecture 10: Cutting Planes and B & B
The Cutting Plane Approach
Satisfying the Degree-2 Constraints
Heuristics and Exact Algorithms for
Finding Violated Subtour Constraints
Digression: Computing the HK
Bound in Polynomial Time
Lecture 10: Cutting Planes and B & B
Comb Inequalites
Dantzig, Fulkerson, & Johnson’s Success
Other Classes of Cutting Planes
Branch & Bound
Lecture 11: Branch & Cut & Concorde
Branch & Cut Implementation Issues
More Subtour Constraint Heuristics
Shrinking Safe Edges for
Cut Finding
Restricting to Core Edge Sets
for LP Solving
Lecture 11: Branch & Cut & Concorde
Managing Cuts
Solving the LP’s Quickly & Accurately
Branching Strategies
Solving pla85900
(and Random Euclidean Instances)
Lecture 12: The Random Euclid. Constant
The BHH Theorem
Early Estimates
The Toroidal Metric
Standard Deviations of Values and
Differences
Lecture 12: The Random Euclid. Constant
Experimental Data
Convergences
Extrapolations
Final Estimate
Lecture 12: The Random Euclid. Constant
Potential Explanations
Small N Anomalies
Results for other Problems
Approximating Planar Euclidean
with Other Topologies
Lecture 13: The Maximum TSP
General Approximation Algorithms
Polyhedral Norms
Exact and Asymptotically Optimal
Algorithms for Polyhedral Norms
Approximating the Euclidean Norm
Polyhedrally
Lecture 14: Asymmetric MaxTSP, etc.
Asymmetric Maximum TSP
The Maximum Scatter TSP
The Bottleneck TSP
Course Summary
What should have been covered in more detail?
• Mihalis Yannakakis’s proof that the TSP cannot be described by
a polynomial-size symmetric LP, and the recent strengthening of
the result to cover asymmetric LPs ?
• The (Gödel-Prize-Winning) Arora/Mitchell Approximation
Schemes for the Euclidean TSP ?
• The details of Helsgaun’s variant on Lin-Kernighan ?
• Proof of the Beardwood, Halton, & Hammersley Theorem ?
What should have been covered in less detail?
(Your suggestions here…)
```