我有一系列图形坐标,我需要找到通过它们的最短单向路径。我没有预定的开始/结束,但每个点只能触摸一次,不需要返回最佳原点。
我尝试了几种 TSP 方法,但它们似乎都是基于最后返回原点,这在这种情况下会产生非常低效的结果。
例子
1, 13
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 以提高可见性
) more for good measure #1 = TSP, #2 = desired
基本上我想要连接 n 点的最短链,使用最有效的起点和终点