Uses Ant Colony Optimization to solve the TSP.
See http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms
anttsp.py is the file to run. It reads from citiesAndDistances.pickled, which is a pickled 2D array with this format:
| CityName1 | CityName2 | ... | CitNameN | 
|---|---|---|---|
| 0 | 23 | ... | 34 | 
| 10 | 0 | ... | 22 | 
| . | . | . | . | 
| . | . | . | . | 
It is not necessary for the matrix to be symmetric i.e. the distance traveling from A to B need not be the distance from B to A (if you have ever been to Italy and dealt with the mess of one-way streets you will understand how this applies).
Run without additional arguments, it solves the 10-city TSP
You can also try this:
$ python anttsp.py 14
Other values <= 14 tested as well