假设我有一张这样的桌子:
ID |成本|利润
1 0.55 1.24
2 | 0.23 | 3.11
3 | 0.19 | 2.21
4 | 0.53 | 1.49
... 等等。
如果我的预算是有一定价值的,我怎么才能找到最大的利润?IE:找到成本为1.12的最大利润。如果从上面的表,我应该从ID 2 + 3 + 4的项目,以最大限度地提高我的利润。
我正试图从lp,运筹学中搜索一些东西,但我真的是在盲目地搜索,我不知道我应该查找哪些关键字。请帮忙。

最佳答案

你需要的是0/1 Knapsack我从你举的例子中假设你需要把这个项目作为一个整体,而不是项目的一小部分。否则,使用默认(分数)背包。
了解greedy version of solution & why it might fail,然后了解该问题的分数背包动态规划解的形式,然后再了解0/1背包这就是你应该学会解决这个问题的方法。
如果你还需要什么,请告诉我。

09-26 22:06