一、实验目的
1. 了解动态规划算法思想;
2. 掌握算法的基本要素及解题步骤;
3. 能够针对实际问题,能够按照动态规划解题步骤,分析问题;
4. 能够正确的编码、实现动态规划算法;
5. 能够正确分析算法的时间复杂度和空间复杂度。
二、实验平台
1. Windows操作系统或Linux操作系统;
2. Python3.x;
3. PyCharm或Sublime或Jupyter Notebook。
三、实验内容
0-1背包问题
四、算法设计
问题分析
(1)所选实验项目给定的已知
每个物品的重量wi,价值Vi(i=1,2,3......),背包承载的重量W。
(2)求解目标
要求在背包容量限制下,选择一些物品装进背包,使得装进背包的物品总重量不超过背包容量,并且价值最大。
解向量(X1,X2,X3......)。
目标函数:max(V1X1+V2X2+......+ViXi)。
(3)条件
约束条件:W1X1+W2X2+…+WiXi<W;