Vendedor ambulante en scipy
¿Cómo resuelvo un problema de vendedor ambulante en Python? No encontré ninguna biblioteca, debería haber una manera de usar funciones scipy para la optimización u otras bibliotecas.
Mi solución de fuerza bruta hacky-extremelly-lazy-pythonic es:
tsp_solution = min( (sum( Dist[i] for i in izip(per, per[1:])), n, per) for n, per in enumerate(i for i in permutations(xrange(Dist.shape[0]), Dist.shape[0])) )[2]
donde Dist (numpy.array) es la matriz de distancia. Si Dist es demasiado grande, esto tomará una eternidad.
Sugerencias?