Коммивояжёр в scipy
Как решить проблему коммивояжера в python? Я не нашел ни одной библиотеки, должен быть способ использовать функции scipy для оптимизации или другие библиотеки.
Мое хакерско-лениво-питонское решение брутфорса:
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]
где Dist (numpy.array) - матрица расстояний. Если Dist слишком велик, это займет вечность.
Предложения?