Travelling Salesman Problem (TSP) is a classic optimization problem. The standard TSP problem is to input a series of position points, find the shortest ring path and string all points together. As shown in the following figure, the left figure shows a pile of scattered points, and the right figure shows the shortest path connecting these points.
TSP is a NP hard problem in combinatorial optimization. In the worst case, the complexity of TSP will increase with the increase of cities in a super polynomial (possibly exponential) level.
In the symmetric TSP problem, the distance between two cities is equal, forming an undirected graph. This symmetry reduces the number of solutions by half. In the asymmetric TSP problem, it is possible that not all two-way paths exist, or the back and forth distances are different, forming a directed graph.
TSP application
TSP has several applications in many fields, such as planning, logistics and chip manufacturing. We can use the concept of "city" to represent customers, welding points or DNA fragments, while the concept of "distance" represents travel time or cost or similarity measurement between DNA fragments. TSP is also used in astronomy. Astronomers who observe many sources hope to reduce the time spent rotating telescopes between sources. In many applications (such as limited resources or time windows), additional constraints may be added.
Concorde
Because of the complexity and application scope of TSP, the academia has been seeking to develop faster and better TSP solver.
Among them, Concorde is a famous solver that has won many world records in TSP dataset.
Concorde is an accurate solution solver written by David Applegate, Robert E. Bixby, Va š ek Chv á tal, and William J. Cook and other gods in ANSI C, which is free for academic use. In addition to being a solver specially developed for TSP problems, it is also a powerful tool for solving gene mapping, protein function prediction, ship scheduling and other problems in biological information.
This article mainly introduces Concorde's application on symmetric TSP, and can also solve some asymmetric problems, such as TSP problems with different two-way weights of two points. Concorde currently has 110 records of optimal solutions in the public TSP dataset, with the largest number of TSP location points reaching 85900.
Concorde is a computer code for the symmetric traveling salesman problem (TSP) and some related network optimization problems. The code is written in the ANSI C programming language and it is available for academic research use; for other uses, contact William Cook for licensing options.
Concorde’s TSP solver has been used to obtain the optimal solutions to the full set of 110 TSPLIB instances, the largest having 85,900 cities.
The Concorde callable library includes over 700 functions permitting users to create specialized codes for TSP-like problems. All Concorde functions are thread-safe for programming in shared-memory parallel environments; the main TSP solver includes code for running over networks of UNIX workstations.
Concorde now supports the QSopt linear programming solver. Executable versions of concorde with qsopt for Linux and Solaris are available
Hans Mittelmann has created a NEOS Server for Concorde, allowing users to solve TSP instances online.
Pavel Striz wrote a nice package for creating LaTeX images from the solution files produced by Concorde.
Official website: http://www.math.uwaterloo.ca/tsp/concorde/index.html
Download address
Mathematical software TSP solver Concorde TSP Soler
Baidu online disk: https://pan.baidu.com/s/1smnPTWL
Executable Programs
Executable versions of Concorde and Linkern are available for Linux, Solaris, and Windows/Cygwin. Concorde is the cutting-plane-based exact TSP solver (using the QSopt LP solver) and Linkern is an implementation of the Chained-Lin-Kernighan heuristic for the TSP. The executable codes are given as gzipped files. The Windows/Cygwin codes will run under Windows 98/ME/NT/2000/XP if at least the minimal version of the Cygwin environment is installed.
concorde-linux Concorde for Red Hat Linux 8.0
linkern-linux Linkern for Red Hat Linux 8.0
concorde-solaris32 Concorde for Solaris 32-bit
linkern-solaris32 Linkern for Solaris 32-bit
concorde-solaris64 Concorde for Solaris 64-bit
linkern-solaris64 Linkern for Solaris 64-bit
concorde-cygwin Concorde for Windows/Cygwin
linkern-cygwin Linkern for Windows/Cygwin
Graphical User Interface for Windows
The graphical user interface to Concorde’s traveling salesman solver is available for Windows 98/ME/NT/2000/XP . Download and execute concorde installer to install the interface.