在直线多边形中包装矩形

时间:2017-03-01 11:26:30

标签: algorithm computational-geometry np

给定一组轴对齐的矩形(可旋转90度)和一个直线多边形,我想确定矩形是否都可以打包到这个多边形中,如果可能的话,找一个任意的填料

这NP难吗?是否有任何假设可以解决这个问题? (例如,将多边形限制为正交凸起)任何类型的参考都会很好吗?

2 个答案:

答案 0 :(得分:2)

是的,即使容器多边形本身是一个矩形,它也很难(参见Korf 2003)。

存在各种各样的近似算法,只是谷歌“矩形包装”。

  

给定bin打包的实例,我们可以生成相应的   矩形包装的实例如下。对于每一个   在bin-packing问题中,我们生成一个矩形   单位高度,其宽度是数字的值。从而   每个数字都会生成一个宽度和单位高度的条带。   我们还生成一个高度为的封闭矩形   箱的数量,其宽度是箱的容量。   因此,每个箱对应于封闭的水平条带   长方形。在生成的矩形包装问题中,   必须将每个条带分配给封闭的行(bin)   矩形,这样的宽度(数字)之和   分配给每一行(bin)的条带不超过宽度   封闭矩形的(容量)。请注意条带   是朝向的,不能旋转。因此,这个矩形包装   问题相当于原来的装箱   问题。如果我们可以解决任何矩形包装问题   多项式时间,那么我们可以解决任何bin-packing问题   在多项式时间。因此,矩形包装是NP难的,   因为它也在NP中,所以它是NP完全的。

答案 1 :(得分:0)

在usaco上有关于包装矩形的类似任务。 我只是通过回溯来解决它。 Here是对解决方案的解释

相关问题