具有相同矩形的矩形填充算法以及断头台限制的提示?

时间:2014-04-19 14:54:27

标签: algorithm packing

我的任务是为熟人建立一个程序,计算出将书页放在要打印和剪切的大纸上的最佳方法。

在实践中,这意味着我需要找到在给定矩形(打印纸)内安排具有相同尺寸(页面)的矩形的最佳方法,使得断头台切割可用于分隔所有页面而不会破坏任何

如果你们中的任何一个人可以指出我的搜索方向更好,无论是通过给我链接还是更准确的问题措辞(术语方面),这都会很棒。我已将术语缩小到“2D包装问题”,矩形和断头台限制中的矩形相同。'

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,最后我自己得到了问题的答案。 假设长度大于矩形(较小和较大的)的宽度,下面是您尝试在较大的矩形上包装较小的矩形时的可能性。 设较大矩形的长度为L,其宽度为B,长度和宽度较小的矩形分别为l和b。

案例1:打包较小的矩形,使其长度与较大矩形的宽度平行,直到您没有空间。然后在可用空间上尝试相反的方向(较大的矩形的长度平行于较小的长度)。

案例2:包装较小的矩形,使其长度与较大矩形的长度平行,直到您没有空间。然后在可用空间上尝试相反的方向(较大的矩形的长度平行于较小的宽度)。

取最大的情况1和情况2来获得最大的no较小的矩形,可以打包在较大的矩形上。 在这里找到实现的python 3代码:http://geekzonelive.blogspot.in/2016/06/packing-similar-small-rectangles-into.html

答案 1 :(得分:0)

这是packing problem可归为knapsack problem的经典Cutting stock problem。流行版本称为here,因为它涉及切割纸张的工业流程(如您的问题)。问题是NP难,并且使用整数编程(组合优化)方法来解决它们。包装物品上存在更多的一般包装问题。我想你会找到更多的矩形{{3}}。