tsp_moler


tsp_moler, a MATLAB code which uses a city-to-city distance table to find the shortest round trip visiting every city on a list, the traveling salesperson problem (TSP). The original version was written by Cleve Moler.

The code depends in part on randomization, and so the results are likely to vary each time it is run. Moler reports that the shortest itinerary he found had a length of 10818 miles, and is likely an optimum circuit.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

tsp_moler is available in a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

tsp_moler_test

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.

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_nearest, a MATLAB code which is given a table of city locations, and solves a small traveling salesperson problem (TSP) using the nearest neighbor algorithm. It picks a starting city at random, and then successively visits the nearest unvisited city.

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.

Reference:

  1. William Cook,
    In Pursuit of the Traveling Salesman,
    Princeton University Press, 2012,
    ISBN13 978-0-691-16352-9.
  2. Cleve Moler,
    USA Traveling Salesman Tour,
    Posted 17 September 2018,
    blogs.mathworks.com/cleve/2018/09/17/usa-traveling-salesman-tour/?s_tid=srchtitle_traveling%20salesman_1
  3. Great circle distance matrix between pairs of cities,
    https://en.wikipedia.org/wiki/Great-circle_distance.

Source Code:


Last revised on 15 June 2026.