The Traveling Salesman Problem in Theory & Practice Lecture 14: More on Maximum TSP Problems 29 April 2014 David S. Johnson dstiflerj@gmail.com 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 2OPT), – 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: 2weight{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)2fOPT(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 2OPT(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 2OPTBottleneck(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…)