x容量为y,x * y项目的箱子,最大化总得分,其中每个(项目,仓)对具有相关联的得分

时间:2015-04-20 10:00:09

标签: algorithm max constraints

x bins, each with capacity y
x*y items
each (item, bin) pair has an associated score

根据上述标准,是否有最大化总分的标准算法?

1 个答案:

答案 0 :(得分:0)

这只是背包问题的变化,它是非常常见的:http://en.wikipedia.org/wiki/Knapsack_problem


在背包问题中,复杂度为O(2^n),这将为O(k^n),其中k为分箱数。


解决方案:对于背包问题,您可以将每种可能性写为0和1的数字,其中0表示该位置的项目不在包中,1表示它在包中。

对于这个问题,它是相似的,但0和1是不够的,你必须知道该项目在哪个包,因此你必须记住包的位置。

例如,如果您有6个项目,则可以将其编写为此数字(或数组):

005110

这可能意味着第一件和第二件不在任何包中,第三件在第5件袋中,第二件在第一件袋中,下一件在第一件袋中,其次是在任何袋中。


工程推荐流程:创建自己的完全工作背包问题,然后将其重写为此问题。 (因为背包问题基本上只有一个只有一个垃圾箱)