Next Article in Journal
On Relationships between a Linear Matrix Equation and Its Four Reduced Equations
Next Article in Special Issue
Efficient Modified Meta-Heuristic Technique for Unconstrained Optimization Problems
Previous Article in Journal
Group Acceptance Sampling Plan Based on New Compounded Three-Parameter Weibull Model
Previous Article in Special Issue
Home Health Care Planning with the Consideration of Flexible Starting/Ending Points and Service Features
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Multi-Phase Method for Euclidean Traveling Salesman Problems

by
Víctor Hugo Pacheco-Valencia
1,
Nodari Vakhania
1,*,
Frank Ángel Hernández-Mira
2 and
José Alberto Hernández-Aguilar
3
1
Centro de Investigación en Ciencias UAEMor, Universidad Autónoma del Estado de Morelos, Av. Universidad 1001, Col.Chamilpa, Cuernavaca 62209, Mexico
2
Facultad de Matemáticas UAGro, Universidad Autónoma de Guerrero, Carlos E. Adame No. 54, Col.Garita, Acapulco 39650, Mexico
3
Facultad de Contaduría, Administración e Informática UAEMor, Universidad Autónoma del Estado de Morelos, Av. Universidad 1001, Col.Chamilpa, Cuernavaca 62209, Mexico
*
Author to whom correspondence should be addressed.
Axioms 2022, 11(9), 439; https://doi.org/10.3390/axioms11090439
Submission received: 18 July 2022 / Revised: 22 August 2022 / Accepted: 26 August 2022 / Published: 30 August 2022
(This article belongs to the Special Issue Optimization Algorithms and Applications)

Abstract

:
The Traveling Salesman Problem (TSP) aims to find the shortest tour for a salesman who starts and ends in the same city and visits the remaining n 1 cities exactly once. There are a number of common generalizations of the problem including the Multiple Traveling Salesman Problem (MTSP), where instead of one salesman, there are k salesmen and the same amount of individual tours are to be constructed. We consider the Euclidean version of the problem where the distances between the cities are calculated in two-dimensional Euclidean space. Both general the TSP and its Euclidean version are strongly NP-hard. Hence, approximation algorithms with a good practical behavior are of primary interest. We describe a general method for the solution of the Euclidean versions of the TSP (including MTSP) that yields approximation algorithms with a favorable practical behavior for large real-life instances. Our method creates special types of convex hulls, which serve as a basis for the constructions of our initial and intermediate partial solutions. Here, we overview three algorithms; one of them is for the bounded version of the MTSP. The proposed novel algorithm for the Euclidean TSP provides close-to-optimal solutions for some real-life instances.

1. Introduction

The Traveling Salesman Problem (TSP) is an NP-hard problem, as proven by Karp in 1972 [1]. It aims to construct a tour for a salesman who must visit n clients or cities, each of them exactly once, except that the first visited city is repeatedly visited at the end of the tour. The objective is to minimize the overall incurred distance. We shall rely on the following graph-theoretical formulation of the problem. We are given an undirected weighted complete graph G = ( V , E ) , where the vertices from set V are identified as the clients or cities and the edges from set E represent connections between these cities, so that their weights represent the corresponding distances; i.e., for every ( i , j ) E , the weight w ( i , j ) is the distance between cities i and j. We consider the Euclidean setting of the problem, where the distances between the cities are calculated in a two-dimensional plane, the cities being represented as points in that plane. Therefore, we treat the vertices from set V as points in the two-dimensional plane and edges as vectors in that plane. In this way, we deal with a kind of projection of graph G in the two-dimensional plane. Note that the Euclidean TSP is symmetric, i.e., for any edge ( i , j ) , w ( i , j ) = w ( j , i ) .
A permutation of the n points defines a feasible tour T = ( i 1 , , i n , i 1 ) in the two-dimensional plane. The cost of tour T, C ( T ) is
C ( T ) = w ( i 1 , i 2 ) + w ( i 2 , i 3 ) + + w ( i n 1 , i n ) + w ( i n , i 1 )
The objective is to find a feasible solution T * whose cost C ( T * ) is the minimum, i.e.,  C ( T * ) = min T C ( T ) .
The Multiple Traveling Salesman Problem (MTSP) is a generalization of the TSP, which deals with k 1 salesmen and a specific city d called the depot. Correspondingly, k different tours are to be constructed such that each tour starts and ends at the depot. The bounded version of the MTSP (BMTSP) imposes a restriction on the number of cities each tour has to include where a feasible solution consists of k tours { T 1 , T 2 , , T k } , where
T j = ( d , i 1 j , i 2 j , , i m j j , d )
An integer m j is the number of cities that tour T j has to include such that m 1 + m 2 + + m k = n .
The cost of a feasible solution { T 1 , T 2 , , T k } is
C ( { T 1 , T 2 , , T k } ) = C ( T 1 ) + C ( T 2 ) + + C ( T k )
The aim in studying the BMTSP with several salesmen and with upper and lower bounds on the number of clients for each salesman is not actually to attain a better total cost compared to the case when a single salesman is used. The  motivation here is to reduce the time needed to serve all the clients taking into account the limited capacity of each salesman (vehicle). Hence, an upper bound on the number of clients for every salesman is imposed, where a lower bound somehow “balances” the minimal load for each salesman. These considerations were first reported by Roerty [2] and later detailed by Necula [3].
In this study, we focus on the Euclidean version of the TSP, which remains strongly NP-hard [4]. Nevertheless, it is more “transparent” than the general version, in the sense that simple geometric considerations can be used in a solution process of the Euclidean version (see, e.g., [5]). Here, we describe our method, based on simple geometric observations, and three simple, fast, and easily implementable direct combinatorial algorithms yielded by the method.
Our method uses special types of convex hulls, which serve as a basis for the constructions of our initial and intermediate partial solutions. A basic type of convex hull that we employ is a girding polygon P [6], the minimal convex polygon that includes all points from set V, a convex hull for set V.
The method starts with a (partial) tour defined by the girding polygon P. If this tour is complete, i.e., contains all points from set V, then it is also an optimal tour. Otherwise, yet uncovered cities are iteratively added to the current partial solution until a feasible solution is constructed. This feasible solution is further improved using local search algorithms. This framework for the TSP is extended for the BMTSP using a preliminary stage that partitions the points from set V into k feasible subsets. The second proposed algorithm for the Euclidean TSP constructs convex hulls for the subsets of vertices from set V, convex polygons. These polygons may intersect each other. Every created polygon defines a partial tour. Iteratively, a partial tour defined by the polygon of a current iteration is unified with the partial tour of the previous iteration, resulting in the partial tour of the current iteration. In this way, the polygons and the tours are iteratively “inflated”.
We found a few algorithms that also use convex hulls in one way or another. For example, Macgregor and Ormerod in 1996 [7] tested the hypothesis that the difficulty of solving a TSP for humans is a function of the number of interior points of the corresponding girding polygon. They designed two experiments with instances of the TSP. The first experiment used instances with ten points, and the second one used instances with twenty points in total. These instances were solved by a group of people manually. These solutions were compared with the solutions obtained by three common heuristics, the nearest neighbor algorithm, the largest interior angle algorithm (Norback and Love in 1977 [8]), and a variation of a convex hull heuristic described by Golden et al. in 1980 [9] using the least expensive insertion criterion. Notably, the manually obtained solutions turned out to be better than the ones created by the heuristics. Sengupta and Fränti [10] continued this line of research, measuring the dependence of the complexity of the solutions obtained by the humans on the number of interior points of the polygon.
We also found several algorithms in the literature for the construction of a girding polygon. The algorithm from Andrew [11] reorders the set of vertices according to their x and y coordinates, which are used in the algorithm for the construction of the girding polygon. In [6,8,12,13,14], The girding polygon is constructed based angles of the girding polygon based on the calculation of specially determined angles. In [15,16,17], the set of vertices were iteratively partitioned into two subsets separated with a line, formed by the two specially determined points. The furthest from the constructed line vertex of one or the other subset was identified as the next point that was be included in the formed girding polygon. In [18,19,20], the construction algorithms that use “divide and conquer” techniques was presented, where a merge algorithm for two non-intersecting convex hulls was recursively applied.
Our algorithm for the construction of the girding polygon, can briefly be described as follows. It initially identifies four specially determined auxiliary points on the plane, one of which forms the partial polygon of the initial iteration 1. The girding polygon is formed in ν consecutive iterations, where ν n is the number of vertices of polygon P. At each iteration h > 1 , a subset of vertices from set V is associated with each of the auxiliary points. This division of the set V at iteration h is performed according to the coordinates of the four auxiliary points and the coordinates of the point added to the partial polygon at iteration h 1 . At iteration h, a new point from one of the four subsets is added to the partial polygon of iteration h 1 . This new point is chosen based on some geometric calculations. A brief description of this algorithm was originally given in [6], where MTSP is solved in two phases. In the first phase, after the construction of girding polygon P, set V is partitioned into k subsets using specially defined k auxiliary edges ( d , x ) , here x P and k is the number of salesmen. An algorithm is proposed for the construction of a feasible tour for TSP, that is applied for each of the subsets at the second phase.
Next, we give a brief overview of some related work and applications. Jünger, Reinelt, and Rinaldi [21] published an overview in which they described applications of the TSP in real-life problems and exposed different heuristics and approximation algorithms. Possible applications occur in the drilling of printed circuit boards, in the analysis of the structure of crystals (Bland and Shallcross [22]), during material handling in a warehouse (Ratliff and Rosenthal [23]), in overhauling gas turbine engines (Plante, Lowe, and Chandrasekaran [24]), in the order-picking problem in warehouses (Ratliff and Rosenthal [23]), in  constructing computer boards to optimize the connections between different board components, and in scheduling problems where job process times are sequence-dependent (Lenstra and Rinnooy Kan [25]).
Bektas [26] described different existing variants of the MTSP and their relationship with other problems; he also mentioned some other practical applications. Cheikhrouhou and Khoufi [27] published a comprehensive survey in which they included the approaches applied to unmanned aerial vehicles and/or drones; they also classified some practical applications for the MTSP: monitoring and surveillance, network connectivity, search and rescue, precision agriculture, and disaster management. Other applications arise in scheduling a printing press (Gorenstein [28]), in mission planning (Brumitt and Stentz [29]), in interview scheduling (Gilbert and Hofstra [30]), in crew scheduling, in school bus routing [31], in cash distribution in banks, and in recollecting cash from telephone booths and their repair (see Svestka and Huckfeldt [32] and Lenstra and Rinnooy Kan [25]). Other applications occur in the planning of autonomous robots (Yu et al. [33]) and in planning of unmanned aerial vehicle applications (Ryan et al. [34]). An application of the MTSP arises in the optimal design of global navigation satellite systems (Saleh and Chelouah [35]). As for the bounded version BMTSP, there exist meta-heuristic algorithms for its solution (see, for example, [3,36,37,38,39,40]).
We conclude this section with a brief description of how this paper is organized. In Section 2, we describe our general method and three particular algorithms that we constructed so far using our method. In Section 2.1, we give a detailed description of our algorithm that generates the girding polygon P. In Section 2.2, the insertion algorithm from [5] is described. We describe our basic algorithm for the BMTSP in Section 2.3, and we present another novel inflammation algorithm in Section 2.4. Section 3 presents the results of our experimental study. The last Section 4 contains some concluding remarks.
Part of the material from this work was presented at the 1st International Online Conference on Algorithms (IOCA 2021) (see [41,42]).

