我有以下数据:
item weight value value/weight
1 5 40 8
2 2 10 5
3 6 30 5
4 1 12 12
5 2 18 9
容量是10。 如何继续计算节点0的上限? 我正在计算节点0的上限,如下所示:
ub = v + [W-w] * [v/w]
ub = 0 + [10] * [8] = 80
或者我是否需要按照其值/重量的降序对物品进行分类为12,9,8,5,5?然后计算上限? 或者我做得对,没有排序,计算上限并继续下一个项目?
在没有排序的方法中,我不会在节点0获得最大上限,我想是的。
ub = 0 + [10] * [12] = 120 // if sorted
非常感谢您的帮助。
答案 0 :(得分:0)
节点零的上限是分数背包的贪婪解决方案。 只需取出具有最高值/重量比的元素并继续插入,直到没有剩余空间或完全插入它。并重复这个过程。