- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
背包问题试验报告
背包问题实验报告
篇一:背包问题 实验报告
课程名称:任课教师:班 级:2011姓 名:
实 验 报 告
算法设计与分析 实验名称:解0-1背包问题王锦彪 专 业:计算机应用技术 学 号:112015 严焱心 完成日期: 2011年11月
一、实验目的:
掌握动态规划、贪心算法、回溯法、分支限界法的原理,并能够按其原理编程实现解决0-1背包问题,以加深对上述方法的理解。
二、实验内容及要求:
1. 要求分别用动态规划、贪心算法、回溯法和分支限界法求解0-1背包问题; 2. 要求显示结果。
三、实验环境和工具:
操作系统:Windows7 开发工具:Eclipse3.7.1 jdk6 开发语言:Java
四、实验问题描述:
0/1背包问题:现有n种物品,对1lt;=ilt;=n,第i种物品的重量为正整数Wi,价值为正整数Vi,背包能承受的最大载重量为正整数C,现要求找出这n种物品的一个子集,使得子集中物品的总重量不超过C且总价值尽量大。
动态规划算法描述:根据问题描述,可以将其转化为如下的约束条件和目标函数:
n
max
?vixi
i?1
?n
??wixi?C
?i?1
?x?{0,1}(1?i?n)?i
寻找一个满足约束条件,并使目标函数式达到最大的解向量
n
X?(x1,x2,x3,......,xn)
wixi
,使得?i?1
?C,而且?vixi
i?1
n
达到最大。
0-1背包问题具有最优子结构性质。假设(x1,x2,x3,......,xn)是所给的问题的一个最优解,则(x2,x3,......,xn)是下面问题的一个最优解:
?n
??wixi?C?w1x1
max?i?2
?x?{0,1}(2?i?n)?i
如果不是的话,设(y?vixi。
i?2
n
n
n
2
,y3,......,yn)
是这个问题的一个最优解,则?viyi??vixi,且w1x1
i?2
i?2
n
?
?wiyi
i?2
?C
。
因此,v1x1??viyi
i?2
nn
?v1x1?
?vx
i
i?2
i
?
这说明(x,y?vx,
ii
1
n
2
,y3,........,yn)
是所给
i?1
的0-1背包问题比(x1,x2,x3,........,xn)更优的解,从而与假设矛盾。
按照上面的情况,可以得到递推公式:设最优值为m(i,j)。
m(i,j)??
?m(i?1,j)
0?j?wi
?max{m(i?1,j),m(i?1,j?wi)?vi}j?wi
?00?j?wi
m(n,j)??
?vnj?wi
贪心算法描述:计算每种物品单位重量的价值;将尽可能多的单位重量价值最高的物品装入背包;如果单位重量价值最高的物品全部装入背包后,背包的总重量小于c,则选择单位重量次高的物品并尽可能多的装入背包;依次进行下去,直到背包装满为止。
回溯算法描述:回溯法从根结点出发,以深度优先的方式搜索整个解空间。开始结点成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜索向纵深方向移至一个新结点。新结点就成为一个新的活结点,并成为当前扩展结点。如果在当前的扩
展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。此时往回移动至最近的一个活结点处,并使这个活结点成为当前的扩展结点。回溯法递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。针对所给问题,定义问题的解空间;确定易于搜索的解空间结构;以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。
分支限界算法描述:分支限界法以广度优先的方式搜索问题的解空间树,每一个活结点只有一次机会成为扩展节点。活结点一旦成为扩展节点,就一次性产生其所有儿子节点,那些导致不可行解或导致非最优解的儿子节点被舍去,其余儿子节点被加入到活结点表中。此后,从活结点表中取下一节点成为当前扩展节点,并重复上述节点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。
五、实验原理、结果与结论:
1.1、动态规划求解0-1背包问题 实验结果:
实验原理:动态规划方法建立在最优原则的基础上,以空间换取时间,将一个问题的解决方案视为一系列决策的结果。在动态规划中,还要看每个最优决策序列中是否包含一个最优子序列。即无论过程的初始状态和初始决策是什么,其余的决策必须相对于初始决策所产生的状态构成一个最优决策。如果把第i个物品装入背包,
则背包中物
品的价值就等于把前i-1个物品装入容量为j?wi的背包中的价值加上第i个物品的价值vi;如果第i个物品没有装入背包,则背包中物品的价值就是等于
您可能关注的文档
最近下载
- 2025年浙江安防职业技术学院单招职业技能测试题库(名校卷).docx
- 2024年广州中考英语听说考试——“信息询问” 情景训练课件.pptx
- 四年级下册单元作文《热爱生命》.ppt
- 骆驼奶营养价值课件.pptx
- 统编版高中语文教材中杜甫四首诗《登高》《登岳阳楼》《蜀相》《客至》联读.docx
- 附件3-2:12千伏一二次融合环网柜(箱)及配电自动化终端(DTU)标准化设计方案(2021版).pdf VIP
- 第6课 戊戌变法 课件(共34张PPT).pptx
- 2023年上海杉达学院工程管理专业《管理学》科目期末试卷A(有答案).docx VIP
- 分包考核管理办法和考核表.pdf VIP
- 送教上门康复教案.docx
文档评论(0)