# The Traveling Salesman Problem in Theory & Practice

## Presentation on theme: "The Traveling Salesman Problem in Theory & Practice"— Presentation transcript:

The Traveling Salesman Problem in Theory & Practice
Lecture 14: More on Maximum TSP Problems 29 April 2014 David S. Johnson Seeley Mudd 523, Tuesdays and Fridays

Outline The Asymmetric Maximum TSP The “Maximum Scatter” TSP
The “Bottleneck” TSP Outline 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 ) (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: ➟ ➟ ➟

Getting a (2/3)OPT Guarantee More Simply [Paluch, Elbassioni, & van Zuylen (2012)]
Idea: Avoid having 2-cycles in the maximum matching via using “half-edges” and a gadget (also used in the subsequent (3/4)OPT algorithm). tail(i,j) head(i,j) w(i,j)/2 w(i,j)/2 outi inj vi{i,j} vj{i,j} ini outj w(j,i)/2 w(j,i)/2 head(j,i) tail(j,i)

Getting a (2/3)OPT Guarantee More Simply [Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j) head(i,j) w(i,j)/2 w(i,j)/2 outi inj vi{i,j} vj{i,j} ini outj w(j,i)/2 w(j,i)/2 head(j,i) tail(j,i) Weight 0: No edge between i and j. Weight w(i,j): Yields directed edge (i,j) from i to j.

Getting a (2/3)OPT Guarantee More Simply [Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j) head(i,j) w(i,j)/2 w(i,j)/2 outi inj vi{i,j} vj{i,j} ini outj w(j,i)/2 w(j,i)/2 head(j,i) tail(j,i) Weight 0: No edge between i and j. Weight w(j,i): Yields directed edge (j,i) from j to i.

Getting a (2/3)OPT Guarantee More Simply [Paluch, Elbassioni, & van Zuylen (2012)]
tail(i,j) head(i,j) w(i,j)/2 w(i,j)/2 outi inj vi{i,j} vj{i,j} ini outj w(j,i)/2 w(j,i)/2 head(j,i) 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) w(i,j)/2 w(i,j)/2 outi inj vi{i,j} vj{i,j} ini outj w(j,i)/2 w(j,i)/2 head(j,i) 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 counter-clockwise directed edges) into P2. Put all directed edges into P3. 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 ein in out in

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(N2f- 2logN) 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
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 Optimization
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 Proof:
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, (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. Definitions Applications

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 Bounded-Height 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 Speeding Up Algorithms with K-d Trees Sometimes with Geometric Lemmas 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 ? (Your suggestions here…) What should have been covered in less detail?