У меня есть проблема, чтобы решить.
Ниже приводится постановка задачи.
Я сейчас нахожусь в месте X .
Я должен начать с X и путешествовать по этим городам - A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S. , T, U, V, а затем вернуться к X .
В какой последовательности я должен покрывать эти города, чтобы свести мое расстояние туда и обратно?
Данные: матрица n x n, содержащая расстояние между отдельными городами, а также расстояние между X и городами.
Я знаю, что это проблема коммивояжёров , то есть NP hard
Я ищу лучший приближенный метод / алгоритм, который можно использовать для решения этой проблемы.
Я пробовал подход ближайших соседей TSP (который я считаю базовым) и алгоритм Кларка-Райта (не выгодно).
Я ищу любые проекты / документы / проекты с открытым исходным кодом (желательно на python).
Примечание: максимальное количество городов <= 50. Я также ищу методы, которые могут привести к оптимальному результату за минимально возможное время. </p>