- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法课件(六比)分支定界
0-1背包问题解3:最大收益法 假设有4个物品,重量分别是(4,7,5,3),价值分别是(40,42,25,12),背包容量是W=10。 单位重量价值分别为:(10,6,5,4) 示例3 :装载问题 1. 问题描述 * 1 * * * * * 2 * 注意:回溯算法是活节点和E节点 * 8 选择下一个E-节点的方式不同导致几种不同的分支搜索方式 * * * * * 在根节点估算的界为[25/15*30,40/20*30],即 [50,60].B、E处的解值为40+1.67*10=56,所以,节点K处取得的解值应该丢弃。 * 路径1342,不展开,意味着节点o不生成,但当前路径是经过1-3-4-2,三条边。 * 注意:书上是采用堆,这里演示中队列是按照元素耗费,所以队列的元素排列可能与堆的情况不一致! 但为了演示,只是体现取队列首元素(耗费最小)即可! 耗费表: 1)【4,6,30】 2)【6,14,24,30】 3)【11,14,24,26,30】 旅行商问题的界是否可以定成(16,80)? * * * 回忆用动规,回溯法怎么去求解? LOGO * 分支限界法 * 1 概述 2 分支限界法 3 应用举例 * 1. 概述 搜索法 在动态产生问题的解空间,并搜索问题的可行解或最优解。 在生成的结点中,抛弃那些不满足约束条件(或者说不可能导出最优可行解)的结点。 搜索方式 深度优先搜索 广度优先搜索 * 1. 概述 方法1:深度优先搜索 通常深度优先搜索法不全部保留结点,扩展完的结点从数据存储结构栈中弹出删去,这样,一般在数据栈中存储的结点数就是解空间树的深度,因此它占用空间较少。 所以,当搜索树的结点较多,用其它方法易产生内存溢出时,深度优先搜索不失为一种有效的求解方法。 * 1. 概述 方法2:广度优先搜索 广度优先搜索算法,一般需存储产生的所有结点,占用的存储空间要比深度优先搜索大得多,因此,程序设计中,必须考虑溢出和节省内存空间的问题。 但广度优先搜索法一般无回溯操作,即入栈和出栈的操作,所以运行速度比深度优先搜索快。 * 2. 分支限界法 采用广度优先产生状态空间树的结点,并使用剪枝函数的方法称为分支限界法。 所谓“分支”是采用广度优先的策略,依次生成扩展结点的所有分支(即:儿子结点)。 所谓“限界”是在结点扩展过程中,计算结点的上界(或下界),边搜索边减掉搜索树的某些分支,从而提高搜索效率 * 分支限界算法思想 对E-节点的扩充方式:引入活节点表 【思想】每个活节点有且仅有一次机会变成 E-节点。当一个节点变为E-节点时,则生成从该节点移动一步即可到达的所有新节点。在生成的节点中,抛弃那些不可能导出(最优)可行解的节点,其余节点加入活节点表,然后从表中选择一个节点作为下一个E-节点。 从活节点表中取出所选择的节点并进行扩充,直到找到解或活动表为空,扩充过程才结束。 * 不同的活结点表形成不同的分枝限界法: FIFO分支限界法(队列式分支限界法):活结点表是先进先出队列 LIFO分支限界法:活结点表是堆栈 最小耗费或最大收益法分支限界法(优先队列式分支限界法):活结点表是优先权队列,LC分支限界法将选取具有最高优先级的活结点出队列,成为新的扩展结点。 几种常见的分支限界法 * FIFO分支定界法 在解空间树上的FIFO法,类似从根节点出发的BFS方法; 与BFS的区别在于:在FIFO分支定界中,不可行的节点不会被搜索! * 示例1:0/1背包问题解1 FIFO分支定界 n=3, w=[20,15,15], p=[40,25,25], c=30 E-节点 活节点表 A B C B C E C E F G E F G 解1:[1,0,0], 收益40 F G 解2:[0,1,1], 收益50 G NULL 20 35 × 20 15 35 × 30 15 15 * 最大收益-分支定界思想 使用一个最大堆:其中的 E-节点按照每个活节点收益值的降序,或是按照活节点任意子树的叶节点所能获得的收益估计值的降序从队列中取出。 FIFO分支-限界算法用队存储活结点,优先队列式分支限界法用堆存储活结点,以保证比较优良的结点先被扩展。且对于优先队列式分支限界算法,一旦扩展到叶结点就已经找到最优解,可以停止搜索。 采用广度优先搜索策略的目的是:尽早发现剪枝点。 * 个元素的序列 当且仅当满足下述关系时,称之为堆 或 堆 * 0-1背包问题解2:最大收益法 E-节点 活节点表 A B C B E C E C 解1:[1,0,0], 收益40 C 解2:[0,1,1], 收益50 G NULL n=3, w=[20,15,15], p=[40,25,25], c=30 F G F G 不可行
您可能关注的文档
- 塑料、纤版维和橡胶.ppt
- 塑料包装材料——树三脂的结构与性能.ppt
- 塑料包装袋加费工流程.ppt
- 塑料产品标准及之检测设备.ppt
- 塑料成型模具设计第七章搞中空吹塑.ppt
- 塑料成型派工艺与模具设计.ppt
- 塑料改性与恶加工技术.ppt
- 塑料共混改呀性粒料的配制.ppt
- 塑料管材的执行标准和零质量控制(给水部分).ppt
- 塑料焊接材料介是绍01.ppt
- 人教版六年级上册数学期末检测卷及参考答案(a卷).docx
- 物流园区物流成本控制2025年多式联运信息共享平台构建与成本优化研究.docx
- 人教版六年级上册数学期末检测卷【考点精练】.docx
- 人教版六年级上册数学期末检测卷及参考答案【新】.docx
- 2025届四川省成都市列五高三三模语文试卷含答案.docx
- 职业教育虚拟仿真实训系统2025年数字化教学资源开发报告.docx
- 人教版六年级上册数学期末检测卷及参考答案【完整版】.docx
- 人教版六年级上册数学期末检测卷及参考答案(考试直接用).docx
- 增强现实(AR)在文旅产业的应用现状与未来趋势分析报告.docx
- 可口可乐快消品渠道渠道终端渠道运营效率分析报告.docx
文档评论(0)