SIAM J. COMPUT. Vol. 12, No. 1, February 1983 1983 Society for Industrial and Applied Mathematics 0097-5397/83/1201-0009 $01.25/0 THE TRAVELING SALESMAN PROBLEM AND MINIMUM MATCHING IN THE UNIT SQUARE* KENNETH J. SUPOWIT, t EDWARD M. REINGOLD:I: AND DAVID A. PLAISTED:I: Abstract. We show that the cost (length) Of the shortest traveling salesman tour through n points in the unit square is, in the worst case, aopt v/n + o (x/-n), where 1.075 atsPopt <= 1.414. The cost of the minimum 4 + O(4), where matching of n points in the unit square is shown to be, in the worst case, a opt 0.537 mat <0.707 Furthermore, for each of these two problems there is an almost linear time heuristic opt algorithm whose worst case cost is, neglecting lower order terms, as low as possible. Key words, traveling salesman problem, matching, analysis of algorithms, computational geometry, graph algorithms, heuristics 1. Introduction. Let P be a set of n points in the (Euclidean) unit square. Define a traveling salesman tour T of P as a set of n edges such that each point of P is an endpoint of exactly two edges, and the resulting graph (P, T) is connected. If n is even, then define a matching M of P as a set of n/2 edges such that each point of P is an endpoint of exactly one edge of M. If S is a tour or a matching then let cost(S) denote the sum of the lengths of the edges of S. The (Euclidean) traveling salesman (respectively, matching) problem is to find a minimum cost tour (respectively, matching). The Euclidean traveling salesman problem is known to be NP-hard [7], [11] while the fastest known algorithm for Euclidean matching runs in time O(n 3) [6], [13]. This paper concerns fast heuristic algorithms for these two problems. Applications for heuristic Euclidean matching are described in [15]. In order to evaluate a heuristic, we use the following measure" the worst-case performance of a traveling salesman heuristic A is a function fP’ N--> I such that fP (n)= sup {the cost of A’s tour of P}, P where P ranges over all sets of n points in the unit square. By "sup" we mean the supremum, i.e., the least upper bound; by "inf" we mean the infimum, the greatest lower bound. We use the supremum in the definition of worst-case performance because it is possible (since there are infinitely many n-point sets) that there is no n-point set P for which the cost of A’s tour is maximized. If B is a matching heuristic then the worst case performance of B is the function/at defined analogously. The first question that arises is how good the worst-case performance of any traveling tsp salesman (respectively, matching) heuristic can be? Let opt denote the worst-case performance of the exhaustive optimizing traveling salesman problem algorithm. Let rnat opt denote the worst-case performance of the (R)(n a) optimizing matching algorithm. * Received by the editors September 1, 1980, and in revised form May 28, 1982. Preliminary versions of some of the results contained in this paper were presented at the Twelfth Annual ACM Symposium on Theory of Computing, April; 1980. This research was supported in part by the National Science Foundation under grants NSF MCS 77-22830 and NSF MCS 79-04897. t Hewlett-Packard Laboratories, Computer Research Center, Palo Alto, California 94304. This research was conducted while this author was at the Department of Computer Science, University of Illinois at Urbana-Champaign. Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois 61801. 144