A Polynomial-Time Deterministic Approach to the Traveling Salesperson Problem

Similar documents
Adapting the Genetic Algorithm to the Travelling Saleman Problem

Improvement heuristics for the Sparse Travelling Salesman Problem

The Traveling Salesman Problem: State of the Art

to the Traveling Salesman Problem 1 Susanne Timsj Applied Optimization and Modeling Group (TOM) Department of Mathematics and Physics

Monte Carlo Simplification Model for Traveling Salesman Problem

A Discrete Fireworks Algorithm for Solving Large-Scale Travel Salesman Problem

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

SCIENCE & TECHNOLOGY

Clustering Strategy to Euclidean TSP

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

A HYBRID GENETIC ALGORITHM A NEW APPROACH TO SOLVE TRAVELING SALESMAN PROBLEM

Reducing topological defects in self-organizing maps using multiple scale neighborhood functions

Hybrid approach for solving TSP by using DPX Cross-over operator

A STUDY OF SOME PROPERTIES OF ANT-Q

International Journal of Computational Intelligence and Applications c World Scientific Publishing Company

Complete Local Search with Memory

The Heuristic Strategy Implementation to the Hopfield -Tank TSP Neural Algorithm

a a b b a a a a b b b b

Combinatorial Optimization - Lecture 14 - TSP EPFL

Travelling salesman problem using reduced algorithmic Branch and bound approach P. Ranjana Hindustan Institute of Technology and Science

A memetic algorithm for symmetric traveling salesman problem

The metric travelling salesman problem: pareto-optimal heuristic algorithms

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

Using Genetic Algorithms to optimize ACS-TSP

ENHANCED BEE COLONY ALGORITHM FOR SOLVING TRAVELLING SALESPERSON PROBLEM

Effective Tour Searching for Large TSP Instances. Gerold Jäger

Effective Tour Searching for Large TSP Instances. Gerold Jäger

Solving a combinatorial problem using a local optimization in ant based system

Adaptive Tabu Search for Traveling Salesman Problems

Improved Large-Step Markov Chain Variants for the Symmetric TSP

Optimal tour along pubs in the UK

A Tabu Search Heuristic for the Generalized Traveling Salesman Problem

An Ant Approach to the Flow Shop Problem

ACO and other (meta)heuristics for CO

A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM

CSE 417 Branch & Bound (pt 4) Branch & Bound

An Ant Colony Optimization Algorithm for Solving Travelling Salesman Problem

A Memetic Algorithm for the Generalized Traveling Salesman Problem

700 a a b b

Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP).

Hybrid Differential Evolution Algorithm for Traveling Salesman Problem

A combination of clustering algorithms with Ant Colony Optimization for large clustered Euclidean Travelling Salesman Problem

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

Improving Lin-Kernighan-Helsgaun with Crossover on Clustered Instances of the TSP

Combination of Genetic Algorithm with Dynamic Programming for Solving TSP

A Hybrid Method to Solve Travelling Salesman Problem

GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURE FOR TRAVELING SALESMAN PROBLEM. A Thesis SEUNG HO LEE

Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

Heuristic Approaches for the Probabilistic Traveling Salesman Problem

HEURISTICS optimization algorithms like 2-opt or 3-opt

1 The Traveling Salesperson Problem (TSP)

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem

Parallel Implementation of Travelling Salesman Problem using Ant Colony Optimization

A Hybrid Genetic Algorithm for the Hexagonal Tortoise Problem

A Hybrid Heuristic Approach for Solving the Generalized Traveling Salesman Problem

A COMPARATIVE STUDY OF FIVE PARALLEL GENETIC ALGORITHMS USING THE TRAVELING SALESMAN PROBLEM

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij

Attractor of Local Search Space in the Traveling Salesman Problem

Theorem 2.9: nearest addition algorithm

A Multilevel Lin-Kernighan-Helsgaun Algorithm for the Travelling Salesman Problem

Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem

Solving Travelling Salesmen Problem using Ant Colony Optimization Algorithm

Parallel Programming to solve Traveling Salesman Problem. Team Parallax Jaydeep Untwal Sushil Mohite Harsh Sadhvani parallax.hpearth.

Parallel Implementation of the Max_Min Ant System for the Travelling Salesman Problem on GPU

Algorithms for Euclidean TSP

Notes for Lecture 24

Omid Ansary Professor of Electrical Engineering Director, School of Science, Engineering, and Technology

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

An Ant System with Direct Communication for the Capacitated Vehicle Routing Problem

SOLVING TRAVELING SALESMAN PROBLEMS USING HEURISTIC LEARNING APPROACH

Seismic Vessel Problem

Assignment 3b: The traveling salesman problem

A Comparative Study on Nature Inspired Algorithms with Firefly Algorithm

Kurt Mehlhorn, MPI für Informatik. Curve and Surface Reconstruction p.1/25

Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem

State Space Reduction for the SYMMETRIC Traveling Salesman Problem through Halves Tours Complement

State Space Reduction for the Symmetric Traveling Salesman Problem through Halves Tour Complement

Applying Opposition-Based Ideas to the Ant Colony System

The Ant Colony System for the Freeze-Tag Problem

Shared Crossover Method for Solving Traveling Salesman Problem

Two approaches. Local Search TSP. Examples of algorithms using local search. Local search heuristics - To do list

Tolerance based Greedy Heuristics for the Asymmetric TSP. Gerold Jäger Martin Luther University Halle-Wittenberg

Introducing a New Advantage of Crossover: Commonality-Based Selection

Online Graph Exploration

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Optimizing the Sailing Route for Fixed Groundfish Survey Stations

Effective Optimizer Development for Solving Combinatorial Optimization Problems *

Memory-Based Immigrants for Ant Colony Optimization in Changing Environments

Genetic Algorithms with Oracle for the Traveling Salesman Problem

Complementary Graph Coloring

Amanur Rahman Saiyed (Indiana State University) THE TRAVELING SALESMAN PROBLEM November 22, / 21

Introduction to Approximation Algorithms

A COMPARATIVE STUDY OF BRUTE FORCE METHOD, NEAREST NEIGHBOUR AND GREEDY ALGORITHMS TO SOLVE THE TRAVELLING SALESMAN PROBLEM

Effective Tour Searching for Large TSP Instances. Gerold Jäger

Simulating Human Performance on the Traveling Salesman Problem Abstract Introduction

Efficient Bids on Task Allocation for Multi-Robot Exploration

Transcription:

A Polynomial-Time Deterministic Approach to the Traveling Salesperson Problem Ali Jazayeri and Hiroki Sayama Center for Collective Dynamics of Complex Systems Department of Systems Science and Industrial Engineering Binghamton University, State University of New York Jazayeri.ali@gmail.com Abstract We propose a new polynomial-time deterministic algorithm that produces an approximated solution for the traveling salesperson problem. The proposed algorithm ranks cities based on their priorities calculated using a power function of means and standard deviations of their distances from other cities and then connects the cities to their neighbors in the order of their priorities. When connecting a city, a neighbor is selected based on their neighbors priorities calculated as another power function that additionally includes their distance from the focal city to be connected. This repeats until all the cities are connected into a single loop. The time complexity of the proposed algorithm is OO(nn 2 ), where n is the number of cities. Numerical evaluation shows that the proposed algorithm produces shorter tours with less time complexity than other conventional tour construction heuristics. Keywords: Traveling Salesperson Problem, Polynomial-Time Algorithm, Deterministic Algorithm, Approximation Introduction The traveling salesperson problem (TSP) has been broadly discussed in different contexts. The problem can be expressed as finding the shortest tour for a salesperson through nn cities by starting from his/her home city, visiting the other nn 1 cities and returning back to the first city, visiting each city exactly once. At least one exact optimum solution is always available, by counting all the possible permutations of nn cities. To find the optimum solution, the length of all possible (nn 1)! 2 different routes should be computed. However, the number of routes in this case grows exponentially. Therefore, to avoid the considerable computational time, many algorithms have been proposed which, although they do not guarantee optimality, provide an approximate solution close to the optimal solution. Approaches used in these algorithms are diverse in nature, such as minimum spanning trees (Held and Karp, 1969), genetic algorithms (Grefenstette et al., 1985), evolutionary approaches (Fogel, 1988), Markov chain Monte Carlo procedures (Martin, Otto and Felten, 1991), reinforcement learning (Gambardella and Dorigo, 1995), and even unconventional computational methods. (Jones and Adamatzky, 2014).

Based on Zverovitch (2002), the TSP can be classified as an NP-complete problem and therefore finding a polynomial-time algorithm that can return the optimal solution is very improbable. In this paper, a new polynomial-time deterministic approach is suggested which can solve the problem with a small deviance from the optimal solution with time complexity OO(nn 2 ). In the next section, the proposed algorithm will be discussed. In the experimental findings section, the tours for 20 sets of cities (with number of cities from ~50 to ~500) are used, and the time complexity and results of the proposed algorithm are compared with those obtained by other conventional tour construction heuristics. Finally, the paper concludes with some suggestions for further improvement. Proposed Algorithm The proposed algorithm consists of two main steps and one local improvement procedure. It uses two different power functions in each main step to connect cities to their neighbors. The first power function is used to rank cities by considering the means and the standard deviations of their distances from other cities and to connect those cities to their neighbors in the order of their priorities. When connecting a city, a neighbor is selected based on the neighbors priorities calculated by the second power function that additionally includes their distance from the focal city to be connected. This repeats until all the cities have at least one connection in the first step, and exactly two connections in the second step. Through these two steps, the algorithm generates a single loop that connects all the cities. Then, a local improvement procedure is used to further reduce the length of the obtained tour. The whole algorithm is repeated for several different exponent values used in the power functions, and then the minimum total tour length is selected. Figure 1 shows the outline of the proposed algorithm. Input: o Set of cities and their distances o Value sets for exponents of power functions used for ranking cities Shortest = infinity For different combinations of exponent values o For Step = 1 to 2 For City = 1 to n Calculate Eq. 1 and store (City, Eq. 1 Result) in ListOne Sort ListOne in descending order using second entries (Eq. 1 Result) For (City, x) in ListOne For Neighbor = 1 to n-1 (Neighbor!= City) - Calculate Eq. 2 and store (Neighbor, Eq. 2 Result) in ListTwo Sort ListTwo in descending order using second entries (Eq. 2 Result) If connections of City < Step - For (Neighbor, y) in ListTwo - If connections of Neighbor < 2 If total number of connections < n 1 If connecting City and Neighbor does not create a cycle o Connect City and Neighbor Else Connect City and Neighbor

o For every two distinct connections Connect involved four cities in another possible way If new tour length < old tour length Keep changes Else Discard changes o If final tour length < Shortest Shortest <- final tour length Remember used exponent values and connections among cities Return Shortest, used exponent values and connections among cities Figure 1: The pseudo-code for the proposed algorithm The ranking of cities using the first power function is based on the following intuitive fact: if distances between a specific city and all other cities are relatively equal, it does not matter much when that city is being connected, and therefore its priority over other cities should be low. Or, in a more formal language, if the variance of distances of a city from all other cities is small, it has less priority to be connected to other cities, because its late connection would not have any significantly negative consequence on the length of the final tour. On the contrary, if a city has a fairly large amount of variance of distances from other cities, then that city should have a high priority because if we keep the city unconnected while connecting its close neighbors to other cities, a huge negative consequence may arise. In addition to the variance of distances, the mean of distances should also be considered. This is because keeping a city that is far from other cities unconnected may eventually lead to a negative consequence at a later stage of route construction. Therefore, in this paper, we use the following power function to determine the priority of city i: pp ii = μμ ii αα σσ ii ββ (1) Here, μμ ii and σσ ii are the mean and standard deviation of distances between city ii and the other cities. Due to the unknown influences of these two statistics, we include two exponent parameters, αα and ββ, and consider several exponent values when calculating the priorities of cities. Once the priorities of cities are calculated using Equation (1), the city with the highest priority whose degree is less than two is chosen to select another city to connect. The neighbor city to be connected should be as close as possible to the focal city. Meanwhile, among potential neighbors, priority should be given to those cities whose late connection could cause greater negative consequences, based on the same argument discussed above. These two factors are combined in the following second power function: cc jj = μμ jj δδ εε σσ jj ii dd γγ (2) jj

ii Here, cc jj is the priority of neighbor city jj to be connected to city ii, dd jj is the distance between city ii and city jj, and μμ jj and σσ jj are the mean and standard deviation of distances between city jj and all the other cities, respectively. Again, because of unknown influences of these three statistics, we introduce the three exponent parameters, γγ, δδ and εε, and their values are explored in the proposed algorithm. The proposed algorithm proceeds as follows (also see Fig. 1): In the first main step, cities are processed in the order of the ranking calculated using Equation (1). Each city is connected to a neighbor city with the highest priority given by Equation (2), under the conditions that the degree of the focal city before connection should be zero and that the degree of the neighbor city should be less than two. This process is repeated for all cities. Once this first main step is complete, it is guaranteed that all the cities have at least one neighbor. Some may have two, as a result of being selected as the neighbor for other cities. In the second main step, Equation (1) is calculated again, with the neighbor cities obtained in the first main step excluded, to re-prioritize the cities. Then the cities that have just one neighbor are connected to another neighbor with the highest priority given by Equation (2), under the conditions that the connection of the neighbor city to the focal city will not create a cycle (unless this connection is the very last one to form a looped tour) and that the degree of the neighbor city is less than two before connection. This process is repeated for all cities. Once this second main step is complete, a single looped tour is generated. As a final local improvement step, the 2-Opt algorithm (Croes, 1958) is applied to possibly reduce the tour length further. Specifically, for every pair of edges, it is checked if their reconnection can result in a reduction of the tour length, and if it does, the changes are incorporated; otherwise the edges are left unchanged (Figure 2). Figure 2: 2-Opt algorithm implemented for local improvement. This reconnection is incorporated in the tour if ad + bc > ab + cd ; otherwise it is discarded. This kind of local improvement is checked for all the pairs of edges. Here we show that the computational complexity of the proposed algorithm is (nn 2 ), where n is the number of cities. The algorithm includes two main steps and one 2-Opt local improvement procedure. In each main step, nn 1 neighbor cities are evaluated for each city. Therefore, there are nn(nn 1) different processes for each step, which results in computational complexity OO(nn 2 ). In addition, the 2-Opt local improvement procedure also has OO(nn 2 ) as its

computational complexity. Sorting and finding the maximum and minimum values are performed in computational time less than OO(nn 2 ), which can be ignored in calculation of total computational complexity. Repeating the whole algorithm for several combinations of exponent values increase computational complexity only by a constant factor, as long as the number of combinations is finite. Therefore the computational complexity of the proposed algorithm is OO(nn 2 ). As an illustrative example, the proposed algorithm was applied to the 48 US capital cities (att48 set from TSPLIB (Reinelt, 1991)). The parameters for Equations (1) and (2) were selected from an exponent value set {0, 0.5, 1}. The best result was obtained with αα = 0, ββ = 0.5, γγ = 1, δδ = 0 and εε = 1. Figure 3 shows the result with these optimal exponents in more detail. a b c Figure 3: The proposed algorithm applied to the TSP problem with 48 US capital cities. a. Connected cities after the first main step. b. Connected cities after the second main step. c. Final tour after the local improvement step. In each figure, the connections obtained by the proposed algorithm are shown with solid lines (final tour length = 33,555), while the tour is shown with dashed lines (true

optimal tour length = 33,523). As seen in c, two routes overlap mostly. The difference between the two routes near the bottom right corner leads to a 0.10% deviation from the optimal solution. Experiments The proposed algorithm was applied to 20 different sets of cities from TSPLIB. The results of this algorithm were compared to their corresponding best-known solutions in Table 1. As seen in the table, the best values for exponents of Equations (1) and (2) varied for different sets, indicating that optimal exponent values would depend on the topology of the network of cities and their spatial distances. Set Name Table 1: Performances of the proposed algorithm on 20 different sets of cities # of Cities Best Route Length Obtained Route Length Error (%) α β γ δ ɛ eil51 51 426 436 2.35% 0 0 0.5 0 0.5 berlin52 52 7542 7659 1.55% 0 0 0.5 1 0 eil76 76 538 556 3.35% 0.5 0.5 1 0.5 0.5 kroa100 100 21282 21610 1.54% 0.5 0 0.5 0 0.5 krob100 100 22141 22611 2.12% 1 0.5 1 0.5 0 kroc100 100 20749 21370 2.99% 1 0.5 1 0.5 1 krod100 100 21294 21713 1.97% 0.5 1 1 0.5 1 kroe100 100 22068 22554 2.20% 1 0.5 0.5 0 0.5 lin105 105 14379 14556 1.23% 0.5 0 0.5 1 0 pr107 107 44303 45263 2.17% 0 0.5 0.5 0 0 bier127 127 118282 119302 0.86% 0.5 1 1 0.5 0.5 ch130 130 6110 6226 1.90% 0 0.5 0.5 0 0 ch150 150 6528 6661 2.04% 0.5 0 0.5 0 1 kroa150 150 26524 27399 3.30% 0.5 0.5 0.5 0.5 0.5 krob150 150 26130 26732 2.30% 0.5 1 0.5 0 1 d198 198 15780 16185 2.57% 0 0.5 0.5 0.5 0.5 kroa200 200 29368 30243 2.98% 0.5 1 1 0.5 1 gil262 262 2378 2454 3.20% 0 0.5 1 0.5 1 lin318 318 42029 43597 3.73% 0.5 1 1 0 0.5 d493 493 35002 36251 3.57% 1 0.5 1 1 0.5 The average error for these 20 sets of cities is 2.40%. In comparison with other more conventional tour construction techniques summarized by Johnson and McGeoch (1997), the proposed algorithm exhibits a smaller average error with equal or less computational complexity (Table 2). Table 2: Computational complexities of several tour construction heuristics (Johnson and McGeoch, 1997) Method computational complexity %Error* Nearest Neighbor OO(nn 2 ) 26.0% Greedy OO(nn 2 log nn) 19.0% Clarke-Wright OO(nn 2 log nn) 10.0% Christofides OO(nn 3 ) 9.5% Proposed algorithm OO(nn 2 ) 2.40%** *: Average percent excess over the Held-Karp Lower Bound, **: Average percent excess over the known optimal routes length. Based on Johnson, McGeoch, and Rothberg (1997) and Reinelt (1994), the gaps between all TSPLIB instances optimal solutions and their corresponding Held-Karp lower bounds are less than 1.76%, with the average error of 0.8%. This assures that the percent error of the proposed algorithm is smaller than those of the four compared algorithms.

The values in the third column of Table 2 is obtained by the other tour construction heuristics for sets of 100 ~ 300 cities (Johnson, McGeoch, and Rothberg, 1997). Reinelt (1994) compared different tour construction algorithms and discussed that, considering the absolute and relative quality of tour lengths and also taking into account the required running time, the Clarke-Wright algorithm (called Savings heuristics by Reinelt) provides the best solution. Table 2 shows that our proposed algorithm performed better than those algorithms, including Clarke-Wright. We should note that those other algorithms listed in Table 2 are known to produce only moderate quality solutions by themselves. To reduce the length of solutions, a number of improvement heuristics have been applied to them, such as node/edge insertion, crossing elimination, Lin-Kernighan type heuristics, and other heuristic approaches to prevent stochastic search from getting stuck in local minima. However, those improvements would require significantly greater computational resource (Reinelt 1994). In contrast, the proposed algorithm can provide a near-optimal solution deterministically and its computational complexity is low. Conclusion In this paper, we have proposed a new algorithm for finding close-to-optimal solutions for the traveling salesperson problem. The algorithm is composed of two main steps and one local improvement procedure and is based on the assumption that we can rank cities according to their distances to other cities and their variances. The algorithm starts with connecting cities with higher priorities to other cities with higher priorities as neighbors. The strengths of the proposed algorithm are its computational complexity and deterministic nature. Here we assumed only three values, {0, 0.5, 1}, for exponents in the power functions used for ranking cities. Other values, even negative ones, may be considered to improve the performance of the algorithm. Another way to improve the final results is to consider only closer cities for each city; excluding farthest cities might result in improvement of priority lists. In addition, the output of this algorithm can be considered as an input to other heuristic algorithms. One important further avenue of research is to explore different forms of functions to rank cities by using other kinds of statistics. References Croes, G. A., (1958). A method for solving traveling salesman problems. Operations Res. 6, 791-812. Fogel, D. B., (1988). An Evolutionary Approach to the Traveling Salesman Problem. Biol. Cybern. 60,139-144. Grefenstette, J.J., Gopal, R., Rosmaita, B., Van Gucht, D., (1985). Genetic Algorithms for the Traveling Salesman Problem. Proc. 1st Int. Conf. Genetic Algorithms and Their Applications, Lawrence Erlbaum Ass., 160 168.

Held, M., Karp, R. M., (1970). The traveling-salesman problem and minimum spanning trees. Operations Research. Vol.18 no.6. 1138-1162. Johnson, D. S., McGeoch, L. A., (1997). The Traveling Salesman Problem: A Case Study in Local Optimization, Local Search in Combinatorial Optimization, E. H. L. Aarts and J. K. Lenstra (editors), John Wiley and Sons, Ltd., 1997, pp. 215-310. Johnson, D. S., McGeoch, L. A., Rothberg, E. E., (1996). Asymptotic Experimental Analysis for the Held-Karp Traveling Salesman Bound, Proc. 7th Ann. ACM-SIAM Symp. on Discrete Algorithms, pp. 341-350. Jones, J., Adamatzky, A., (2014). Computation of the traveling salesman problem by a shrinking blob. Natural Computing, 13 (1).1-16. Luca M. Gambardella, Marco Dorigo, (1995). Ant-Q: A Reinforcement Learning approach to the traveling salesman problem. Proceedings of ML-95, Twelfth Intern. Conf. on Machine Learning, Morgan Kaufmann, 252 260. Martin, O., Otto, S. W., Felten, E. W., (1991). Large-step Markov chains for the Traveling Salesman Problem. CSETech. Paper 16. Reinelt, G., (1991). TSPLIB A Traveling Salesman Problem Library. ORSA Journal on Computing. 3(4), 358 375. Reinelt, G., (1994), The Traveling Salesman Problem: Computational Solutions for TSP Applications, Lecture Notes in Computer Science 840, Springer-Verlag, Berlin, 172-186. Zverovitch, A. E., (2002). Construction heuristics for hard combinatorial optimization problems. Ph.D. Thesis. University of London.