Technical Report Number
The problem of traversing a set of points in the order that minimizes the total distance traveled (traveling salesman problem) is one of the most famous and well-studied problems in combinatorial optimization. It has many applications, and has been a testbed for many of the must useful ideas in algorithm design and analysis. The usual metric, minimizing the total distance traveled, is an important one, but many other metrics are of interest. In this paper, we introduce the metric of minimizing the number of turns in the tour, given that the input points are in the Euclidean plane. To our knowledge this metric has not been studied previously. It is motivated by applications in robotics and in the movement of other heavy machinery: for many such devices turning is an expensive operation. We give approximation algorithms for several variants of the traveling salesman problem for which the metric is to minimize the number of turns. We call this the minimum bends traveling salesman problem. For the case of an arbitrary set of $n$ points in the Euclidean plane, we give an O(lg z)-approximation algorithm, where z is the maximum number of collinear points. In the worst case z can be as big as n, but z will often be much smaller. For the case when the lines are restricted to being either horizontal or vertical, we give a 2-approximation algorithm. If we have the further restriction that no two points are allowed to have the same x- or y-coordinate, we give an algorithm that finds a tour which makes at most two turns more than the optimal tour. Thus we have an approximation algorithm with an additive, rather than a multiplicative error bound. Beyond the additive error bound, our algorithm for this problem introduces several interesting algorithmic techniques for decomposing sets of points in the Euclidean plane that we believe to be of independent interest.
Dartmouth Digital Commons Citation
Stein, Cliff and Wagner, David P., "Approximation Algorithms for the Minimum Bends Traveling Salesman Problem" (2000). Computer Science Technical Report TR2000-367. https://digitalcommons.dartmouth.edu/cs_tr/175