我正在尝试解决下一个任务: 给定一组具有权重和值的项目,确定给定总值的背包最小承载能力。
例如 输入:
item1: w = 3.4, v = 3
item2: w = 0.4, v = 1
total value = 7
输出:
我们应该采取:
item1 x0, item2 x7
和
minimal capacity = 0 * 3.4 + 0.4 * 7 = 2.8
total value = 7
我应该使用动态编程的一般算法使用哪些递归公式?任何人都可以用微小的输入数据展示解决这个问题的例子吗?
P.S。抱歉我的英文。
答案 0 :(得分:1)
传统(最大化)背包算法应该可以正常工作。只需将max
的{{1}}的所有匹配项交换为min
,您就应该差不多了。另一种看待这种情况的方法是使用负成本,因此最小化变得最大化(尽管如此,你需要特别注意空壳)。