网站大量收购独家精品文档,联系QQ:2885784924

背包问题试验报告.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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个物品没有装入背包,则背包中物品的价值就是等于

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档