Code covered by the BSD License  

Highlights from
another TSP solver

5.0

5.0 | 1 rating Rate this file 35 Downloads (last 30 days) File Size: 2.36 KB File ID: #24857
image thumbnail

another TSP solver

by Yonathan Nativ

 

25 Jul 2009 (Updated 28 Jul 2009)

a simple TSP local minimum solution. code is very short and simple.

| Watch this File

File Information
Description

while I don't know much about TSP problems, I saw in Wikipedia (http://en.wikipedia.org/wiki/Travelling_salesman_problem) a method to find a local minimum solution based on flipping loops of cities in the overall path. The suggested solution sounded very simple to implement so I played with it a little.

Input:
Nx2 cities array sorted in the initial traveling path (a city is an x&y coordinate).

Output:
- cities arranged in a more effective route
- index vector of the visiting order
- total rout length.

a different starting order will yield a different result (will lead to a different local minimum solution) .

The program supports a display option which shows how the route rearrange at each iteration.

I sew there are few TSP solvers in the file exchange, I doubt if my code will find better solutions, it is just that this code is very short & simple (IMHO).

Algorithm method:
Each iteration the program searches for a different loop sizes which are better flipped around in the over all arrangement.
i.e.
cities: 0 1 5 4 3 2 6 7 8 10 9 11 13 12 14
when searching loops at size 2, [10 9] & [13 12] would be found as beneficial for flipping receiving:
0 1 5 4 3 2 6 7 8 9 1011 12 1314
when searching for loops of 3, [5 4 3] will be found as beneficial for flipping receiving:
0 1 2 3 4 5 6 7 8 9 10 11 12 13

to test the code:
cities = rand(100,2);
[sortedCities visitsInd routeLength] = solveTSP( cities, true );

Required Products Image Processing Toolbox
MATLAB release MATLAB 7.7 (R2008b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
01 Sep 2010 tingting

Is it possible that your route is not a complete loop? It seems that everything is from the first node to last node, but not looped back.

Please login to add a comment or rating.
Updates
28 Jul 2009

edited text

Tag Activity for this File
Tag Applied By Date/Time
tsp Yonathan Nativ 27 Jul 2009 11:05:38
traveling salesman problem Yonathan Nativ 27 Jul 2009 11:05:38
solving tsp Yonathan Nativ 27 Jul 2009 11:05:38

Contact us at files@mathworks.com