2. Methods

2.1. Construction of Girding Polygon P

Our girding polygon P can be seen as a convex geometric figure in 2-dimensional Euclidean space with the edges from the projection of graph G enclosing all vertices of set V. Polygon P can also be seen as a sub-graph of graph G. Note that polygon P immediately defines an optimal tour T 0 for its ν vertices. Our construction algorithm iteratively extends this tour until it creates a complete feasible tour.
Figure 1 represents a small problem instance “tsp10” with 10 vertices, which we use for the illustration purposes throughout this paper.
Our algorithm for the construction of the girding polygon P works in a number of iterations, P h being the partial polygon (polygonal line) of iteration h. Iteratively, at iteration h, one vertex, denoted by p h , is added to the partial polygon P h 1 of iteration h 1 , i.e.,  P h = P h 1 { p h } (abusing again the notation, we also use P h for the set of vertices in polygon P h ).
Let i P h 1 and j V \ P h 1 , and let ( i , j ) E be the corresponding vector (edge) in 2-dimensional Euclidean space. The algorithm for the construction of polygon P uses function θ ( i , j ) (Equation (4)), which returns the angle between axes y = y i and vector ( i , j ) ; see Figure 2.
θ ( i , j ) = arccos x j x i w ( i , j ) i f arcsin y j y i w ( i , j ) 0 arccos x j x i w ( i , j ) i f arcsin y j y i w ( i , j ) < 0
Now, we turn to the description of the main algorithm that constructs polygon P. It works in four stages, each stage being associated with one of the specially determined auxiliary points in 2-dimensional Euclidean space. We denote these auxiliary points by v 1 , v 2 , v 3 , and v 4 and will refer to them as the “uppermost”, the “leftmost”, the “lowermost”, and the “rightmost” points, respectively [6]; see Figure 3. More formally,
v 1 = j 1 | x j 1 i s m a x i m u m a n d j 1 { i 1 | y i 1 i s m a x i m u m a n d i 1 V } v 2 = j 2 | y j 2 i s m a x i m u m a n d j 2 { i 2 | x i 2 i s m i n i m a l a n d i 2 V } v 3 = j 3 | x j 3 i s m i n i m a l a n d j 3 { i 3 | y i 3 i s m i n i m a l a n d i 3 V } v 4 = j 4 | y j 4 i s m i n i m a l a n d j 4 { i 4 | x i 4 i s m a x i m u m a n d i 4 V }
Below, we illustrate how the four auxiliary points are determined for our problem instance “tsp10”.
Roughly, some points located in between points v 1 and v 2 are added at stage 1; some points located in between points v 2 and v 3 are added at stage 2; some points located in between points v 3 and v 4 are added at stage 3; some points located in between points v 4 and v 1 are added at stage 4. Correspondingly, the whole polygon area is divided into four subareas V l , l = 1 , , 4 , defined as follows:
V 1 = { k | x k < x p h 1 y k y v 2 ; k V } V 2 = { k | x k x v 3 y k < y p h 1 ; k V } V 3 = { k | x k > x p h 1 y k y v 4 ; k V } V 4 = { k | x k x v 1 y k > y p h 1 ; k V }
The algorithm works in a number of iterations. Initially, P 0 = ( v 1 ) , i.e., the initial partial polygon (polygonal line) consists of the uppermost vertex v 1 . At stage l, at iteration h > 0 , p h V l is the vertex, added to the set P h 1 , resulting in an augmented polygonal line (set) P h of iteration h. In particular, vertex p h V l is such that
θ ( p h 1 , p h ) = min j V l θ ( p h 1 , j ) .
Omitting some minor details, below, we give a formal description of the algorithm and its flowchart (Figure 4):
We illustrate the flowchart of Algorithm 1 ( G I R D I N G P O L Y G O N ) for the problem instance “tsp10” in Table 1. Column “h” is the current iteration, “l” is the current stage, and “condition” reflects the “while” condition.
In Figure 5, we illustrate the flowchart of Algorithm 1 ( G I R D I N G P O L Y G O N ) in graphical form for the same problem instance.
Algorithm 1:  G I R D I N G P O L Y G O N (V).
Axioms 11 00439 i001

2.2. The Basic 3-Phase Insertion Algorithm for TSP

In this section, we overview a 3-phase algorithm from [5]. It starts with phase 1 by constructing girding polygon P as described in Section 2.1. Recall that this polygon defines an initial (partial) tour T 0 . If that tour is complete, i.e., contains all vertices from set V, then nothing remains to be done; the algorithm halts with this optimal tour. Otherwise, this tour is iteratively extended at phase 2 by Algorithm 2 (see Figure 6).
Let T h be the partial tour constructed by iteration h. The algorithm iteratively, at iteration h > 0 , inserts a new, yet non-covered vertex l h V \ T h 1 into the current tour T h 1 , one that yields the minimal increase in the cost of the formed extended tour T h = T h 1 { l h } of iteration h (abusing slightly the notation, here and later, we may use T h for the set of vertices from tour T h ). The insertion algorithm stops when it constructs a complete feasible tour including all vertices from set V. In the figure below, we illustrate how the algorithm works for our problem instance.
Figure 7 illustrates the three iterations of the insertion algorithm for our problem instance “tsp10” with 10 vertices. Here, T 0 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 ) . At iteration 1, the costs C 9 1 and C 1 1 are calculated, and the vertex 9 is inserted between the vertices 7 and 8 since C 9 1 < C 1 1 ; see Figure 7b. At iteration 2, C 1 2 is (re)calculated and the vertex 1 is inserted between vertices 5 and 6; see Figure 7c. Hence, a feasible solution ( 6 , 10 , 4 , 7 , 9 , 8 , 3 , 2 , 5 , 1 , 6 ) is delivered. The pseudo-code of the insertion algorithm and its flowchart are given below.
Algorithm 2:  I N S E R T I O N (V).
Axioms 11 00439 i002
    At phase 3, the algorithm iteratively improves the solution delivered by phase 2 using a specially constructed local improvement algorithm.
As is easy to verify, phase 1 runs in time O ( n ν ) , where ν is the number of vertices of the polygon P. Phase 2 needs at most n 3 iterations, where the selection cost at each iteration is O ( n ) . The improvement phase has an amortized time complexity of O ( n 2 ) .

2.3. Partition, Construction, and Improvement Algorithm for the BMTSP

