在工业中,通常存在一个问题,您需要计算材料的最有效使用,无论是织物,木材,金属等。因此,起点是给定尺寸的X形状,由多边形和/或曲线,而目标是给定尺寸的另一个多边形。
我假设许多当前的CAM套件实现了这一点,但没有使用它们或内部的经验,使用什么样的计算算法来找到最有效的空间利用?有人能指出我讨论这个主题的书或其他参考文献吗?
答案 0 :(得分:16)
安德鲁在他的回答中向我指出了正确的方向,并为我指出了问题,我决定将我的研究结果放在一个单独的答案中。
这确实是一个包装问题,更准确地说,这是一个嵌套问题。问题在数学上是NP难的,因此当前使用的算法是启发式方法。除了琐碎的问题集之外,似乎没有任何解决方案能够在线性时间内解决问题。如果要实现具有良好材料利用率的解决方案,使用当前硬件解决复杂问题需要几分钟到几小时。有数十种商业软件解决方案提供形状嵌套,但我无法找到任何开源解决方案,因此没有真正的例子可以看到实际实现的算法。
哥本哈根大学的BennyKjærNielsen撰写的论文(Nielsen)中可以找到有关历史解决方案的嵌套和条带嵌套问题的优秀描述。
一般方法似乎是混合使用多种已知算法以找到最佳嵌套解决方案。这些算法包括基于 <的 (引导/迭代)本地搜索 , 快速社区搜索 em> No-Fit Polygon , Jostling Heuristics 。我在这个主题上发现了一篇很好的论文,上面有关于算法如何工作的图片到目前为止,它还具有不同软件实现的基准。本文由S. Umetani等人(Umetani)在2006年国际调度研讨会上发表。
迄今为止相对较新且可能是最好的方法是基于 混合遗传算法 (HGA),一种由 模拟退火组成的混合< / em> 和 遗传算法 ,由武汉大学吴庆明等人(Quanming)描述。他们通过在MatLab中使用Visual Studio,SQL数据库和遗传算法优化工具箱(GAOT)来实现这一点。
答案 1 :(得分:5)
你指的是一个众所周知的计算机科学包装领域,为二维空间和三维空间定义了各种问题并进行了研究。
网络上有相当多的材料可用于定义的问题,但要找到它,你必须知道要搜索的问题的名称。
有些软件包可能会采用启发式appraoch(我怀疑他们会这样做),而且有些软件包可能需要计算所有可能性以获得绝对正确的答案。