I am trying to solve a very large TSP with about 10,000 cities. To parallelize my task, I want to divide these cities into clusters and solve the TSP for each cluster.
I want a way in which i can seperate my cities into clusters ( on the basis of density of cities/ proximity between each city in that cluster).
Does anyone know an efficient order to do this?
There’s a simple approximation algorithm which promises the solution is at most 2 times worst than the optimal solution (at least in the Euclidean metric if i remember correctly).
The algorithm is: get a minimal spanning tree. Use tree edges to travel.
I’d research for better approximation algorithms instead of inventing one yourself.
To separate to clusters, if you want to do it, there’s K-means and other algorithms (in the same article)