Я ищу алгоритм, который соединит большое количество географических координат (100-1000), создавая кратчайший возможный маршрут между ними, начиная с любого места и заканчивая где-нибудь еще.Я работаю с Python.
Я исследовал доступные алгоритмы, и моя проблема похожа на коммивояжера, но требует, чтобы я определил отправную точку, и вернусь к этой же точке наконец. Я возьму Убер в любую начальную точку и из любой другой конечной точки домой.То, что я хочу, это покрыть все точки во время ходьбы как можно меньше .Мне все равно, где он начинается или заканчивается.
Алгоритмы Прима и Крускала, похоже, находят хорошие начальные и конечные точки, но они создают дерево, а не оптимизированный пешеходный маршрут, как TSP.
Алгоритм Прима:
Алгоритм Крускала:
Желаемый результатосновано на Prim / Kruskal, но с использованием логики TSP (пример нарисован от руки, не оптимизирован):