Ever wanted to backpack around europe and visit exactly all the cities specified in the travelling_european.csv?!? This must be your lucky day! In this repository you'll find an optimization procedure computing the optimial combinatorial segments of cities to visit, as to minimize the global distance travelled (and your poor legs...). This library implements a greedy solution with either a nearest neighbour solution or a random one as a construction heuristic, and a simulated annealing algorithm with 2-or-3 adjacent / random pair wise node swaps as an improvement heuristic. Basically nothing noone has ever done before already...
The goal of this repository is not really to help your legs servive such a Karl Pilkington type of journey, but more so to provide an interactive and visual aid to understanding the algorithms behind some of the most known techniques in combinatorial optimization. Looking to understand just how the hell simmulated annealing works? Or what an eulerian circuit is and why even need such a thing? Open up example.html to understand why.