tsp_greedy, a MATLAB code which applies a simple greedy algorithm to construct a solution to the traveling salesman problem.
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 as a matrix d. 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 0The distance file d should be square, symmetric, and have a zero diagonal.
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 greedy 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.
tsp_greedy is available in a MATLAB version.
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_brute, a MATLAB code which reads a file of city-to-city distances and solves the traveling salesperson problem, using brute force.
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_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.