最小化笔式绘图仪或类似设备中的笔式升降机

时间:2010-03-24 16:42:25

标签: optimization plot

我正在寻找在机械笔式绘图仪上绘图的算法参考。

具体来说,我有一个直线向量列表,每个向量代表一条要绘制的线。首先,我想删除重复的向量,因此每行只绘制一次。这很容易。

其次,有许多矢量相交,有时在端点处,但并非总是如此。它们可以按任何顺序绘制,但我想找到一个减少笔必须被抬起的次数的顺序,最好是最小但是我知道可能需要很长时间来计算,如果它可以计算的话。如果有帮助,相交的矢量可以分解成较小的矢量。但一般来说,如果笔在一条直线上移动,最好尽可能长时间地移动它。因此,端对端连接的两个平行向量可以组合成单个向量等。

这听起来像是各种各样的图论问题,但我对此并不了解。有人能指出我需要学习的参考文献或算法吗?或者可能是示例代码?

谢谢,

尼尔

1 个答案:

答案 0 :(得分:2)

问题是Chinese postman problem的一个例子,它是NP完全问题。最着名的NP完全问题是Travelling Salesman。所有NP完全问题的共同点是它们都可以被翻译成彼此。在多项式依赖于输入中的节点数的时间内,没有已知的算法可以求解它们中的任何一个,它们是非多项式(NP)。

对于你的情况,我会建议一些简单的启发式方法。不要过度,只需选择一些非常简单的东西,比如尽可能长的直线,然后将笔抬到最近的可用起点,然后从那里继续。