Кратчайший односторонний путь через несколько узлов

У меня есть серия координат графика, и мне нужно найти кратчайший путь в одну сторону через все. 3, 0
3, 7
2, 21
2, 11
3, 12
1, 19
3, 6

преобразуется в

3, 0
3, 6
3, 7
3, 12
2, 11
1, 13
1, 19
2, 21

Примечания:

Да, я пробовал функцию поиска, есть в основном идентичный вопрос Алгоритм: кратчайший путь между всеми точками однако единственный реальный ответ - TSP, который, опять же, замкнутый контур неэффективен для этого.

Он не должен быть на 100% точным, у меня уже есть метод перестановок, но он слишком медленный, мне нужно обрабатывать как минимум ~ 25-30 баллов, расчет с хорошим приближением у меня работает

Заранее спасибо.

Отредактируйте, чтобы уточнить, TSP имеет тенденцию решать, как в img # 1, мой желаемый результат - img # 2
img 3 - это пример выше, решенный с помощью TSP, а img # 4 - желаемый (координаты x сдвинуты назад на -5 для наглядности)
enter image description hereenter image description hereenter image description hereenter image description here
Еще пара для хорошей меры # 1 = TSP, # 2 = желаемое
enter image description hereenter image description here
В основном i нужна кратчайшая цепочка, соединяющая n точек, используя наиболее эффективную начальную и конечную точки

5
задан Community 23 May 2017 в 11:48
поделиться