分支限界法(课堂PPT)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《分支限界法(课堂PPT)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分支 限界 课堂 PPT 课件
- 资源描述:
-
1、第九章第九章 分支限界法分支限界法1234概述概述图问题中的分支限界法图问题中的分支限界法组合问题中的分支限界法组合问题中的分支限界法小结小结9.1 概述概述 9.1.1 分枝限界法的设计思想分枝限界法的设计思想 9.1.2 分枝限界法的时间性能分枝限界法的时间性能9.1.3 一个简单例子一个简单例子 -圆排列问题圆排列问题 分支限界法按分支限界法按广度优先策略广度优先策略搜索问题的解空间树,搜索问题的解空间树,在搜索过程中,对待处理的结点根据在搜索过程中,对待处理的结点根据限界函数限界函数估算目估算目标函数的可能取值,从中选取使目标函数取得极值标函数的可能取值,从中选取使目标函数取得极值(极
2、大或极小)的结点(极大或极小)的结点优先优先进行进行广度优先搜索广度优先搜索,从而,从而不断不断调整搜索方向调整搜索方向,尽快找到问题的解。,尽快找到问题的解。 分支限界法适用于求解分支限界法适用于求解最优化问题最优化问题。 确定一个确定一个合理的限界函数合理的限界函数,并根据限界函数确定目,并根据限界函数确定目标函数的标函数的界界down, up。 按照按照广度优先策略广度优先策略搜索问题的解空间树,在分支结搜索问题的解空间树,在分支结点上,依次扩展该结点的所有孩子结点,分别估算这点上,依次扩展该结点的所有孩子结点,分别估算这些孩子结点的目标函数的可能取值,某孩子结点的目些孩子结点的目标函数
3、的可能取值,某孩子结点的目标函数的可能取值标函数的可能取值超出目标函数的界超出目标函数的界,则将其,则将其丢弃丢弃;否则,将其否则,将其加入待处理结点表加入待处理结点表(以下简称(以下简称表表PT)中。)中。 依次从表依次从表PT中中选取选取使目标函数使目标函数取得极值的结点取得极值的结点成为成为当前扩展结点当前扩展结点,重复上述过程,直至找到最优解。,重复上述过程,直至找到最优解。9.1.1 分支限界法的设计思想分支限界法的设计思想分支限界法需要解决的分支限界法需要解决的关键问题关键问题 如何确定合适的限界函数。如何确定合适的限界函数。(提示:计算简单,减(提示:计算简单,减少搜索空间,不丢
4、解)少搜索空间,不丢解) 如何组织待处理结点表。如何组织待处理结点表。(提示:表(提示:表PT可以采用可以采用堆堆的形式,也可以采用的形式,也可以采用优先队列优先队列的形式存储。各有什的形式存储。各有什么特点?)么特点?) 如何确定最优解的各个分量。如何确定最优解的各个分量。(提示:(提示:跳跃式处理跳跃式处理解解空树结点,必须空树结点,必须保存保存搜索过程中经过的搜索过程中经过的路径信息路径信息。)。) 回溯法回溯法从根结点出发,按照从根结点出发,按照深度优先策略深度优先策略遍历问遍历问题的解空间树。题的解空间树。分支限界法分支限界法按按广度优先策略广度优先策略搜索问题的解空间树。搜索问题的
5、解空间树。二者与蛮力法区别?二者与蛮力法区别?回溯法与分支限界法区别?回溯法与分支限界法区别? 一般情况下,在问题的解向量一般情况下,在问题的解向量X=(x1, x2, , xn)中,分量中,分量xi (1in)的取值范围为某个有限集合的取值范围为某个有限集合Si=ai1, ai2, , airi,因此,问题的解空间由,因此,问题的解空间由笛卡儿笛卡儿积积A=S1S2Sn构成构成,并且第,并且第1层的根结点有层的根结点有|S1|棵子树,则第棵子树,则第2层共有层共有|S1|个结点,第个结点,第2层的每个层的每个结点有结点有|S2|棵子树,则第棵子树,则第3层共有层共有|S1|S2|个结点,依个
6、结点,依此类推,第此类推,第n+1层共有层共有|S1|S2|Sn|个结点,个结点,他们都是他们都是叶子结点,代表问题的所有可能解叶子结点,代表问题的所有可能解。9.1.2 分支限界法的时间性能分支限界法的时间性能 类比类比回溯法回溯法分析分支限界法的时间性能分析分支限界法的时间性能11111100000001图8.2 0/1背包问题的解空间树对物品1的选择对物品3的选择对物品2的选择12345781112141531069例如:例如:对于对于n=3的的0/1背包问题解空间树背包问题解空间树 分支限界法分支限界法和和回溯法回溯法实际上都属于实际上都属于蛮力穷举法蛮力穷举法,当,当然不能指望它有很
7、好的最坏时间复杂性,遍历具有指然不能指望它有很好的最坏时间复杂性,遍历具有指数阶个结点的解空间树,在最坏情况下,时间复杂性数阶个结点的解空间树,在最坏情况下,时间复杂性肯定为肯定为指数阶指数阶。 与回溯法不同的是,分支限界法首先扩展解空间树与回溯法不同的是,分支限界法首先扩展解空间树中的上层结点,并采用限界函数,中的上层结点,并采用限界函数,有利于实行大范围有利于实行大范围剪枝剪枝,同时,同时,根据限界函数不断调整搜索方向根据限界函数不断调整搜索方向,选择,选择最有可能取得最优解的子树优先进行搜索。所以,如最有可能取得最优解的子树优先进行搜索。所以,如果选择了结点的合理扩展顺序以及设计了一个好
8、的限果选择了结点的合理扩展顺序以及设计了一个好的限界函数,分支界限法可以快速得到问题的解。界函数,分支界限法可以快速得到问题的解。 分支限界法的较高效率是以分支限界法的较高效率是以付出一定代价付出一定代价为基础的,其为基础的,其工作方式也造成了算法设计的复杂性。工作方式也造成了算法设计的复杂性。首先,首先,一个更好的限一个更好的限界函数通常需要花费更多的时间计算相应的目标函数值,而界函数通常需要花费更多的时间计算相应的目标函数值,而且对于具体的问题实例,通常需要进行且对于具体的问题实例,通常需要进行大量实验,才能确定大量实验,才能确定一个好的限界函数一个好的限界函数;其次,其次,由于分支限界法
9、对解空间树中结由于分支限界法对解空间树中结点的处理是跳跃式的,因此,在搜索到某个叶子结点得到最点的处理是跳跃式的,因此,在搜索到某个叶子结点得到最优值时,为了从该叶子结点求出对应的最优解中的各个分量,优值时,为了从该叶子结点求出对应的最优解中的各个分量,需要对每个扩展结点保存该结点到根结点的路径,或者在搜需要对每个扩展结点保存该结点到根结点的路径,或者在搜索过程中构建搜索经过的树结构,这使得算法的设计较为复索过程中构建搜索经过的树结构,这使得算法的设计较为复杂;杂;再次,再次,算法要维护一个待处理结点表算法要维护一个待处理结点表PTPT,并且需要在表,并且需要在表PTPT中快速查找取得极值的结
10、点,等等。这都需要较大的存储中快速查找取得极值的结点,等等。这都需要较大的存储空间,在空间,在最坏情况最坏情况下,下,分支限界法分支限界法需要的需要的空间复杂性空间复杂性是是指数指数阶阶。 9.1.3 一个简单的例子一个简单的例子圆排列问题圆排列问题问题描述:问题描述:给定给定n个圆的半径序列,将这些圆放个圆的半径序列,将这些圆放到一个矩形框中,各圆与矩形框的到一个矩形框中,各圆与矩形框的底边相切底边相切,则,则圆的不同排列会得到不同的排列长度,要求找出圆的不同排列会得到不同的排列长度,要求找出具有最小长度的圆排列。具有最小长度的圆排列。想法:想法:采用分支限界法求解圆排列问题,采用分支限界法
11、求解圆排列问题,首先首先设计限界函数,设计限界函数,然后然后在搜索过程中选择使目标在搜索过程中选择使目标函数取得极值的结点优先进行扩充。函数取得极值的结点优先进行扩充。 9.2 图问题中的分支限界法图问题中的分支限界法 9.2.1 TSP问题问题 9.2.2 多段图的最短路径问题多段图的最短路径问题问题描述:问题描述:TSP问题是指旅行家要旅行问题是指旅行家要旅行n个城市,要个城市,要求各个城市经历且仅经历一次然后回到出发城市,求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短。并要求所走的路程最短。9.2.1 TSP问题问题 想法:想法: 确定目标函数的界确定目标函数的界dow
12、n, up 。(提示:如何确。(提示:如何确定上、下界?)定上、下界?) 确定目标函数值的计算方法(限界函数)。确定目标函数值的计算方法(限界函数)。 基于上、下界,按分支限界法设计思想,搜索解基于上、下界,按分支限界法设计思想,搜索解空间树,得到最优解。空间树,得到最优解。图图9.5(9.5(a) )所示是一个带权无向图,所示是一个带权无向图,( (b) )是该图的代价矩阵。是该图的代价矩阵。271563134253984C= 3 1 5 83 6 7 91 6 4 25 7 4 38 9 2 3 (a) 一个无向图一个无向图 (b) 无向图的代价矩阵无向图的代价矩阵图图 9.5 无向图及其
13、代价矩阵无向图及其代价矩阵1.1.确定问题的上界确定问题的上界1616,下界,下界1414。如何设计求上、下界策略?如何设计求上、下界策略?2.2.确定限界函数计算方法确定限界函数计算方法一般情况下,假设当前已确定的路径为一般情况下,假设当前已确定的路径为U=(r1, r2, , rk),即路径上已确定了即路径上已确定了k个顶点个顶点,此时,该部分解的目标函数此时,该部分解的目标函数值的计算方法如下:值的计算方法如下:kiUrjikiiijrrrrclb, 11112/ )2(行最小的两个元素素行不在路径上的最小元3.3.基于分支限界法的思想,从根结点开始依次计算基于分支限界法的思想,从根结点
展开阅读全文