我有一个n浮点数/双打的矢量。我想把它们打包成k个箱子,每个箱子都有相同的最大尺寸。目标是以一种方式打包它们,以便最大化每个箱子中剩余的空间。
我天真的算法将长度打包到仍然剩下最多空间的bin中。我遇到的问题是这种算法失败的情况,其中一个更简单的算法成功。这个更简单的算法是将数字打包到它们所适合的第一个数据库中的标准示例 - 并且当它们不合适时打开一个新数据。
由于我的问题是一般问题的一个非常容易的特殊情况(它的1D,已经排序的输入,固定数量的箱子,每个箱子大小相同)我希望有更好的方法来解决它。理想的确切,但比我的更好仍然会有所帮助。
如果导致更容易/更好的解决方案,也可以忽略剩余空间应该最大化的条件。
编辑:一个例子是5.0,4.0和3.0的输入序列,最大bin大小为9.0。一个天真的解决方案是第一个bin中的5.0和4.0,第二个bin中的3.0。但是我希望5.0和3.0在一个中,而在另一个bin中需要4.0,以便留在箱中的空间尽可能大。
澄清空间:所有垃圾箱中剩余的总空间总是相同的,与每个垃圾箱的放置位置无关。但我希望每个垃圾箱中留下的空间尽可能相等& #34 ;.据我所知,这是最佳纸箱包装旁边的次要条件。因此,如果有帮助,可以忽略该条件。我不确定自己多大程度上增加了问题的难度。