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

六章分支限界法.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六章分支限界法

* 第六章 分支限界法 算法设计与分析 Design and Analysis of Computer Algorithm 信息工程学院 张永梅 学时分配 章 节 内 容 讲授课时 上机课时 考试 第一章 绪论 4 第二章 分治与递归 4 2 第三章 贪心算法 4 2 第四章 动态规划 4 2 第五章 回溯法 4 2 第六章 分支限界法 2 合 计 22 8 2 本课程成绩由平时作业、上机实验和期末考试进行评定: 考核方法及成绩评定标准 平时作业:10% 上机实验:30% 期末考试:60%,考试形式为开卷 第六章 分支限界法(Branch-and-Bound) 1、基本要求 要求掌握分治限界法的基本思想,算法设计步骤,及常见问题的算法。 要求理解分支限界法的剪枝搜索策略。 2、教学内容 基本思想 0-1背包问题 第六章 分支限界法(Branch-and-Bound) 6.1 分支限界法的基本思想 分支限界法与回溯法 (1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。 (2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。 回溯与分支限界是对穷举法的改进。 它们每次只构造候选解的一个分量,然后评估这个部分解: 如果加上剩下的分量也不可能求得一个解,就不再生成剩下的分量。 回溯法和分支限界都是以构造一棵状态空间树为基础,树的节点反映了对一个部分解所做的特定的选择。 6.1 分支限界法的基本思想 分支限界法与回溯法 有两种生成问题状态的基本方法。它们都是从根结点开始然后生成状态空间树上的其它结点。 6.1 分支限界法的基本思想 如果已生成一个结点而它的所有儿子结点还没有全部生成,则这个结点叫做活结点(Live node)。当前正在生成其儿子结点的活结点叫E-结点(正在扩展的结点,Expanded node)。不再进一步扩展或者其儿子结点已全部生成的结点就是死结点(Dead node)。 在生成问题状态的两种方法中,都要有一张活结点表。问题状态的生成可以采用两种不同的方法: 如果对一个E-结点R一旦生成了它的一个新的儿子C,就把C当作新的扩展结点,在完成对子树C(以C为根的子树)的穷尽搜索之后。将R结点重新变成 E-结点,继续生成R的下一个儿子(如果存在)。这称做深度优先的问题状态生成法。 在另一种状态生成方法中,一个E-结点一直保持到变成死结点为止。即在一个E-结点变成死结点之前,它一直是扩展结点。这实际上是一种宽度优先的问题状态生成法。 6.1 分支限界法的基本思想 广度优先遍历(BFS) 方法:从图的某一顶点V0出发,访问此顶点后,依次访问V0的各个未曾访问过的邻接点;然后分别从这些邻接点出发,广度优先遍历图,直至图中所有已被访问的顶点的邻接点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止。 V1 V2 V4 V5 V3 V7 V6 V8 例 广度遍历:V1? V2 ?V3 ? V4 ?V5 ?V6 ?V7 ?V8 6.1 分支限界法的基本思想 在这两种方法中,为了避免生成那些不可能产生最佳解(或所需解)的问题状态,将用限界函数去杀死那些实际上不可能产生所需解的活结点,以减少问题的计算工作量。 这样做要非常小心,以使得在处理结束时至少能生成一个答案结点;如果这个问题要求找出全部解,则要能生成所有的答案结点。使用限界函数的深度优先结点生成方法称为回溯法(backtracking)。 E-结点一直保持到死为止的状态生成方法导致分枝-限界方法(branch-and-bound)。 6.1 分支限界法的基本思想 6.1 分支限界法的基本思想 分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。对已处理的各结点根据限界函数估算目标函数的可能取值,从中选取使目标函数取得极值(极大/极小)的结点优先进行广度优先搜索?不断调整搜索方向,尽快找到解。 特点:限界函数常基于问题的目标函数,适用于求解最优化问题。 6.1 分支限界法的基本思想 分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。 此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。 在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档