This section contains a brief description of our algorithm for the bounded version of the MTSP, BMTSP [42], this algorithm, roughly, extends the insertion algorithm for the TSP from the previous section with an additional partition phase. Our partition method adopts and modifies one from [6].
At the partition phase, we partition set V \ { d } in k subsets V 1 , V 2 , , V k such that each subset respects the problem restriction, i.e.,  the number of vertices in each of them is within the range [ m min , m max ] ).
Our partition algorithm first defines an auxiliary point c with the coordinate x c ( y c , respectively) being the average of the x-coordinates (y-coordinates, respectively) of the vertices from set V:
x c = i V \ { d } x i | V \ { d } | ,
and
y c = i V \ { d } y i | V \ { d } | .
Then, k additional auxiliary points i 1 , , i k are defined. The first of them, i 1 V \ { d } is the farthest point from the depot. The remaining k 1 auxiliary points i 2 , , i k are determined in such a way that the angle between two adjacent vectors ( c , i j ) and ( c , i j + 1 ) is the same and equals 2 π k and that all vectors ( c , i j ) have the same length w ( c , i 1 ) (see Figure 8).
The partition of the set V \ { d } is now carried out in two stages. In stage 1, each subset V j , j = 1 , , k , contains a single vertex l j V \ { { V j } { d } } such that the distance between l j and the auxiliary point i j is the minimal possible among all yet non-selected vertices of set V \ { d } .
Once the initial sets V j , j = 1 , , k are so formed, repeatedly, for each subset V j , a new vertex v with the minimum distance between that vertex and a vertex from the current set V j are added to that subset, i.e.,  V j : = V j { v } . This operation is repeated until the current set V j contains m min elements (see Figure 9).
In stage 2, the subsets of stage 2 are augmented. For every yet non-selected vertex v, a “closest” subset V j is looked for, i.e., a subset such that the distance between vertex v and a point from set V j is the minimal possible among all subsets from the current partition. This operation is repeated until there remains a non-selected vertex (see Figure 10).
Once the above partition process is complete, a feasible tour T j for each of the subsets V j { d } is constructed by merely invoking the insertion algorithm from Section 2.2 (see Figure 11). This solution is iteratively improved by a local interchange algorithm, which iteratively selects a vertex from tour T j and alters its position within that tour or this vertex is relocated to another tour T j . The exchange is accomplished if it yields the decrease of the total cost; among all such exchanges, one which yields the maximum decrease is accomplished so that the resultant solution remains feasible.
Figure 12 illustrates the algorithm applied to our sample problem instance with 10 vertices. Here, we let k = 3 salesmen, m min = 2 , and m max = 4 . In Figure 12a, the auxiliary point i 1 is 7. Then, the coordinates of auxiliary points i 2 and i 3 are calculated. Figure 12b represents the created partition of set V \ { d } with V 1 = { 3 , 7 , 8 , 9 } , V 2 = { 2 , 5 } and V 3 = { 4 , 6 , 10 } . In Figure 12c, tours T 1 = ( d , 9 , 7 , 8 , 3 , d ) , T 2 = ( d , 2 , 5 , d ) , and T 3 = ( d , 6 , 10 , 4 ) are represented.
As is easy to verify, phase 1 runs in time O ( n k m max 2 ) ; phase 2 has the same time complexity as the improvement phase of the previous algorithm; phase 3 runs in time O ( k 2 m max 2 ) ; see [42].

2.4. The Inflammation Algorithm

In this section, we describe our novel algorithm for the basic TSP that we call an inflammation algorithm. The name comes from the general approach used in the algorithm that iteratively constructs specially defined polygons delineating larger and larger areas in the plane with more and more points from set V. Each of these polygons defines a partial tour including a progressively increasing number of vertices.
Unlike the insertion algorithm, the first polygon P 0 that the inflammation algorithm constructs is the “smallest” one that is extended to “larger” polygons at consecutive iterations (in particular, it is not a girding polygon). The polygon constructed at iteration h, P h , is an inner convex hull, i.e., it does not contain vertices from set V in its interval area, except that it may contain vertices in its internal area that belong to the earlier-constructed polygons P 0 , , P h 1 (if polygon P h contains a vertex from set V in its internal area, then this vertex belongs to the polygon of an earlier iteration). Note that each polygon P h defines an optimal partial tour for the set of vertices that it contains, similarly to how the girding polygon P from Section 2.1 defines an optimal tour T 0 . As we know, if  V \ T 0 = , then T 0 from Section 2.1 defines an optimal tour. Hence, in the inflammation algorithm, we assume that this condition is not satisfied.
The inflammation algorithm iteratively, at every iteration h, constructs the polygon P h containing (some) vertices from set V \ T h 1 (see Algorithm 3), where we denote again by T h the partial tour constructed by iteration h. Initially, we let T 0 = , and T 1 is formed by the partial tour of polygon P 1 . At iteration h 2 , Algorithm 4 ( J O I N P ) constructs partial tour T h by joining the vertices of polygon P h and the partial tour T h 1 as described later in Section 2.4.2.
This completes an aggregated description of the inflammation algorithm. Abusing again the notation, we may use P h for the set of vertices of polygon P h .
We shall refer to a specially defined point c = ( x c , y c ) in the two-dimensional plane as a centroid.
In the following two subsections, we describe Algorithm 5, ( I N N E R C O N V E X H U L L ), which constructs inner convex hull P h , and Algorithm 4 ( J O I N P ), which creates partial tour T h from the polygon P h and the previous tour T h 1 , at every iteration h.
Algorithm 3:  I N F L A M M A T I O N (V).
Axioms 11 00439 i003
Algorithm 4:  J O I N P ( T h 1 , P h ).
Axioms 11 00439 i004
Algorithm 5:  I N N E R C O N V E X H U L L ( V , T h 1 , c h ).
Axioms 11 00439 i005

2.4.1. Algorithm 5, ( I N N E R C O N V E X H U L L ) for the Construction of Polygon P h

Given an external iteration h in Algorithm 3 ( I N F L A M M A T I O N ), we denote by L h l a polygonal line of the iteration l in Algorithm 5 (Figure 13), ( I N N E R C O N V E X H U L L ), that is a broken line of a finite number of edges formed by some vertices from set V \ T h 1 . Polygonal line T h serves an auxiliary purpose at every iteration h with | V \ T h 1 | 3 in Algorithm 3.
Consider an iteration h with | V \ T h 1 | 3 in Algorithm 3. Initially, at iteration 0 in Algorithm 5, a polygonal line L h 0 consists of all vertices of set V \ T h 1 sorted in non-increasing order of their angles θ ( c h , v i ) (see Equation (4)) (i.e., L h 0 = ( v 1 , v 2 , , v | V \ T h 1 | ) where θ ( c h , v 1 ) θ ( c h , v 2 ) θ ( c h , b | V \ T h 1 | ) ) (see Figure 14).
Consider the polygonal line with an additional edge ( v 1 , v | V \ T h 1 | ) joining the two extremal vertices v 1 and v | V \ T h 1 | ) of the polygonal line L h 0 . In case the polygonal line obtained in this way forms a convex polygon, then the algorithm delivers this polygon P h .
Otherwise, at iteration l > 0 , the polygon P h is obtained from the polygonal line L h l 1 by eliminating some of its vertices and the two edges associated with every eliminated vertex. Instead of the two eliminated edges, one additional edge is created. This is accomplished by an iterative analysis of three consecutive vertices ( v j 1 , v j , v j + 1 ) from the polygonal line L h l 1 at once, where v j 1 = v | L h l 1 | if v j = v 1 and v j + 1 = v 1 if v j = v | L h l 1 | ), for every j = 1 , , | L h l 1 | . For such a trio of consecutive points, we define a new angle-related function ϕ ( v j 1 , v j , v j + 1 , c h ) ; see Equation (5) below. It returns the angle between the edges ( v j 1 , v j ) and ( v j , v j + 1 ) in the range [ π , π ] ; see Figure 15.
ϕ 1 ( v j 1 , v j , c h ) = arccos w ( c h , v j 1 ) 2 w ( c h , v j ) 2 w ( v j 1 , v j ) 2 2 w ( c h , v j ) w ( v j 1 , v j ) ϕ 2 ( v j , v j + 1 , c h ) = arccos w ( c h , v j + 1 ) 2 w ( c h , v j ) 2 w ( v j , v j + 1 ) 2 2 w ( c h , v j ) w ( v j , v j + 1 ) ϕ ( v j 1 , v j , v j + 1 , c h ) = ϕ 1 ( v j 1 , v j , c h ) + ϕ 2 ( v j , v j + 1 , c h )
Given a trio ( v j 1 , v j , v j + 1 ) of iteration l, the algorithm verifies if the internal angle between the edges ( v j 1 , v j ) and ( v j , v j + 1 ) , ϕ ( ( v j 1 , v j , v j + 1 ) , c h ) , is no larger than π radians. If this holds, then all three points ( v j 1 , v j , v j + 1 ) are kept in polygon P h , i.e., P h : = L h l 1 . Otherwise, the polygonal path is non-convex; hence, one of the points is to be removed: If w ( c h , v j 1 ) > w ( c h , v j + 1 ) , then the vertex v j 1 is removed, i.e., L h l : = L h l 1 \ { v j 1 } . Otherwise, the vertex v j + 1 is removed, i.e., L h l : = L h l 1 \ { v j + 1 } . Let l be the last iteration.
We illustrate the construction process of the polygon line L 1 0 for problem instance “tsp10”. In Figure 14, T h 1 = and the centroid c h = c 1 with coordinates ( 52.8 , 55 ) is depicted in red color. Figure 14a illustrates how the θ angles are calculated so that θ ( c 1 , 4 ) θ ( c 1 , 10 ) θ ( c 1 , 6 ) θ ( c 1 , 10 ) θ ( c 1 , 1 ) θ ( c 1 , 5 ) θ ( c 1 , 2 ) θ ( c 1 , 3 ) θ ( c 1 , 8 ) θ ( c 1 , 9 ) θ ( c 1 , 7 ) . Figure 14b shows the resultant polygonal line L 1 0 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) .
Table 2 and Figure 16 show how Algorithm 5 ( I N N E R C O N V E X H U L L ) constructs the polygon P 1 for problem instance “tsp10”. Figure 16a illustrates the initial polygonal line L 1 1 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) . The first internal angle found in L 1 3 that is greater than π radians is between the edges ( 6 , 1 ) and ( 1 , 5 ) . Since w ( c 1 , 6 ) < w ( c 1 , 5 ) , vertex 5 is removed from L 1 3 . In Figure 16b, the angle between the edges ( 6 , 1 ) and ( 1 , 2 ) is greater than π radians. Since w ( c 1 , 6 ) > w ( c 1 , 2 ) , vertex 2 is removed from L 1 4 . In Figure 16c, the angle between the edges ( 10 , 1 ) and ( 1 , 2 ) is greater than π radians. Since w ( c 1 , 10 ) > w ( c 1 , 2 ) , vertex 10 is removed from L 1 5 . In Figure 16d, the angle between the edges ( 8 , 9 ) and ( 9 , 7 ) is greater than π radians. Since w ( c 1 , 8 ) < w ( c 1 , 7 ) , vertex 7 is removed from L 1 10 . In Figure 16e, the angle between the edges ( 8 , 9 ) and ( 9 , 4 ) is greater than π radians. Since w ( c 1 , 8 ) > w ( c 1 , 4 ) , vertex 8 is removed from L 1 11 . Figure 16f shows that the resultant inner convex hull P = ( 4 , 1 , 2 , 3 , 9 ) is delivered.

