tsp_brute, a MATLAB code which solves small versions of the traveling salesman problem, using brute force.

The user must prepare a file beforehand, containing the city-to-city distances. The program will request the name of this file, and then read it in. An example of such a file is:

        0  3  4  2  7
        3  0  4  6  3
        4  4  0  5  8
        2  6  5  0  6
        7  3  8  6  0


The computer code and data files described and made available on this web page are distributed under the MIT license


tsp_brute is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:


change_making, a MATLAB code which considers the change making problem, in which a given sum is to be formed using coins of various denominations.

cities, a MATLAB code which handles various problems associated with a set of "cities" on a map.

combination_lock, a MATLAB code which simulates the process of determining the secret combination of a lock.

partition_problem, a MATLAB code which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.

satisfy, a MATLAB code which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.

subset_sum, a MATLAB code which seeks solutions of the subset sum problem.

tsp, a dataset directory which contains test data for the traveling salesperson problem;

tsp_descent, a MATLAB code which is given a city-to-city distance map, chooses an initial tour at random, and then tries a number of simple variations, seeking to quickly find a tour of lower cost.

tsp_greedy, a MATLAB code which reads a file of city-to-city distances, picks a starting city, and then successively visits the nearest unvisited city.

tsp_random, a MATLAB code which reads a file of city-to-city distances, and then randomly samples a number of possible tours, to quickly seek a tour of lower length.


  1. Gerhard Reinelt,
    TSPLIB - A Traveling Salesman Problem Library,
    ORSA Journal on Computing,
    Volume 3, Number 4, Fall 1991, pages 376-384.

Source Code:

Last revised on 09 November 2018.