tsp_nearest, a MATLAB code which is given a list of city coordinates, and seeks the shortest round trip for traveling salesperson problem (TSP) using the nearest neighbor algorithm. It picks a starting city at random, and then successively visits the nearest unvisited city.
A tour of n cities can be represented as a permutation p on the integers 1 through n. The cost of the tour, that is, the length, is the sum
cost = sum ( 1 <= i <= n ) ( d(p(i),p(i+1)) )
where p(n+1) is understood to mean p(1).
The algorithm starts at one of the cities, and then successively moves to the nearest unvisited city, producing a tour. The tour may depend on the starting city, and so all n cities are tried. At the end, the shortest observed tour is reported.
The information on this web page is distributed under the MIT license.
tsp_nearest is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.
cities, a MATLAB code which handles various problems associated with a set of "cities" on a map.
concorde, examples which call concorde(), which solves the traveling salesman problem (TSP), mixed integer programming, and related network optimization problems.
subset_sum_backtrack, a MATLAB code which uses backtracking to solve the subset sum problem, to find a subset of a set of integers which has a given sum.
tsp, a dataset directory which contains test data for the traveling salesperson problem (TSP) including the AT&T 48 state capital test, and Dantzig's 42 city test;
tsp_anneal, a MATLAB code which is given a table of city locations, and solves the traveling salesperson problem (TSP) using simulated annealing.
tsp_att48, a MATLAB code which returns the (x,y) coordinates of the cities that constitute the AT&T 48 state challenge for the Traveling Salesman Problem (TSP).
tsp_brute, a MATLAB code which is given a table of city locations, and solves a (small) traveling salesperson problem (TSP), using brute force.
tsp_dantzig42, a MATLAB code which returns the (x,y) coordinates of the cities that constitute the Dantzig 42 state challenge for the Traveling Salesman Problem (TSP). The minimal tour is known to have length 699.
tsp_display, a MATLAB code which displays the solution of a Traveling Salesman Problem (TSP).
tsp_moler, a MATLAB code which tries to optimize the traveling salesperson problem (TSP), written by Cleve Moler.
tsp_random, a MATLAB code which is given a table of city locations, seeks a solution of the Traveling Salesperson Problem (TSP), by randomly generating round trips that visit every city, returning the tour of shortest length.