The Maximum Scatter TSP on a Regular Grid

In the maximum scatter traveling salesman problem the objective is to find a tour that maximizes the shortest distance between any two consecutive nodes. This model can be applied to manufacturing processes, particularly laser melting processes. We extend an algorithm by Arkin et al. that yields optimal solutions for nodes on a line to a regular $m \times n$-grid. The new algorithm $\textsc{Weave}(m,n)$ takes linear time to compute an optimal tour in some cases. It is asymptotically optimal and a $\frac{\sqrt{10}}{5}$-approximation for the $3\times 4$-grid, which is the worst case.


Introduction
The Maximum Scatter Traveling Salesman Problem (Maximum Scatter TSP) asks for a closed tour in a graph visiting each node exactly once so that its shortest edge is as long as possible. Applications, approximation strategies, and exact algorithms for the geometric version where all vertices and edges are on a line or on a circle were presented by Arkin et al. [1]. Moreover, they proved that the problem is NP-complete in general. Chiang [2] focuses on the max-min m-neighbor TSP (particularly with m = 2), which we do not consider here. It is not known whether the geometric Maximum Scatter Problem for points in the plane is NP-hard. In this paper we extend their strategy on the line to the geometric Maximum Scatter TSP in the plane where all points are located on a rectangular equidistant grid with m rows and n columns. More formally, a regular rectangular grid is defined as the complete graph G(m, n) on the vertex set V (m, n) = { x y ∈ Z 2 |1 ≤ x ≤ n, 1 ≤ y ≤ m}. We call the problem MSTSP(m, n) and our new algorithm WEAVE(m, n).
All current results are summarized in Theorem 1.
Theorem 1 Let m ≤ n be natural numbers, and let k = n 2 and t = m 2 . Then there is a linear-time algorithm WEAVE(m, n) that specifies a feasible tour for MSTSP(m, n) that is (i) optimal whenever n is odd, m = n, or m = 2; )-approximation whenever m and n are even; (iii) a ( 1 − 2k−1 k 2 +t 2 )-approximation whenever n is even and m is odd.
The algorithm is in all cases no worse than a √ 10 5 -approximation. More specifically, it will turn out that the additive gap between the objective value of WEAVE(m, n) and the optimal value of MSTSP(m, n) is always strictly smaller than one, the length of a shortest edge in G(m, n). WEAVE(m, n) is based on an algorithm for a tour for points on a line introduced by Arkin et al. [1]. The resulting order of the points on a line is exactly transferred to the columns in the equidistant grid. That is why we will consider this order here in more detail.
There are two subroutines in the algorithm, one for an odd number of points and one for an even number of points. For an odd number of points n = 2k + 1 ≥ 3, the distances between subsequent points in the order are either k or k + 1, see the left two parts of Fig. 1. So the order of the points in the tour is: 1, k + 2, 2, k + 3, . . . , n, k + 1. The tour is completed by returning to the first point. For further use, we call this procedure LINEODD(n). For an even number of points n = 2k ≥ 4, the distances are chosen to be alternatingly k − 1 and k + 1. At the points at the end of the line and at the two closest points to the center of the line the distance of k is used as well. So the distance of k is filled in between the alternating distances when reaching the endpoints or the center, see the last two components of Fig. 1. Equally one can say, the end points have distances of k and k + 1 and the two points around the center have distances of k − 1 and k. This procedure is called LINEEVEN(n) in the following. If k is odd, the order of the points in the tour is 1, k + 2, 3, k + 4, . . . , n − 1, k, n, k − 1, . . . , k + 1. If k is even, the order of the points in the tour is 1, k + 2, 3, k + 4, . . . , k − 1, n, k, n − 1, . . . , k + 1. From Arkin et al. [1] (Sec. 6.1 and 6.2) it follows that the tours generated by LINEODD(n) and LINEEVEN(n) are optimal tours for MSTSP(1, n). Thus, WEAVE(1, n) is set to LINEODD(n) or LINEEVEN(n), respectively.
In the following we present the new algorithm for m ≥ 2. The points in the grid are labeled by (i, j), where i = 1, 2, . . . , m is the row index and j = 1, . . . , n is the column index. The simple idea to apply WEAVE(1, n) row by row yields k − 1 as the shortest edge length. However, this can be improved by using the freedom in the second dimension. One can increase the length of the shortest edge in WEAVE(1, n) by using the order of nodes in both dimensions at the same time. However, this yields no closed tour. Thus, we need a new pattern in the second dimension.
To this end, the rows are partitioned in pairs for n even and pairs plus one triple for n odd. The paired rows are at distance t, as are the rows in the triple. The idea is to jump back and forth inside a pair (triple) of rows where the order of columns is given by WEAVE(1, n). The successor node for a node always lies in the paired (tripled) row to the current node. For example, for odd n this is done until all nodes in the pair have been visited, whereas for even n this is done for half of the nodes. Then we traverse into the next pair. Since switching to the next pair yields a smaller vertical distance, we start in a column such that these pair-switches are accompanied by the largest possible horizontal distances k + 1 in WEAVE(1, n). Thus, WEAVE(m, n) starts each pair in column k + 2. The setup is illustrated in Fig. 2.
We first describe WEAVE(m, n) in a way that the construction principle becomes apparent. First, let m be even.
For an odd number of columns the algorithm works in the following way, where in the following the order of column indices in each line is given by WEAVE(1, n): For an even number of columns this procedure fails because it generates a subtour inside a pair of rows. This can be rectified by switching pairs after each completed order of WEAVE(1, n). The resulting order of nodes is as follows (again, the order of columns in each line is given by WEAVE(1, n)): (1, k + 2), (t + 1, 3), (1, k + 4), (t + 1, 5), . . . , (t + 1, 2), (1, k + 1), (t + 1, 1), Let now m be odd. First, the triple (1,t + 1, m) of rows is taken. If n is not divisible by 3, then the rows are visited in the order (1,t + 1, m, 1,t + 1, m, . If n is a multiple of 3 the row order pattern is always (1,t + 1, m, 1,t + 1, m, . . .), (m, 1,t + 1, m, 1,t + 1, . . .), (t + 1, m, 1,t + 1, m, 1, . . .). After the row triple has been traversed completely, the procedure is the same as for even m.
We now define for WEAVE(m, n) the successor node nextrow(i, j), nextcol(i, j) of each node (i, j) in every possible case. Together with the starting node (1, k + 2) this yields a complete definition of our algorithm. Recall that t = m − t if m is even and t = m − 1 − t if m is odd.
We start with the successor column of nextcol(i, j) when n is odd: The successor column when n is even and k is even: The successor column when n is even and k is odd: Let now m, n > 3. The successor row nextrow(i, j) of (i, j) when n is odd [even] and m is even: The successor row when n is odd [even], m is odd, and n mod 3 = 0: The successor row when n is odd [even], m is odd, and n mod 3 = 0: If m = 3, then WEAVE(m, n) terminates when for the first time the triple of rows is finished.

Optimality and Gaps
We now analyze the edge lengths appearing in the tours of the algorithm, in particular, the shorter ones to get a lower bound for a solution to the Maximum Scatter TSP. After that, we have a look at the upper bounds for the longest possible shortest edge in a tour.
By comparing upper bounds and lower bounds we can prove that WEAVE(m, n) is optimal for any grid with an odd number of columns, for any quadratic grid and for any grid with two rows. In the following, we identify the Euclidean lengths of candidates for the shortest edge in a tour computed by WEAVE(m, n).
For odd n the relevant edge lengths are √ k 2 + t 2 and (k + 1) 2 + (t − 1) 2 . For n even the lengths are t 2 + (k − 1) 2 and (t − 1) 2 + (k + 1) 2 . A straight-forward calculation shows: t 2 + k 2 ≤ (t − 1) 2 + (k + 1) 2 and t 2 + (k − 1) 2 ≤ (t − 1) 2 + (k + 1) 2 , so the lengths of the shortest edges of WEAVE(m, n) are √ k 2 + t 2 for n odd and t 2 + (k − 1) 2 for n even. An upper bound for the shortest edge can be derived by considering the distances between the nodes in the center of the grid and the corner nodes. Each node has to be connected to exactly two other nodes in a tour. This holds, in particular, for the most central nodes. The nodes with the longest distances to them are the corners of the grid. If m and n are odd, there is exactly one central node, and the distance to each of the four corners is If m is even, there are still two edges whose distance to the middle node is √ k 2 + t 2 . So WEAVE(m, n) is optimal whenever n odd as its shortest edge has length √ k 2 + t 2 . If n is even, there are two central nodes. For m odd, the longest distance appears twice and is √ t 2 + k 2 . As the longest distance to a corner appears only once if m is even, the second longest distance has to appear in any tour. Thus, k 2 + (t − 1) 2 is an upper bound, too. For even n, there is still a gap between the length of the shortest edge of the tour from WEAVE(m, n) and the current upper bound. The absolute value of the gap between lower and upper bound is 2 if m is even, respectively. But we can show with Lemma 1 that this gap is smaller than the minimal distance in the grid.
Lemma 1 For any regular grid with even n, the gap between the solution of WEAVE(m, n) and the upper bound of the Maximum Scatter TSP deduced from the distances between corner and central points is always smaller than one.
PROOF. As the upper bound for even m is smaller than the upper bound for odd m (recall that (t − 1) 2 + k 2 < √ t 2 + k 2 ), it suffices to prove √ t 2 + k 2 < t 2 + (k − 1) 2 + 1. We can square both sides of the inequality, because all the values are greater zero: By observing that t 2 > 0 for m > 1 on the right hand side, the strict inequality is proved. So the value of the gap between the lower and the upper bound is always strictly smaller than one.
If the grid is quadratic, the number of columns and rows has to be both odd or both even. As m = n and therefore t = k, the gap for even m and n vanishes. So WEAVE(m, n) is optimal for quadratic grids.
When the number of rows is two, we claim that WEAVE(2, n) is optimal for all numbers of columns. For odd n this was already proven. In the following we prove this for the case of even n. Assume that some tour achieves the upper bound, then each central node would have to be connected to both of its farthest corners. But in this case -as there are four central nodes -the edges connecting central and corner nodes violate the subtour elimination inequality: a contradiction. Thus, the upper bound cannot be achieved by a feasible tour, and each tour must employ at least one shorter edge incident to a central node. The size of this new bound is 1 + (k − 1) 2 . Since this equals the lower bound achieved by WEAVE(2, n), the claim is proved.
Calculating a bound for the approximation factor by the division of the approximate solution and the upper bound for the shortest edge, we can summarize the quality of WEAVE(m, n) in the following proposition. Proposition 1 WEAVE(m, n) is optimal whenever n is odd, or m = 2, or m = n.
Since the approximation guarantee converges to one for increasing m and n, we conclude the following: Corollary 1 In all cases, α ≥ √ 10 5 . Moreover, lim k→∞ α t,k = 1 for all t and lim t→∞,k→∞ α t,k = 1. In this sense, WEAVE(m, n) is asymptotically optimal.
Since WEAVE(m, n) works by a fixed formula for each edge, it is a linear-time algorithm. From this, Theorem 1 follows. 5