【发布时间】:2012-07-25 11:49:13
【问题描述】:
我有一些容量不同的垃圾箱和一些指定大小的对象。目标是将这些对象打包到垃圾箱中。到目前为止,它类似于装箱问题。但扭曲的是,每个对象都与另一个对象有部分重叠。因此,虽然对象 1 和 2 的大小分别为 s1 和 s2,但当我将它们放在同一个 bin 中时,填充的空间小于 s1+s2。假设我知道每对对象的重叠值,是否也有任何近似算法,例如用于该问题的原始装箱算法?
【问题讨论】:
-
我在stackoverflow.com/questions/11656784/…发布了另一种看待这个问题的方法
-
2个以上的对象之间是否有重叠?
-
是的,它是一个稠密图。每个项目与许多其他项目具有相似性,但相似程度(重叠)不同
-
设
F()为填充函数,O()为重叠函数。比F(s1,s2)=s1+s2-O(s1,s2)。对于F(s1,s2,s3),它应该类似于s1+s2+s3-O(s1,s2)-O(s1,s3)-O(s2,s3)+O(s1,s2,s3)以使其正常。如果不是,您甚至可以拥有F()的负值。例如。F(s1,s2,s3,s4)与si=x和O(si,sj)>2x/3。 -
@Ante 你说得对,它也需要 O(s1,s2,s3) 这个词
标签: combinatorics np-complete approximation bin-packing