第六部分分支限界法.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  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文档。上传文档
查看更多
第六部分分支限界法

第六章 分支限界法 (Branch and Bound) 电路布线 印刷电路板将布线区域划分成n×m个方格阵列。精确的电路布线问题要求确定连接方格a的中点到b的中点的最短布线方案。 在布线时,电路只能沿直线或直角布线。 为了避免线路相交,已布了线的方格作了封锁标记,其他线路不允许穿过被封锁的方格。 队列式分支限界法 解空间:图 将起始位置a作为第一个扩展结点,与该扩展结点相邻且可达的方格成为可行结点被加入到活结点队列中(右下左上),并且将这些方格标记为1,即从起始方格a到这些方格的距离为1。 接着,从活结点队列中取出对首结点作为下一个扩展结点…… 算法具体实现 “围墙”,用于处理边界 “0”表示方格开放,“1”表示方格封锁 起始位置的距离标记为2,实际距离为标记距离减2 算法分析 活结点队列中最多只处理O(mn)个活结点。扩展每个结点需O(1),因此共需O(mn)。构造解需O(L)时间,L是最短路径的长度。 堆 n个元素的序列{k1,k2,…,kn},当且仅当满足下述关系时,称之为堆。 单源最短路经 有向图G中,每一边都有一个非负边权。求图G的从源顶点s到目标顶点t之间的最短路径。 剪枝:结点间的控制关系。从s出发,经过两条不同路径到达同一顶点,这两条路径相应于解空间树的2个不同的结点A和B,如果结点A所相应的路长小于结点B所相应的路长,则可以将结点B为根的子树剪去,称结点A控制了结点B。 优先队列中结点的优先级:结点所对应的当前路长。 //找出从源顶点s到所有其他顶点之间的最短路径 While (true) //搜索问题的解空间,E为当前扩展结点 for j=1 to n do //顶点i到顶点j可达,且满足控制约束 if (c[E.i][j] ≠∞) and (E.length + c[E.i][j] dist[j]) dist[j] = E.length + c[E.i][j] prev[j] = E.i 加入活结点优先队列 取下一扩展结点 直到队列为空 最大团问题 给定一个无向图G=(V,E)。如果U包含于V,且对任意u,v属于U有(u,v)属于E,则称U是G的一个完全子图。G的完全子图U是G的一个团当且仅当U不包含在G的更大的完全子图中。G的最大团是指G中所含顶点数最多的团。 例如,子集{1,2}是G的一个大小为2的完全子图,但不是一个团,因为它包含于G的更大的完全子图{1,2,5}中。{1,2,5}、{1,4,5}和{2,3,5}都是G的最大团。 解最大团问题与解装载问题是相似的。 图G的顶点集V的子集选取问题 子集树 剪枝 左子树:从顶点i到已选入的顶点集中每一个顶点都有边,否则剪枝 右子树:顶点数上界小于当前最优值时剪枝 (当前扩展结点)顶点数上界=已确定的顶点数+未确定的顶点数的上界 优先队列中结点的优先级 顶点数上界 练习 装载问题 实质是求第一艘船的最优装载。该问题是一个子集选取问题,子集树。 剪枝 考察左子树的可行性:是否满足约束条件。 考察右子树的最优性:(当前扩展结点)重量上界≤当前最优值时,剪去右子树。 重量上界=当前扩展结点相应的重量(从根结点到当前结点的路径所相应的载重量)+ 剩余集装箱的重量 优先队列中结点的优先级 重量上界 课堂测验 分别用回溯法和分支限界法解决如下装载问题的实例,画出解空间树,要求: 结点按搜索顺序编号,根结点编号为0; 标记结点状态值(标记在结点旁); 给出最优值和最优解。 集装箱重量w={20, 40, 30, 50},轮船载重c={100, 60}。 回溯法vs.分支限界法 * 什么是分支限界法? 8-puzzle problem 2 8 3 1 4 7 6 5 1 2 3 8 4 7 6 5 an 8-puzzle initial arrangement the goal state of the 8-puzzle problem 2 8 3 1 4 7 6 5 2 8 3 1 4 7 6 5 2 3 1 8 4 7 6 5 2 8 3 1 4 7 6 5 2 8 3 1 6 4 7 5 3 3 3 4 4 2 3 1 8 4 7 6 5 2 3 1 8 4 7 6 5 2 4 1 2 3 8 4 7 6 5 1 2 3 7 8 4 6 5 1 2 3 8 4 7 6 5 1 0 2 Greedy method: the number of misplaced tiles 1 2 3 8 4 7 6 5 分支限界法的搜索策略 分支限界法以广度优先或最小耗费/最大效益优先的方式搜索解空间树。 在扩展结点处,先生成其所有的儿子结点(

文档评论(0)

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

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

1亿VIP精品文档

相关文档