This is an implementation in Python of the elastic net algorithm proposed by Durbin and Willshaw [1] to solve the Traveling Salesman Problem. The source code is available on GitHub.

The elastic net algorithm is an iterative procedure where M points, with M larger than the number of cities N, are lying on a circular ring or "rubber band" originally located at the center of the cities. The rubber band is gradually elongated until it passes sufficiently near each city to define a tour. During that process two forces apply: one for minimizing the length of the ring, and the other one for minimizing the distance between the cities and the points on the ring. These forces are gradually adjusted as the procedure evolves.

Jean-Yves Potvin [2]