Brute Force Solution of Traveling Salesman Problem

tsp_brute, a MATLAB program 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 GNU LGPL 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 library which considers the change making problem, in which a given sum is to be formed using coins of various denominations.

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

COMBINATION_LOCK, a MATLAB program which simulates the process of determining the secret combination of a lock.

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

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

SUBSET_SUM, a MATLAB library which seeks solutions of the subset sum problem.

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


tsp_descent is a MATLAB program 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 program 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 program 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.