2.4.2. Algorithm JOINP

Algorithm 4 (Figure 17) ( J O I N P ) is invoked at every iteration h from Algorithm 3 (INFLAMMATION), where Algorithm 5 ( I N N E R C O N V E X H U L L ) is invoked before returning polygon P h . Algorithm 4 constructs tour T h based on an earlier-constructed tour T h 1 = ( i 1 , , i | T h 1 | ) and polygon P h = ( v 1 , , v | P h | ) . The construction is carried out in a number of iterations, where we denote by T h 1 l a partial tour constructed at iteration l; we let T h 1 0 : = T h 1 .
At iteration l 1 , vertex v l from polygon P h is inserted in between two adjacent pairs of vertices from tour T h 1 l . These two vertices i j and i j + 1 are determined so that the cost of inserting vertex v l P h in between these vertices is the minimum possible, i.e.,
w ( i j , v l ) + w ( v l , i j + 1 ) w ( i j , i j + 1 )
is the minimum possible (the triangle inequality). Below is a formal description of the algorithm.
Figure 18 shows tour T 1 and polygon P 2 for the problem instance “tsp10”. Table 3 and Figure 19 show the five iterations performed by Algorithm 4 ( J O I N P ) for the construction of tour T 2 .

2.4.3. Algorithm INFLAMMATION

The Algorithm 3 (Figure 20) initially lets T 0 : = . While | V \ T h | > 2 , in the iteration h > 0 , the coordinates x c h and y c h of the centroid c h are calculated as follows:
x c h = i V \ T h 1 x i | V \ T h 1 |
and
y c h = i V \ T h 1 y i | V \ T h 1 | .
Once the centroid is so defined, Algorithm 5 ( I N N E R C O N V E X H U L L ) is invoked to obtain the inner convex hull P h . Then, the tour T h is constructed by the invoking of Algorithm 4 ( J O I N P ( T h 1 , c h ) ).
If | V \ T h | = 0 , then the algorithm halts. Else, if 1 | V \ T h | 2 , instead of invoking Algorithm 5 (no inner convex hull can be constructed), the | V \ T h | vertices from set V \ T h are inserted in between two consecutive vertices of tour T h 1 in | V \ T h | iterations, one vertex at each iteration, similar to as in Algorithm 4 (so that the increase in the total cost at each iteration is the minimum possible).
Table 4 and Figure 21 illustrate Algorithm 3 for problem instance “tsp10” with 10 vertices. In Figure 21a, inner convex polygon P 1 = ( 4 , 1 , 2 , 3 , 9 ) is constructed, considering the vertices of V \ T 0 = V . In Figure 21b, T 1 = ( 4 , 1 , 2 , 3 , 9 , 4 ) is constructed with the vertices included in P 1 and P 2 = ( 7 , 10 , 6 , 5 , 8 ) is constructed with the vertices included in V \ T 1 . In Figure 21c, T 2 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 ) is constructed by inserting the vertices from P 2 in tour T 1 . The resultant feasible solution T = T 2 .
We applied an improvement algorithm to a complete tour obtained as above. Two heuristics were used in a loop for this purpose. First, a local search algorithm proposed by Croes (“2-Opt”) [43] was applied. Then, iteratively, a vertex from the current tour was relocated to an alternative position if this yielded further reduction in the total cost. The algorithm halts when no such rearrangement exists.
As is easy to see, algorithm I N N E R C O N V E X H U L L has time complexity O ( n log n ) ; algorithm JOINP has time complexity O ( n 2 ) ; the improvement phase has the same time complexity as the improvement phase of the INSERTION algorithm.

3. Implementation and Results

