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_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.