📅  最后修改于: 2020-12-10 06:40:52             🧑  作者: Mango
可以取项目的分数,而不必对每个项目进行二进制(0-1)选择。
分数背包问题可以通过贪婪策略解决,而0-1问题则无法解决。
示例:沿着其各自的权重和值考虑5个项目:-
I =(I 1 ,I 2 ,I 3 ,I 4 ,I 5 )
w =(5、10、20、30、40)
v =(30,20,100,90,160)
背包容量W = 60
现在根据p i的递减值填充背包。
首先,我们选择重量为5的物品I i。
然后选择项目I 3重量为20.现在,背包的总重量为20 + 5 = 25个
现在下一个项目是I 5 ,其权重为40,但是我们只需要35,所以我们选择了它的小数部分,
解:
ITEM | wi | vi |
---|---|---|
I1 | 5 | 30 |
I2 | 10 | 20 |
I3 | 20 | 100 |
I4 | 30 | 90 |
I5 | 40 | 160 |
取每重量比的值,即pi =
ITEM | wi | vi | Pi= |
---|---|---|---|
I1 | 5 | 30 | 6.0 |
I2 | 10 | 20 | 2.0 |
I3 | 20 | 100 | 5.0 |
I4 | 30 | 90 | 3.0 |
I5 | 40 | 160 | 4.0 |
现在,以降序排列p i的值。
ITEM | wi | vi | pi= |
---|---|---|---|
I1 | 5 | 30 | 6.0 |
I3 | 20 | 100 | 5.0 |
I5 | 40 | 160 | 4.0 |
I4 | 30 | 90 | 3.0 |
I2 | 10 | 20 | 2.0 |