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

Nei*_*lis 5 optimization plot

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

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

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

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

谢谢,

尼尔

And*_*bel 2

该问题是中国邮递员问题的一个例子,它是一个 NP 完全问题。最著名的 NP 完全问题是旅行商。所有 NP 完全问题的共同点是它们都可以相互转化。没有已知的算法可以在多项式依赖于输入中节点数量的时间内求解其中任何一个,它们是非多项式 (NP) 的。

对于你的情况,我会建议一些简单的启发法。不要做得太过分,只需选择任何非常简单的事情,例如尽可能长时间地走直线,然后将笔举到最近的可用起点并从那里继续。