In this section, we report our experimental study. Our algorithms were coded in C++ and compiled on a Debian GNU/Linux operating system.
According to our earlier experimental results from [5], the insertion algorithm from Section 2.2 proved to be very fast. It was tested for 218 problem instances with sizes between 32 and 744,710 from the TSPLIB [44], NATIONAL [45], ART GALLERY [45], and VLSI [45] group of instances. On average, the cost of the approximation obtained by this method with respect to the cost of the best-known solution had a margin of error of 7.2%.
The inflammation method was designed to provide solutions of good quality for some typical real-life instances. A few such sample instances were created based on the existing tourist tours and network convenience stores from different parts of the world (Asia, Europe, South America, United States of America, and Mexico. We describe these instances in the following subsections.
The algorithm for the BMTSP from Section 2.3 was tested for 22 benchmark instances. For one of them, p r 1002 . t s p (with k = 5 , m min = 1 , and m max = 5 ), we obtained the best-known result C ( T ) = 329 , 128 , improving the earlier-known best cost C ( B K S ) = 334.351 Lo et al. [38]. The remaining 16 instances were solved with an approximation gap less than or equal to 7%. We refer the reader to Table 1 from [42] for the details.

3.1. Ring Roads

Many towns throughout the world have an important principal avenue, often referred to as ring (circular) roads or peripheral avenues. They typically surround the populated areas. They can be seen as circle-type curves or multiple-sided polygons that contain a given populated area in the interior area. Peripheral avenues contain different important locations such as military barracks, supermarkets, malls with cinemas, restaurants, gas stations, etc. The remaining interior destinations such as market places, bus terminals, teacher training colleges, fields for physical and sports activities, houses, etc., can also be reached through peripheral avenues. Peripheral avenues have also exits to highways that connect a given city with neighboring towns. In Figure 22, the peripheral roads of some major cities are illustrated (these images were taken from the Internet). Based on these images, we created our first sample problem instance for an abstract peripheral avenue and tested the inflammation algorithm for this instance.
Figure 23a illustrates this sample instance, and Figure 23b represents the solution created by the algorithm. The optimality of the created tour is easily verified. For the real-life instances, strictly optimal solutions may not be obtained, but one would normally expect the algorithm to deliver close to the optimal solutions. In the following subsections, we give the results for six other real-life instances.

3.2. Convenience Stores in Iguala

Our next instance was taken from a map of the city of Iguala, located in the state of Guerrero, Mexico (See Appendix A.1). Different important spots including a chain of convenience stores are located around the peripheral avenue of this city. This peripheral avenue is shaped as an eight-sided polygon, as we can see from Figure 24. In Iguala, an important chain of convenience stores, Oxxo, has 21 stores and an administrative office in this city; 11 of these stores are located on the peripheral avenue or one block from it; eight stores are in the city center; two stores are at one of the city exits. Among the employees who work in those offices, there are those who must visit all the stores, and there are also a couple of supervisors who only visit between 10 and 13 stores that they are in charge of.
We tested both the inflammation and BMTSP algorithms for this instance. Figure 25 shows the iterations carried out by the inflammation method for the construction of the tour for an employee to visit all the stores in the city. The vertex d represents the administrative office from which that employee starts and ends his/her trip.
In Figure 25a, the polygon P 0 = ( d , 6 , 20 , 8 , 16 ) is constructed. In Figure 25b, T 0 = ( d , 6 , 20 , 8 , 16 , d ) is constructed from the vertices of P 0 , and the polygon P 1 = ( 7 , 2 , 14 , 19 , 9 , 10 ) is constructed. In Figure 25c, T 1 = ( d , 6 , 7 , 2 , 20 , 14 , 8 , 19 , 9 , 16 , 10 , d ) is constructed from the vertices of P 1 inserted in T 0 , and the polygon P 2 = ( 4 , 21 , 17 , 18 , 5 , 12 ) is constructed. In Figure 25d, T 2 = ( d , 6 , 7 , 4 , 2 , 21 , 17 , 20 , 14 , 8 , 19 , 18 , 5 , 9 , 16 , 12 , 10 , d ) is constructed from the vertices of P 2 inserted in T 1 , and the polygon P 3 = ( 1 , 13 , 15 ) is constructed. In Figure 25e, T 3 = ( d , 6 , 7 , 4 , 15 , 1 , 2 , 21 , 17 , 20 , 13 , 14 , 8 , 19 , 18 , 5 , 9 , 16 , 12 , 10 , d ) is constructed from the vertices of P 3 inserted in T 2 , and the polygon P 4 = ( 3 , 11 ) is constructed. In Figure 25f, T 4 = ( d , 6 , 7 , 4 , 15 , 3 , 11 , 1 , 2 , 21 , 17 , 20 , 13 , 14 , 8 , 19 , 18 , 5 , 9 , 16 , 12 , 10 , d ) is constructed from the vertices of P 4 inserted in T 3 , and the method completes the construction of the tour.
Figure 26 shows the phases carried out by the bounded multiprocessor TSP method for the construction of a tour for each of the two supervisors (with k = 2 , m min = 10 and m max = 13 ). In Figure 26a, the partition of set V \ { d } into two feasible subsets V 1 = { 5 , 8 , 9 , 13 , 14 , 16 , 17 , 18 , 19 , 20 , 21 } and V 2 = { 1 , 2 , 3 , 4 , 6 , 7 , 10 , 11 , 12 , 15 } is shown, whose number of vertices included in each of them is between 10 and 13 vertices. In Figure 26b, tours T 1 = ( d , 21 , 17 , 20 , 13 , 14 , 8 , 8 , 5 , 18 , 19 , 16 , d ) and T 2 = ( d , 6 , 2 , 7 , 4 , 1 , 11 , 3 , 15 , 12 , 10 , d ) are constructed for the subsets V 1 { d } and V 2 { d } , respectively. In Figure 26c, the feasible solution constructed is improved.

3.2.1. Instance Asia

Instance “Asia.tsp” was built based on two tourist circuits: “Japan, China and South Korea in 15 days” by [47] and “17 days—Travel to Japan, South Korea and China” by [48].
The instance includes 22 tourist places: Tokyo, Hakone, Guilin, Xi’an, Shanghai, Seoul, Beijing, Linfen, Pingyao, Wutai, Jiming Mountain, Datong, Itsukushima Shrine, Iwakuni, Xinzhou, Shimonoseki, Hiroshima, Busan, Daegu, Tripitaka, Jeonju, and Suwon (see Figure 27).

3.2.2. Instance Europe

Instance “Europe.tsp” was taken from the circuit called “Fantastic Europe Circuit” from [50].
The instance includes 24 tourist places: Madrid, San Sebastian, Bordeaux, Blois, Paris, Luxembourg, Frankfurt, Heidelberg, Freiburg, Zurich, Lucerne, Vaduz, Innsbruck, Padova, Venice, Bologna, Florence, Assisi, Rome, Pisa, Nice, Montpellier, Barcelona, and Zaragoza (see Figure 28).

3.2.3. Instance South America

Instance “SouthAmerica.tsp” was built based on two tourist circuits: “Peru, Bolivia and Chile” and “Argentina-Chile” of [52].
The instance includes 15 tourist places: Lima, San Pedro Atacama, Ollantaytambo, Cusco, Machu Picchu, Sacred Valley of the Incas, Lake Titicaca, Copacabana, Torres de Paine, El Calafate, Viña del Mar, Buenos Aires, Santiago de Chile, Valparaíso, and Montevideo (See Figure 29).

3.2.4. Instance East of USA

Instance “EastUSA.tsp” was taken from the circuit called “The Grand East” of [54].
The instance includes 19 tourist places: New York, Boston, Quebec, Montreal, Ottawa, Toronto, Niagara Falls, Amish Country, Washington D.C., Wiliamsburg, Roanoke, Gatlingburg, Nashville, Memphis, New Orleans, Pensacola, Orlando, and Miami (See Figure 30).

3.2.5. Instance Mexico

The instance “Mexico.tsp” was built based on three tourist circuits: “Mayan Civilizations” and “Yucatán” from [56] and “The essentials of Mexico to Cancun ” from [57].
The instance includes 22 tourist places: Mexico City, Teotihuacan, Villahermosa, Palenque, Campeche, Uxmal, Mérida, Chichen Itzá, Cancún, Tulum, Cobá, Kabah, Izamal, Valladolid, Puebla, Mitla, Oaxaca-MonteAlbán, Tehuantepec, Tuxtla Gutierrez, San Cristobal de las Casas, and Agua Azul Waterfalls (see Figure 31).

3.3. Summary of the Results at the Improvement Stage

In Table 5, we give a summary of the improvements accomplished at the last improvement stage of the inflammation algorithm. Column “ C I n f ( T ) ” represents the cost of the tour delivered by the inflammation algorithm, and Column “ C I m p ( T ) ” represents the cost of the tour delivered by the improvement stage. Column “% Improvement” presents the percentage of the improvement.

4. Conclusions and Future Work

Using convex polygons in our approach provided good-quality solutions for Euclidean traveling salesman problems. In particular, the inflammation algorithm provided optimal and near-optimal solutions for the “ring-type” instances of the Euclidean TSP. Ring-type instances with a symmetric geometric structure were solved optimally, whereas for the real-life ring-type instances, close to optimum solutions were created. As for the future work, it would be interesting to compare the practical behavior of the earlier-mentioned algorithms (including our algorithm) for the construction of a girding polygon. Indeed, the worst-case time complexity does not always reflect the practical performance. We also intend to extend the inflammation algorithm with a decomposition stage, which would partition a given problem instance into sub-instances with a nearly symmetric geometric structure. Then, we can apply the proposed algorithm to each of the derived substances and unify the created partial solutions into an overall complete solution. Likewise, our algorithm for the BMTSP can be extended with different alternative algorithms for partitioning the given set of points. Our method can also be adapted for more general settings including different versions of the multiprocessor traveling salesman problem.

Author Contributions

Conceptualization, N.V.; methodology, N.V. and V.H.P.-V.; validation, N.V.; formal analysis, N.V.; investigation, N.V., V.H.P.-V. and F.Á.H.-M.; Resource administration and Funding, J.A.H.-A.; writing—original draft preparation, V.H.P.-V. and N.V.; writing—review and editing, N.V.; visualization, V.H.P.-V. and J.A.H.-A.; supervision, N.V.; project administration, N.V. All authors have read and agreed to the published version of the manuscript.

Funding

This research is expected to receive PRODEP funding from the Mexican Ministry of Superior Education (SEP).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Appendix A.1

Figure A1 contains the location of the administrative office and the 21 convenience stores installed in Iguala, which are represented in Table A1, which contains the store number in column i, the x coordinate of store i in column x i , and the y coordinate of store i in column y i .
Figure A1. Location of the 21 convenience stores in Iguala. [46].
Figure A1. Location of the 21 convenience stores in Iguala. [46].
Axioms 11 00439 g0a1
Table A1. Instance Iguala.
Table A1. Instance Iguala.
i x i y i i x i y i
01991301169201
11091751217257
219619013270278
31617014278215
4150141159185
5462716257114
619913717195246
71721391845912
825416219308102
93097820244231
1019110821164260

References

  1. Karp, R.M. Reducibility among combinatorial problems. In Complexity of Computer Computations; Miller, R.E., Thatcher, J.W., Bohlinger, J.D., Eds.; Springer: Boston, MA, USA, 1972; pp. 85–103. [Google Scholar] [CrossRef]
  2. Roerty, D.F. M-Salesman Balanced Tours Traveling Salesman Problem with Multiple Visits to Cities Allowed. Ph.D. Thesis, Texas Tech University, Lubbock, TX, USA, 1974. Available online: https://ttu-ir.tdl.org/bitstream/handle/2346/18193/31295002299211.pdf?sequence=1 (accessed on 19 August 2022).
  3. Necula, R.; Breaban, M.; Raschip, M. Performance evaluation of ant colony systems for the single-depot multiple traveling salesman problem. In International Conference on Hybrid Artificial Intelligence Systems; Springer: Cham, Switzerland, 2015; pp. 257–268. [Google Scholar] [CrossRef]
  4. Papadimitriou, C.H. The Euclidean Traveling Salesman Problem is NP-Complete. Theor. Comput. Sci. 1977, 4, 237–244. [Google Scholar] [CrossRef]
  5. Pacheco-Valencia, V.; Hernández, J.A.; Sigarreta, J.M.; Vakhania, N. Simple Constructive, Insertion, and Improvement Heuristics Based on the Girding Polygon for the Euclidean Traveling Salesman Problem. Algorithms 2020, 13, 5. [Google Scholar] [CrossRef]
  6. Vakhania, N.; Hernandez, J.A.; Alonso-Pecina, F.; Zavala, C. A Simple Heuristic for Basic Vehicle Routing Problem. J. Comput. Sci. Technol. Updat. 2016, 3, 38–44. Available online: https://cosmosscholars.com/phms/index.php/jcstu/article/view/693 (accessed on 13 July 2021). [CrossRef]
  7. Macgregor, J.N.; Ormerod, T. Human performance on the traveling salesman problem. Percept. Psychophys. 1996, 58, 527–539. [Google Scholar] [CrossRef]
  8. Norback, J.P.; Love, R.F. Geometric Approaches to Solving the Traveling Salesman Problem. Manag. Sci. 1977, 23, 1208–1223. [Google Scholar] [CrossRef]
  9. Golden, B.; Bodin, L.; Doyle, T.; Stewart, W., Jr. Approximate Traveling Salesman Algorithms. Oper. Res. 1980, 28, 694–711. [Google Scholar] [CrossRef]
  10. Sengupta, L.; Fränti, P. Comparison of eleven measures for estimating difficulty of open-loop TSP instances. Appl. Comput. Intell. 2021, 1, 1–30. [Google Scholar] [CrossRef]
  11. Andrew, A.M. Another efficient algorithm for convex hulls in two dimensions. Inf. Process. Lett. 1979, 9, 216–219. [Google Scholar] [CrossRef]
  12. Graham, R.L. An efficient algorith for determining the convex hull of a finite planar set. Inf. Process. Lett. 1972, 1, 132–133. [Google Scholar] [CrossRef]
  13. Jarvis, R.A. On the identification of the convex hull of a finite set of points in the plane. Inf. Process. Lett. 1973, 2, 18–21. [Google Scholar] [CrossRef]
  14. Anderson, K.R. A reevaluation of an efficient algorithm for determining the convex hull of a finite planar set. Inf. Process. Lett. 1978, 7, 53–55. [Google Scholar] [CrossRef]
  15. Eddy, W.F. A new convex hull algorithm for planar sets. ACM Trans. Math. Softw. 1977, 3, 398–403. [Google Scholar] [CrossRef]
  16. Bykat, A. Convex hull of a finite set of points in two dimensions. Inf. Process. Lett. 1978, 7, 296–298. [Google Scholar] [CrossRef]
  17. Green, P.J.; Silverman, B.W. Constructing the convex hull of a set of points in the plane. Comput. J. 1979, 22, 262–266. [Google Scholar] [CrossRef]
  18. Preparata, F.P.; Hong, S.J. Convex hulls of finite planar and spatial sets of points. In Coordinated Science Laboratory Report no. UILU-ENG 75-2217, R-682; University of Illinois at Urbana-Champaign, 1975; Available online: https://core.ac.uk/download/pdf/158320153.pdf (accessed on 19 August 2022).
  19. Kirkpatrick, D.G.; Seidel, R. The ultimate planar convex hull algorithm? SIAM J. Comput. 1986, 15, 287–299. [Google Scholar] [CrossRef]
  20. Wenger, R. Randomized quickhull. Algorithmica 1997, 17, 322–329. [Google Scholar] [CrossRef]
  21. Jünger, M.; Reinelt, G.; Rinaldi, G. The traveling salesman problem. In Handbooks in Operations Research and Management Science; Elsevier Science B.V.: Amsterdam, The Netherlands, 1995; Volume 7, pp. 225–330. [Google Scholar]
  22. Bland, R.E.; Shallcross, D.F. Large traveling salesman problem arising from experiments in x-ray crystallography: A preliminary report on computation. Oper. Res. Lett. 1989, 8, 125–128. [Google Scholar] [CrossRef]
  23. Ratliff, H.D.; Rosenthal, A.S. Order-picking in a rectangular warehouse: A solvable case of the traveling salesman problem. Oper. Res. 1983, 31, 507–521. [Google Scholar] [CrossRef]
  24. Plante, R.D.; Lowe, T.J.; Chandrasekaran, R. The product matrix traveling salesman problem: An application and solution heuristic. Oper. Res. 1987, 35, 772–783. [Google Scholar] [CrossRef]
  25. Lenstra, J.K.; Kan, A.R. Some simple applications of the traveling salesman problem. J. Oper. Res. Soc. 1975, 26, 717–733. [Google Scholar] [CrossRef]
  26. Bektas, T. The multiple traveling salesman problem: An overview of formulations and solution procedures. Omega 2006, 34, 209–219. [Google Scholar] [CrossRef]
  27. Cheikhrouhou, O.; Khoufi, I. A comprehensive survey on the Multiple Traveling Salesman Problem: Applications, approaches and taxonomy. Comput. Sci. Rev. 2021, 40, 100369. [Google Scholar] [CrossRef]
  28. Samuel, G. Printing Press Scheduling for Multi-Edition Periodicals. Manag. Sci. 1970, 16, B-373–B-383. [Google Scholar] [CrossRef]
  29. Brumitt, B.L.; Stentz, A. Dynamic mission planning for multiple mobile robots. In Proceedings of the IEEE International Conference on Robotics and Automation, Minneapolis, MN, USA, 22–28 April 1996; Volume 3, pp. 2396–2401. [Google Scholar] [CrossRef]
  30. Gilbert, K.C.; Hofstra, R.B. A New Multiperiod Multiple Traveling Salesman Problem with Heuristic and Application to a Scheduling Problem. Decis. Sci. 1992, 23, 250–259. [Google Scholar] [CrossRef]
  31. Angel, R.D.; Caudle, W.L.; Noonan, R.; Whinston, A. Computer-assisted school bus scheduling. Manag. Sci. 1972, 18, B-279–B-288. [Google Scholar] [CrossRef]
  32. Svestka, J.A.; Huckfeldt, V.E. Computational Experience with an M-Salesman Traveling Salesman Algorithm. Manag. Sci. 1973, 19, 790–799. [Google Scholar] [CrossRef]
  33. Yu, Z.; Jinhai, L.; Guochang, G.; Rubo, Z.; Haiyan, Y. An implementation of evolutionary computation for path planning of cooperative mobile robots. In Proceedings of the 4th World Congress on Intelligent Control and Automation (Cat. No. 02EX527), Shanghai, China, 10–14 June 2002; Volume 3, pp. 1798–1802. [Google Scholar] [CrossRef]
  34. Ryan, J.L.; Bailey, T.G.; Moore, J.T.; Carlton, W.B. Reactive tabu search in unmanned aerial reconnaissance simulations. In Proceedings of the 1998 Winter Simulation Conference (Cat. No. 98CH36274), Washington, DC, USA, 13–16 December 1998; Volume 1, pp. 873–879. [Google Scholar] [CrossRef]
  35. Saleh, H.A.; Chelouah, R. The design of the global navigation satellite system surveying networks using genetic algorithms. Eng. Appl. Artif. Intell. 2004, 17, 111–122. [Google Scholar] [CrossRef]
  36. Hosseinabadi, A.A.; Kardgar, M.; Shojafar, M.; Shamshirband, S.; Abraham, A. GELS-GA: Hybrid metaheuristic algorithm for solving Multiple Travelling Salesman Problem. In Proceedings of the 2014 14th International Conference on Intelligent Systems Design and Applications, Okinawa, Japan, 28–30 November 2014; pp. 76–81. [Google Scholar] [CrossRef]
  37. Rostami, A.S.; Mohanna, F.; Keshavarz, H.; Hosseinabadi, A.A.R. Solving multiple traveling salesman problem using the gravitational emulation local search algorithm. Appl. Math. Inf. Sci. 2015, 9, 1–11. Available online: https://www.researchgate.net/publication/266392528_Solving_Multiple_Traveling_Salesman_Problem_using_the_Gravitational_Emulation_Local_Search_Algorithm (accessed on 13 July 2021).
  38. Lo, K.M.; Yi, W.Y.; Wong, P.K.; Leung, K.S.; Leung, Y.; Mak, S.T. A genetic algorithm with new local operators for multiple traveling salesman problems. Int. J. Comput. Intell. Syst. 2018, 11, 692–705. [Google Scholar] [CrossRef]
  39. Harrath, Y.; Salman, A.F.; Alqaddoumi, A.; Hasan, H.; Radhi, A. A novel hybrid approach for solving the multiple traveling salesmen problem. Arab. J. Basic Appl. Sci. 2019, 26, 103–112. [Google Scholar] [CrossRef]
  40. Al-Furhud, M.A.; Ahmed, Z.H. Experimental Study of a Hybrid Genetic Algorithm for the Multiple Travelling Salesman Problem. Math. Probl. Eng. 2020, 2020, 3431420. [Google Scholar] [CrossRef]
  41. Vakhania, N. Simple Methods for Euclidean Traveling Salesman Problems. In Proceedings of the 1st International Online Conference on Algorithms (IOCA 2021), Hangzhou, China, 22–24 November 2021; Available online: https://ioca2021.sciforum.net/#personnel1142 (accessed on 1 March 2022).
  42. Pacheco-Valencia, V.; Vakhania, N.; Hernández, J.; Hernández-Gómez, J.C. A Fast Algorithm for Euclidean Bounded Single-Depot Multiple Traveling Salesman Problem. In Proceedings of the 1st Online Conference on Algorithms, Online, 27 September–10 October 2021; MDPI: Basel, Switzerland. Available online: https://sciforum.net/paper/view/10898 (accessed on 1 March 2022). [CrossRef]
  43. Croes, G.A. A Method for Solving Traveling-Salesman Problems. Oper. Res. 1958, 6, 791–812. [Google Scholar] [CrossRef]
  44. Universität Heidelberg, Institut für Informatik, Gerhard Reinelt, Symmetric Traveling Salesman Problem (TSP). Available online: https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ (accessed on 15 April 2021).
  45. Natural Sciences and Engineering Research Council of Canada (NSERC) and Department of Combinatorics and Optimization at the University of Waterloo, TSP Test Data. Available online: http://www.math.uwaterloo.ca/tsp/data/index.html (accessed on 8 June 2019).
  46. Google Maps. (n.d.) [Convenience Stores, OXXO, Located in Iguala, Guerrero, Mexico], Attribution: Map data ©2022 INEGI. Available online: https://goo.gl/maps/k5uteV2vFTcmvBaK8 (accessed on 11 July 2022).
  47. Antia Viajes. Available online: https://antiaviajes.com/asia/viajes-a-china/corea-japon (accessed on 11 July 2022).
  48. Top Asia Tour. China International Travel Service Guillin Co., Ltd. Available online: https://es.topasiatour.com/viajes/tates-corea-del-sur-04.htm (accessed on 11 July 2022).
  49. Google Maps. (n.d.) [Tourist Places in Asia]. Attribution: Map Data ©2022 Google, TMap Mobility. Available online: https://goo.gl/maps/opy3QELuuwZp4g9z6 (accessed on 11 July 2022).
  50. Viajes, Visas y Excursiones–Vive. Available online: https://www.viajesvivex.com/circuitos (accessed on 11 July 2022).
  51. Google Maps. (n.d.) [Tourist Places in Europe], Attribution: Map data ©2022 Google, GeoBasis-DE/BKG(©2009), Inst. Geogr. Nacional. Available online: https://goo.gl/maps/8AjGcNcsGRyDQgCR8 (accessed on 11 July 2022).
  52. AndesNomads.com Servicios Turísticos. Available online: https://www.travelandes.com/ (accessed on 11 July 2022).
  53. Google Maps. (n.d.) [Tourist Places in South-America], Attribution: Map data ©2022 Google. Available online: https://goo.gl/maps/uk35NwKRYwmo37FA8 (accessed on 11 July 2022).
  54. Tours-USA.com. Available online: https://www.tours-usa.com/tour/the-grand-east (accessed on 11 July 2022).
  55. Google Maps. (n.d.) [Tourist Places in East of U.S.A], Attribution: Map Data ©2022 Google, INEGI. Available online: https://goo.gl/maps/W62uQcgrSzbUp8ni8 (accessed on 11 July 2022).
  56. LyO Gestión y Ocio, S.L. Available online: https://www.viajeslyo/ (accessed on 11 July 2022).
  57. Evaneos.es. Available online: https://www.evaneos.es/ (accessed on 11 July 2022).
  58. Google Maps. (n.d.) [Tourist places in Mexico], Attribution: Map data ©2022 INEGI. Available online: https://goo.gl/maps/79xJXgQTzCitQbRz5 (accessed on 11 July 2022).
Figure 1. Example instance “tsp10” with 10 vertices.
Figure 1. Example instance “tsp10” with 10 vertices.
Axioms 11 00439 g001
Figure 2. Angle θ ( i , j ) formed by the edge ( i , j ) and the straight line y = y i .
Figure 2. Angle θ ( i , j ) formed by the edge ( i , j ) and the straight line y = y i .
Axioms 11 00439 g002
Figure 3. The four auxiliary points v 1 = 6 , v 2 = 4 , v 3 = 8 , and v 4 = 5 determined for example instance “tsp10”.
Figure 3. The four auxiliary points v 1 = 6 , v 2 = 4 , v 3 = 8 , and v 4 = 5 determined for example instance “tsp10”.
Axioms 11 00439 g003
Figure 4. Girding polygon algorithm flowchart.
Figure 4. Girding polygon algorithm flowchart.
Axioms 11 00439 g004
Figure 5. Polygonal lines constructed by algorithm ( G I R D I N G P O L Y G O N ) for instance “tsp10”. (a) P 1 = ( 6 , 10 ) ; (b) P 2 = ( 6 , 10 , 4 ) ; (c) P 3 = ( 6 , 10 , 4 , 7 ) ; (d) P 4 = ( 6 , 10 , 4 , 7 , 8 ) ; (e) P 5 = ( 6 , 10 , 4 , 7 , 8 , 3 ) ; (f) P 6 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 ) ; (g) P 7 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 ) ; (h) P 8 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 ) .
Figure 5. Polygonal lines constructed by algorithm ( G I R D I N G P O L Y G O N ) for instance “tsp10”. (a) P 1 = ( 6 , 10 ) ; (b) P 2 = ( 6 , 10 , 4 ) ; (c) P 3 = ( 6 , 10 , 4 , 7 ) ; (d) P 4 = ( 6 , 10 , 4 , 7 , 8 ) ; (e) P 5 = ( 6 , 10 , 4 , 7 , 8 , 3 ) ; (f) P 6 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 ) ; (g) P 7 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 ) ; (h) P 8 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 ) .
Axioms 11 00439 g005
Figure 6. Insertion algorithm flowchart.
Figure 6. Insertion algorithm flowchart.
Axioms 11 00439 g006
Figure 7. Iterations made by the insertion algorithm to solve the example instance “tsp10”. (a) The tour T 0 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 ) is delivered by ( G I R D I N G _ P O L Y G O N ( V ) ). (b) Vertex 9 is inserted between vertices 7 and 8. (c) Vertex 1 is inserted between vertices 5 and 6. The feasible tour constructed is ( 6 , 10 , 4 , 7 , 9 , 8 , 3 , 2 , 5 , 1 , 6 ) .
Figure 7. Iterations made by the insertion algorithm to solve the example instance “tsp10”. (a) The tour T 0 = ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 ) is delivered by ( G I R D I N G _ P O L Y G O N ( V ) ). (b) Vertex 9 is inserted between vertices 7 and 8. (c) Vertex 1 is inserted between vertices 5 and 6. The feasible tour constructed is ( 6 , 10 , 4 , 7 , 9 , 8 , 3 , 2 , 5 , 1 , 6 ) .
Axioms 11 00439 g007
Figure 8. A basic flowchart of the partition algorithm to obtain the auxiliary points i 1 , , i k and the first vertex for each subset V j , j = 1 , , k .
Figure 8. A basic flowchart of the partition algorithm to obtain the auxiliary points i 1 , , i k and the first vertex for each subset V j , j = 1 , , k .
Axioms 11 00439 g008
Figure 9. A partial flowchart for the creation of the subsets V j , j = 1 , , k with m min vertices.
Figure 9. A partial flowchart for the creation of the subsets V j , j = 1 , , k with m min vertices.
Axioms 11 00439 g009
Figure 10. The last partial flowchart of the partition algorithm to obtain the subsets V j , j = 1 , , k .
Figure 10. The last partial flowchart of the partition algorithm to obtain the subsets V j , j = 1 , , k .
Axioms 11 00439 g010
Figure 11. The flowchart of the construction algorithm to obtain the k tours T j , j = 1 , , k .
Figure 11. The flowchart of the construction algorithm to obtain the k tours T j , j = 1 , , k .
Axioms 11 00439 g011
Figure 12. Phases to construct a solution for an instance of the bounded MTSP with k = 3 , m min = 2 and m max = 4 .
Figure 12. Phases to construct a solution for an instance of the bounded MTSP with k = 3 , m min = 2 and m max = 4 .
Axioms 11 00439 g012
Figure 13. Inner convex hull algorithm flowchart.
Figure 13. Inner convex hull algorithm flowchart.
Axioms 11 00439 g013
Figure 14. Construction of the initial polygonal line L 1 0 for the example instance “tsp10”, where c 1 = ( 52.8 , 55 ) .
Figure 14. Construction of the initial polygonal line L 1 0 for the example instance “tsp10”, where c 1 = ( 52.8 , 55 ) .
Axioms 11 00439 g014
Figure 15. Angle ϕ ( v j 1 , v j , v j + 1 , c h ) formed by the edges ( v j 1 , v l ) and ( v j , v j + 1 ) , where v j 1 , v j , and v j + 1 are consecutive vertices from polygonal line L h l 1 .
Figure 15. Angle ϕ ( v j 1 , v j , v j + 1 , c h ) formed by the edges ( v j 1 , v l ) and ( v j , v j + 1 ) , where v j 1 , v j , and v j + 1 are consecutive vertices from polygonal line L h l 1 .
Axioms 11 00439 g015
Figure 16. Graphs corresponding to the iterations carried out by Algorithm 5 ( I N N E R C O N V E X H U L L ) for the construction of the inner convex hull P for the example instance “tsp10”. (a) L 1 3 : = L 1 2 : = L 1 1 : = L 1 0 ; (b) L 1 4 : = L 1 3 \ { 5 } ; (c) L 1 5 : = L 1 4 \ { 6 } ; (d) L 1 10 : = L 1 9 : = L 1 8 : = L 1 7 : = L 1 6 : = L 1 5 \ { 10 } ; (e) L 1 11 : = L 1 10 \ { 7 } ; (f) L 1 13 : = L 1 12 : = L 1 11 \ { 8 } .
Figure 16. Graphs corresponding to the iterations carried out by Algorithm 5 ( I N N E R C O N V E X H U L L ) for the construction of the inner convex hull P for the example instance “tsp10”. (a) L 1 3 : = L 1 2 : = L 1 1 : = L 1 0 ; (b) L 1 4 : = L 1 3 \ { 5 } ; (c) L 1 5 : = L 1 4 \ { 6 } ; (d) L 1 10 : = L 1 9 : = L 1 8 : = L 1 7 : = L 1 6 : = L 1 5 \ { 10 } ; (e) L 1 11 : = L 1 10 \ { 7 } ; (f) L 1 13 : = L 1 12 : = L 1 11 \ { 8 } .
Axioms 11 00439 g016
Figure 17. Joinp algorithm flowchart.
Figure 17. Joinp algorithm flowchart.
Axioms 11 00439 g017
Figure 18. Tour T 1 and polygon P 2 for the example instance “tsp10”.
Figure 18. Tour T 1 and polygon P 2 for the example instance “tsp10”.
Axioms 11 00439 g018
Figure 19. Graphs corresponding to the iterations carried out by Algorithm 4 ( J O I N P ) for the construction of tour T 2 . (a) T h 1 1 = ( 4 , 10 , 1 , 2 , 3 , 9 , 4 ) ; (b) T h 1 2 = ( 4 , 10 , 6 , 1 , 2 , 3 , 9 , 4 ) ; (c) T h 1 3 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 9 , 4 ) ; (d) T h 1 4 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 4 ) ; (e) T 2 : = T h 1 5 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 ) .
Figure 19. Graphs corresponding to the iterations carried out by Algorithm 4 ( J O I N P ) for the construction of tour T 2 . (a) T h 1 1 = ( 4 , 10 , 1 , 2 , 3 , 9 , 4 ) ; (b) T h 1 2 = ( 4 , 10 , 6 , 1 , 2 , 3 , 9 , 4 ) ; (c) T h 1 3 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 9 , 4 ) ; (d) T h 1 4 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 4 ) ; (e) T 2 : = T h 1 5 = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 ) .
Axioms 11 00439 g019
Figure 20. Inflammation algorithm flowchart.
Figure 20. Inflammation algorithm flowchart.
Axioms 11 00439 g020
Figure 21. Graphs of the iterations performed by Algorithm 3 ( I N F L A M M A T I O N ) to solve the example instance “tsp10”.
Figure 21. Graphs of the iterations performed by Algorithm 3 ( I N F L A M M A T I O N ) to solve the example instance “tsp10”.
Axioms 11 00439 g021
Figure 22. Peripheral roads of some major cities.
Figure 22. Peripheral roads of some major cities.
Axioms 11 00439 g022
Figure 23. Instance “FNV40.tsp” and its solution.
Figure 23. Instance “FNV40.tsp” and its solution.
Axioms 11 00439 g023
Figure 24. The peripheral avenue of Iguala is shaped as an 8-sided polygon [46].
Figure 24. The peripheral avenue of Iguala is shaped as an 8-sided polygon [46].
Axioms 11 00439 g024
Figure 25. Iterations performed to resolve the instance of Iguala by the inflammation method.
Figure 25. Iterations performed to resolve the instance of Iguala by the inflammation method.
Axioms 11 00439 g025
Figure 26. Tours T 1 y T 2 constructed by the bounded multiprocessor TSP method for 2 supervisors, m min = 10 and m max = 13 .
Figure 26. Tours T 1 y T 2 constructed by the bounded multiprocessor TSP method for 2 supervisors, m min = 10 and m max = 13 .
Axioms 11 00439 g026
Figure 27. Map and solution of instance “Asia.tsp”. (a) Map [49]; (b) Solution; (c) Improved solution.
Figure 27. Map and solution of instance “Asia.tsp”. (a) Map [49]; (b) Solution; (c) Improved solution.
Axioms 11 00439 g027
Figure 28. Map and solution of instance “Europe.tsp”. (a) Map [51]; (b) Solution; (c) Improved solution.
Figure 28. Map and solution of instance “Europe.tsp”. (a) Map [51]; (b) Solution; (c) Improved solution.
Axioms 11 00439 g028
Figure 29. Map and solution of instance “SouthAmerica.tsp”. (a) Map [53]; (b) Solution; (c) Improved solution.
Figure 29. Map and solution of instance “SouthAmerica.tsp”. (a) Map [53]; (b) Solution; (c) Improved solution.
Axioms 11 00439 g029
Figure 30. Map and solution of instance “EastUSA.tsp”. (a) Map [55]; (b) Solution; (c) Improved solution.
Figure 30. Map and solution of instance “EastUSA.tsp”. (a) Map [55]; (b) Solution; (c) Improved solution.
Axioms 11 00439 g030
Figure 31. Map and solution of instance “Mexico.tsp”. (a) Map [58]; (b) Solution; (c) Improved solution.
Figure 31. Map and solution of instance “Mexico.tsp”. (a) Map [58]; (b) Solution; (c) Improved solution.
Axioms 11 00439 g031
Table 1. Iterations performed by the Algorithm 1 ( G I R D I N G P O L Y G O N ) for the construction of the girding polygon P for the example instance “tsp10”.
Table 1. Iterations performed by the Algorithm 1 ( G I R D I N G P O L Y G O N ) for the construction of the girding polygon P for the example instance “tsp10”.
hl p h 1 v ( l mod 4 ) + 1 Condition V l p h P h : = P h 1 { p h }
0 6 ( 6 )
1164 6 4 ?: True { 1 , 10 , 4 } 10 ( 6 , 10 )
21104 10 4 ?: True { 4 } 4 ( 6 , 10 , 4 )
3144 4 4 ?: False
3248 4 8 ?: True { 7 , 8 , 9 } 7 ( 6 , 10 , 4 , 7 )
4278 7 8 ?: True { 8 } 8 ( 6 , 10 , 4 , 7 , 8 )
5288 8 8 ?: False
5385 8 5 ?: True { 1 , 2 , 3 , 5 } 3 ( 6 , 10 , 4 , 7 , 8 , 3 )
6335 3 5 ?: True { 2 , 5 } 2 ( 6 , 10 , 4 , 7 , 8 , 3 , 2 )
7325 2 5 ?: True { 5 } 5 ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 )
8355 5 5 ?: False
8456 5 6 ?: True { 6 } 5 ( 6 , 10 , 4 , 7 , 8 , 3 , 2 , 5 , 6 )
Table 2. Iterations performed by Algorithm 5 ( I N N E R C O N V E X H U L L ) for the construction of the inner convex polygon P for the example instance “tsp10”.
Table 2. Iterations performed by Algorithm 5 ( I N N E R C O N V E X H U L L ) for the construction of the inner convex polygon P for the example instance “tsp10”.
l L h l j v j ConditionDecision
0Polygonal line is constructed L 1 0 : = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 )
1 ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) 14 ϕ ( 7 , 4 , 10 , c ) π : T r u e L 1 1 : = L 1 0 , j : = j + 1
2 ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) 210 ϕ ( 4 , 10 , 6 , c ) π : T r u e L 1 2 : = L 1 1 , j : = j + 1
3 ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) 36 ϕ ( 10 , 6 , 1 , c ) π : T r u e L 1 3 : = L 1 2 , j : = j + 1
4 ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 ) 41 ϕ ( 6 , 1 , 5 , c ) π : F a l s e L 1 4 : = L 1 3 \ { 5 }
5 ( 4 , 10 , 6 , 1 , 2 , 3 , 8 , 9 , 7 ) 41 ϕ ( 6 , 1 , 2 , c ) π : F a l s e L 1 5 : = L 1 4 \ { 6 } , j : = j 1
6 ( 4 , 10 , 1 , 2 , 3 , 8 , 9 , 7 ) 31 ϕ ( 10 , 1 , 2 , c ) π : F a l s e L 1 6 : = L 1 5 \ { 10 } , j : = j 1
7 ( 4 , 1 , 2 , 3 , 8 , 9 , 7 ) 21 ϕ ( 4 , 1 , 2 , c ) π : T r u e L 1 7 : = L 1 6 , j : = j + 1
8 ( 4 , 1 , 2 , 3 , 8 , 9 , 7 ) 32 ϕ ( 1 , 2 , 3 , c ) π : T r u e L 1 8 : = L 1 7 , j : = j + 1
9 ( 4 , 1 , 2 , 3 , 8 , 9 , 7 ) 43 ϕ ( 2 , 3 , 8 , c ) π : T r u e L 1 9 : = L 1 8 , j : = j + 1
10 ( 4 , 1 , 2 , 3 , 8 , 9 , 7 ) 58 ϕ ( 3 , 8 , 9 , c ) π : T r u e L 1 10 : = L 1 9 , j : = j + 1
11 ( 4 , 1 , 2 , 3 , 8 , 9 , 7 ) 69 ϕ ( 8 , 9 , 7 , c ) π : F a l s e L 1 11 : = L 1 10 \ { 7 }
12 ( 4 , 1 , 2 , 3 , 8 , 9 ) 69 ϕ ( 8 , 9 , 4 , c ) π : F a l s e L 1 12 : = L 1 11 \ { 8 } , j : = j 1
13 ( 4 , 1 , 2 , 3 , 9 ) 59 ϕ ( 3 , 9 , 4 , c ) π : T r u e L 1 13 : = L 1 12 , j : = j + 1
14Inner convex hull P 1 : = L 1 13 = ( 4 , 1 , 2 , 3 , 9 ) is constructed.
Table 3. Iterations performed by Algorithm 4 ( J O I N P ) for the construction of tour T 2 .
Table 3. Iterations performed by Algorithm 4 ( J O I N P ) for the construction of tour T 2 .
l v l ( i j , i j + 1 ) T h 1 l
0 ( 4 , 1 , 2 , 3 , 9 , 4 )
110 ( 4 , 1 ) ( 4 , 10 , 1 , 2 , 3 , 9 , 4 )
26 ( 10 , 1 ) ( 4 , 10 , 6 , 1 , 2 , 3 , 9 , 4 )
35 ( 1 , 2 ) ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 9 , 4 )
48 ( 3 , 9 ) ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 4 )
57 ( 9 , 4 ) ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 )
Table 4. Iterations performed by Algorithm 3 ( I N F L A M M A T I O N ) for the construction of tour T for example instance “tsp10”.
Table 4. Iterations performed by Algorithm 3 ( I N F L A M M A T I O N ) for the construction of tour T for example instance “tsp10”.
h P h T h
0
1 ( 4 , 1 , 2 , 3 , 9 ) ( 4 , 1 , 2 , 3 , 9 , 4 )
2 ( 10 , 6 , 5 , 8 , 7 ) ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 )
T = ( 4 , 10 , 6 , 1 , 5 , 2 , 3 , 8 , 9 , 7 , 4 )
Table 5. A summary of the improvements accomplished at the last improvement stage of the inflammation algorithm.
Table 5. A summary of the improvements accomplished at the last improvement stage of the inflammation algorithm.
Instance C Inf ( T ) C Imp ( T ) % Improvement
FNV40.tsp304.10304.100%
Iguala.tsp1490.781452.212.66 %
Asia.tsp1878.601848.941.60%
Europe.tsp2964.182578.1714.97%
SouthAmerica.tsp1690.701686.560.25%
EastUSA.tsp1977.061761.2812.25 %
Mexico.tsp1389.891381.580.60 %
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Pacheco-Valencia, V.H.; Vakhania, N.; Hernández-Mira, F.Á.; Hernández-Aguilar, J.A. A Multi-Phase Method for Euclidean Traveling Salesman Problems. Axioms 2022, 11, 439. https://doi.org/10.3390/axioms11090439

AMA Style

Pacheco-Valencia VH, Vakhania N, Hernández-Mira FÁ, Hernández-Aguilar JA. A Multi-Phase Method for Euclidean Traveling Salesman Problems. Axioms. 2022; 11(9):439. https://doi.org/10.3390/axioms11090439

Chicago/Turabian Style

Pacheco-Valencia, Víctor Hugo, Nodari Vakhania, Frank Ángel Hernández-Mira, and José Alberto Hernández-Aguilar. 2022. "A Multi-Phase Method for Euclidean Traveling Salesman Problems" Axioms 11, no. 9: 439. https://doi.org/10.3390/axioms11090439

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop