The Traveling Salesman Problem Rohit Ray ESE 251 Overview The goal of the Traveling Salesman Problem (TSP) is to find the most economical way to tour of a select number of cities with the following restrictions: You must visit each city once and only once You must return to the original starting point 13,509 U.S. cities with populations of more than 500 people connected optimally

using methods developed by CRPC researchers. Why study TSPs? TSPs belong to a class of problems in computational complexity analysis called NP-complete problem If you could find a way to solve an NP-complete problem quickly, then you could use that algorithm to solve all NP problems quickly. The time required to solve the problem using any currently known algorithm increases very quickly as the size of the problem grows. Common NP-complete problems: Boolean satisfiability problem (Sat.) N-puzzle Knapsack problem Hamiltonian path problem

Travelling salesman problem Subgraph isomorphism problem http://www.wikipedia.org Other Application TSP has several applications even in its purest formulation Planning, logistics, and the manufacture of microchips Slightly modified, it appears as a subproblem in many areas, such as DNA sequencing. City represents customers, soldering points, or DNA fragments

Distance represents travelling times or cost, or a similarity measure between DNA fragments. Timeline In the 1800s, similar problems were looked at by Sir William Rowan Hamilton and Thomas Penyngton Kirkman. In the 1930s, Karl Menger began looking at the general form of TSP by Hassler Whitney and Merrill Flood at Princeton Hassler Whitney at Princeton University introduced the name travelling salesman

problem Timeline continued In the 1950s and 1960s, the problem became increasingly popular in scientific circles in Europe and the USA. Notable contributions were made by George Dantzig, Delbert Ray Fulkerson and Selmer M. Johnson at the RAND Corporation in Santa Monica integer linear program and developed the cutting plane method for its solution. With these new methods they solved an instance with 49 cities to optimality by constructing a tour and proving that no other tour could be shorter. Richard M. Karp showed in 1972 that the Hamiltonian cycle problem was NP-complete,

In the 1990s, Applegate, Bixby, Chvtal, and Cook developed the program Concorde 15,112 Cities in Germany Optimal result found in 2001 has approximately 66,000 kilometers The computation was carried out on a network of 110 processors located at Rice and Princeton.

13,509 city tour through the United States was solved in 1998. 24,978 cities in Sweden In May 2004, the traveling salesman problem of visiting all 24,978 cities in Sweden was solved: This is currently the largest solved TSP Instance. 71009 in China Best known result by Hung Dinh Nguyen, 4,566,563.

1,904,711 Cities in the World Best known result by Keld Helsgaun, 7,516,146,716 December 2003 Approaches to Solving TSPs

Exponential neighborhood local search Memetic algorithm Elastic net Space filling heuristic LKH heuristic Tabu search Self-organizing map Evolutionary strategy Simulated electric field Petri net

Adaptive ring Cutting plane Simulated annealing Genetic programming Artificial immune algorithm

Neural networks Ant colony system Particle swarm Heuristic Approaches By using approaches based on heuristics, practical applications of TSP can be solved since the optimal solution is not always needed. By using heuristics, sub-optimal solutions can be found, and often times just having a solution is good enough. Random Optimizations Optimised Markov chain algorithms which utilise local searching heuristically

sub-algorithms can find a route extremely close to the optimal route for 700800 cities. Local Search Start off with a valid tour, then use local moves to improve the tour. Terminates at a ``local minimum.'' Nearest Neighbor Start at a node, and selected the nearest unvisited node; repeat until done. Worst case creates a complexity of log n. Greedy Algorithm Start with empty partial tour. Add smallest edge that results in a valid partial tour. Repeat until complete tour reached. Worst case creates a complexity of log n. Slide from www.0x743.com/MS/CS616/finalproject.ppt Exact Solutions These algorithms find the exact solutions:

Cutting Plane Algorithm Technique based on linear programming An exact solution for 15,112 Germany cities from TSPLIB was found in 2001 using this method proposed by George Dantzig, Ray Fulkerson, and Selmer Johnson in 1954. Branch and Bound Algorithms Branching recursively divides the domain into feasible sub domains. Bounding determines upper and lower bounds for the optimal solution in a feasible sub domain. Can be used to process TSPs containing 40-60 cities.

Slide from www.0x743.com/MS/CS616/finalproject.ppt The Ant Algorithm From http://www.wikipedia.org An ant is treated as a single agent among a colony of ants that follows a basic set of rules about how it is to traverse the graph of nodes. It also maintains a list of what nodes it has already visited so that the length of the trip can be extracted. As each ant travels, it deposits a scent or pheromone that tells other ants that it has been visited. The initial population of ants is even distributed to different points among the graph. Movement of the ant is guided by a simple probability equation that takes into account the intensity of the pheromone scent that is on each node. As time passes, the scent on each node begins to evaporate; therefore the most commonly traversed nodes maintain the scent while the least traveled nodes eventual lost their scent all together. Conclusion

The Traveling Salesman Problem Long history and a strong tradition in academics Continued study of this problem yield a method that will lead to a polynomial-time solution for all NP-complete problems. Solutions that are good enough for practical applications Works Cited

http://www.math.princeton.edu/tsp/ http://www.wikipedia.org http://www.cs.duke.edu/ http://gtresearchnews.gatech.edu/ newsrelease/salesman.htm www.0x743.com/MS/CS616/ finalproject.ppt