问题描述
0-1背包问题可描述为:n个物品和1个背包。对物品i,其价值为vi,重量为wi,背包的容量为W。如何选取物品装入背包,使背包中所装入的物品的总价值最大?
约束条件:
目标函数:
于是,问题归结为寻找一个满足约束条件(4-7),并使目标函数(4-8)达到最大的解向量X=(x1, x2,…, xn)。
最优子结构性质分析
- 假设(x1, x2,…, xn)是所给0-1背包问题的一个最优解,则(x2,…, xn)是下面相应子问题的一个最优解:
- 约束条件:
- 目标函数:
建立最优值的递归关系
- 令C[i][j]=
- C[0][j]=C[i][0]=0
算法设计——求装入背包的最大价值
- 步骤1:设计算法所需的