在工业中,经常会出现一个问题,您需要计算对材料的最有效使用,例如织物,木材,金属等。因此,起点是X个给定尺寸的形状(由多边形和/或弯曲形组成)线,目标是给定尺寸的另一个多边形。
我假设许多当前的CAM套件都实现了此功能,但是由于没有使用它们或内部使用的经验,使用哪种计算算法来找到最有效的空间使用方式?有人可以指出我有关该主题的书或其他参考资料吗?
在安德鲁(Andrew)的回答为我指明了正确的方向并为我指出了问题之后,我决定将研究结果转交给一个单独的答案。
这确实是一个包装问题,更确切地说,这是一个嵌套问题。这个问题在数学上是NP难的,因此当前使用的算法是启发式方法。除了琐碎的问题集,似乎没有任何解决方案可以在线性时间内解决问题。如果要获得具有良好材料利用率的解决方案,使用当前硬件解决复杂的问题可能要花费数分钟到数小时。有数十种提供形状嵌套的商业软件解决方案,但是我无法找到任何开源解决方案,因此没有实际例子可以看到算法的实际实现。
哥本哈根大学(Nielsen)的BennyKjærNielsen撰写的一篇论文中可以很好地描述嵌套和带状嵌套问题以及历史解决方案。
通用方法似乎是混合使用多种已知算法,以便找到最佳的嵌套解决方案。这些算法包括 (引导/迭代)本地搜索 ,基于 No- Fit多边形的 快速邻域搜索 以及 Jostling Heuristics 。我找到了一篇很好的论文,介绍了算法的工作原理。到目前为止,它还具有不同软件实现的基准。本文由S. Umetani等人(Umetani)在2006年国际调度研讨会上发表。 __ __
一个相对较新和可能迄今最好的办法是基于 混合遗传算法 (HGA),由其组成的混合 模拟退火 和 遗传算法 已经由吴清明等武汉大学(的人所述全明)。他们已经通过使用MatLab中的Visual Studio,SQL数据库和遗传算法优化工具箱(GAOT)来实现了这一点。