我有一个常见问题,但找不到要解决的名称或算法。
在欧几里得2d空间中给出一组线段,我想找到通过所有段的最短路径。
这个问题例如出现在绘图机上,该绘图机使用笔在纸上绘图并且必须最小化要绘制的东西之间的无用的行进时间。
这个问题叫什么名字?有简单的近似解决方案吗?
答案 0 :(得分:1)
最小化绘图笔的非绘图行进距离的问题非常接近traveling salesman problem,其中线段端点为顶点,并在线绘制线段的两端之间分配成本0
与TSP不同,您的问题允许您在线段中间开始和停止绘制线条。 power icon上的垂直线是您想要在两个线段中绘制线条的时间示例,而不是一次全部绘制线条。但是,我猜这种情况只会在您开始绘制的地方与您停止绘制的地方不同时出现。如果我的猜测是正确的,那么解决旅行商问题所得到的解决方案与最优解决方案的区别仅在于图表的最大宽度。
答案 1 :(得分:0)
你必须为此调整tsp的解决方案。
你可以通过遗传算法来做到这一点。它不能保证你会得到最好的解决方案,但你通常可以在很短的时间内完成它。
您基本上从一组随机解决方案开始。然后,您可以对每个解决方案进行轻微的随机更改,并测量行驶距离。你保持距离最短的那些。只需重复这个过程,直到新一代人不提供优化或者你没有时间。