数学建模 分支界限法.ppt

数学建模 分支界限法.ppt

ID:57779638

大小:573.50 KB

页数:26页

时间:2020-09-02

数学建模  分支界限法.ppt_第1页
数学建模  分支界限法.ppt_第2页
数学建模  分支界限法.ppt_第3页
数学建模  分支界限法.ppt_第4页
数学建模  分支界限法.ppt_第5页
资源描述:

《数学建模 分支界限法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章分支限界法2021/10/41计算机算法设计与分析分支限界法是最佳优先搜索法分支限界法就是最佳优先(包括广度优先在内)的搜索法。分支限界法将要搜索的结点按评价函数的优劣排序,让好的结点优先搜索,将坏的结点剪去。所以准确说,此方法应称为界限剪支法。分支限界法中有两个要点:(1)评价函数的构造;(2)搜索路径的构造。2021/10/42计算机算法设计与分析评价函数的构造评价函数要能够提供一个评定候选扩展结点的方法,以便确定哪个结点最有可能在通往目标的最佳路径上。一个评价函数f(d)通常可以由两个部分构成:⑴从开始结点到结点d的已有耗损值g(d),

2、和⑵再从结点d到达目标的期望耗损值h(d)。即:f(d)=g(d)+h(d)通常g(d)的构造较易,h(d)的构造较难。2021/10/43计算机算法设计与分析搜索路径的构造在回溯法中,每次仅考察一条路径,因而只需要构造这一条路径即可:前进时记下相应结点,回溯时删去最末尾结点的记录。这比较容易实现。在分支限界法中,是同时考察若干条路径,那么又该如何构造搜索的路径呢?对每一个扩展的结点,建立三个信息:(1)该结点的名称;(2)它的评价函数值;(3)指向其前驱的指针;这样一旦找到目标,即可逆向构造其路径。用一个表保存准备扩展的结点,称为Open表。用一

3、个表保存已搜索过的结点,称为Closed表。2021/10/44计算机算法设计与分析分支限界法的一般算法⑴计算初始结点s的f(s);[s,f(s),nil]放入Open;⑵while(Open≠Φ){⑶从Open中取出[p,f(p),x](f(p)为最小);⑷将[p,f(p),x]放入Closed;⑸若p是目标,则成功返回;否则⑹{产生p的后继d并计算f(d);对每个后继d有二种情况:①dClosed

4、

5、dOpen;②dOpen&&dClosed。⑺{若([d,f’(d),p]Closed

6、

7、[d,f’(d),p]Open)&&f(d)

8、<f’(d),则删去旧结点并将[d,f(d),p]重新插入到Open中;否则⑻将[d,f(d),p]插入到Open中}}}。2021/10/45计算机算法设计与分析分支限界法求单源最短路径单源最短路径问题的评价函数的构造:g(d)定义为从源s到结点d所走的路径长度:g(d)=g(p)+C[p][d]这里p为d的前驱结点,C[p][d]为p到d的距离。h(d)定义为0。于是f(d)=g(d)。源s的评价函数f(s)=0。评价函数的下界为0;上界初始时为∞,以后不断用取得的更短路径的长度来替代。2021/10/46计算机算法设计与分析分支限界法求最短路

9、径举例12543102050100301060赋权图G初始时,将源[1,0,0]放入Open,Closed为空。Open表[1,0,0]Closed表取出[1,0,0]放入Closed;生成其后继[2,10,1]、[4,30,1]和[5,100,1],并依序放入Open。[1,0,0][5,100,1][4,30,1][2,10,1]取出[2,10,1]放入Closed;生成其后继[3,60,2],并依序插入Open。[2,10,1][3,60,2][4,30,1]取出[4,30,1]放入Closed;生成其后继[3,50,4]和[5,90,4],

10、修订Open中已有的两个结点并依序排列。[4,30,1][5,90,4][3,50,4]取出[3,50,4]放入Closed;生成其后继[2,100,3]和[5,60,3],前者因劣于Closed中的[2,10,1]而被抛弃,后者修订了Open中的[5,90,4]。[3,50,4][5,60,3]取出[5,60,3],因其已经是目标结点,算法成功并终止。依据逆向指针可得最短路径为1→4→3→5。2021/10/47计算机算法设计与分析界限(Bounding)评价函数f(d)关系着算法的效率乃至成败。因为在大多数问题中f(d)只是个估计值,所以单靠f

11、(d)是不够的。通常还要设计它的上下界函数U(d)和L(d)。L(d)≤f(d)≤U(d)。所谓分支限界法就是通过评价函数及其上下界函数的计算,将状态空间中不可能产生最佳解的子树剪去,减少搜索的范围,提高效率。因而更准确的称呼应是“界限剪支法”2021/10/48计算机算法设计与分析用分支限界法求TSPTSP是求排列的问题,不是仅找一条路径而已。因而需要对分支限界法的一般算法作些修改:(1)待扩展的结点如果在本路径上已经出现,则不再扩展,但若是在其他路径上出现过,则仍需要扩展。(2)新结点,无论其优劣,既不影响其它路径上的结点,也不受其它路径上的结

12、点的影响。(3)依据上界函数决定结点是否可以剪去。2021/10/49计算机算法设计与分析分支限界法求排列⑴计算初始结点s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。