第七章分支限界法精选文档.ppt
《第七章分支限界法精选文档.ppt》由会员分享,可在线阅读,更多相关《第七章分支限界法精选文档.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章分支限界法本讲稿第一页,共二十七页第七章第七章 分支限界法分支限界法 分支限界法的基本思想分支限界法的基本思想 单源最短路径问题单源最短路径问题 布线问题布线问题North China Electric Power University 方格调整问题方格调整问题本讲稿第二页,共二十七页1 1 分支限界法的基本思想分支限界法的基本思想 分支限界法类似于回溯算法,也是一种在问题的解空间树分支限界法类似于回溯算法,也是一种在问题的解空间树T上搜索上搜索问题的解的算法。问题的解的算法。和回溯法的区别:和回溯法的区别:1.求解目标不同:回溯法的求解目标是找出求解目标不同:回溯法的求解目标是找出T中
2、满足约束条件的所中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。的解,即在某种意义下的最优解。2.结点的扩展方式不同:回溯法以深度优先的方式搜索解空间树,而分支结点的扩展方式不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或最小耗费优先的方式搜索解空间树,在扩展结点限界法则以广度优先或最小耗费优先的方式搜索解空间树,在扩展结点处,先生成所有的儿子结
3、点,然后再从当前的扩展结点表中选择下一个处,先生成所有的儿子结点,然后再从当前的扩展结点表中选择下一个扩展结点。扩展结点。3.活结点成为扩展结点的机会不同:在回溯法中每个结点可能有多活结点成为扩展结点的机会不同:在回溯法中每个结点可能有多次机会成为扩展结点,而分支限界法中每个活结点只有一次机会成次机会成为扩展结点,而分支限界法中每个活结点只有一次机会成为扩展结点。为扩展结点。本讲稿第三页,共二十七页North China Electric Power University 分支限界法以广度优先或最小耗费优先的方式搜分支限界法以广度优先或最小耗费优先的方式搜索问题的解空间树。在搜索问题的解空间树
4、时,每一索问题的解空间树。在搜索问题的解空间树时,每一个活结点只有一次机会称为扩展结点。活结点一旦成个活结点只有一次机会称为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有的儿子结点。在这为扩展结点,就一次性产生其所有的儿子结点。在这些儿子结点中,那些导致不可行解或非最优解的儿子些儿子结点中,那些导致不可行解或非最优解的儿子结点被舍弃,其余的儿子结点被加入活结点表中。此结点被舍弃,其余的儿子结点被加入活结点表中。此后,从活结点表中选择下一个结点成为当前扩展结点,后,从活结点表中选择下一个结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到并重复上述结点扩展过程。这个过程一直
5、持续到找到所需的解或活结点表为空时为止。所需的解或活结点表为空时为止。分支限界法的搜索策略:分支限界法的搜索策略:本讲稿第四页,共二十七页North China Electric Power University 根据从活结点表中选择下一结点的不同方式,分支限界根据从活结点表中选择下一结点的不同方式,分支限界法分为两类:法分为两类:1)1)队列式分支限界法队列式分支限界法 队列式分支限界法将活结点表组织成一个队列,并按照队列队列式分支限界法将活结点表组织成一个队列,并按照队列的先进先出的原则选取下一个结点称为当前结点。的先进先出的原则选取下一个结点称为当前结点。2)2)优先队列式分支限界法优先
6、队列式分支限界法 优先队列式分支限界法将活结点表组织成一个优先队列,优先队列式分支限界法将活结点表组织成一个优先队列,并按照优先队列中规定的优先级选取优先级最高的下一结点并按照优先队列中规定的优先级选取优先级最高的下一结点成为当前扩展结点。在算法实现时,通常用一个最大堆来实成为当前扩展结点。在算法实现时,通常用一个最大堆来实现最大优先队列,用最小堆来实现最小优先队列。用优先队现最大优先队列,用最小堆来实现最小优先队列。用优先队列法解具体问题时,应根据具体问题的特点选用最大优先队列法解具体问题时,应根据具体问题的特点选用最大优先队列活最小优先队列来表示解空间的活结点表。列活最小优先队列来表示解空
7、间的活结点表。本讲稿第五页,共二十七页ABCDEFGHIJLKMNOx1=1x1=0 x2=1x2=0 x3=1x3=0 x3=1x3=0 x2=1x2=0 x3=1x3=0 x3=1x3=0例:例:0-1背包问题背包问题 n=3,C=20,(p1,p2,p3)=(20,15,25)(w1,w2,w3)=(10,5,15),求求X=(x1,x2,x3)使背包价值最大?使背包价值最大?(10,20)(15,35)(15,35)(10,20)(10,20)(5,15)(20,40)(15,35)(5,15)(20,40)(0,0)(0,0)(15,25)(20,40)(20,40)(0,0)(20
8、,40)当前最优解当前最优解可行解可行解中间计算结果中间计算结果本讲稿第六页,共二十七页ABCDEFGHIJLKMNO10101010101010解空间树解空间树T T例:例:0-1背包问题背包问题 n=3,C=20,(p1,p2,p3)=(20,15,25)(w1,w2,w3)=(10,5,15),求求X=(x1,x2,x3)使背包价值最大?使背包价值最大?B1020C00D1535E1020F515G00I1535当前最优解当前最优解K1020M515N1525O00L2040当前最优解当前最优解(10,20)(15,35)(10,20)(5,15)(0,0)(0,0)本讲稿第七页,共二十
9、七页堆是满足下列性质的数列堆是满足下列性质的数列RR1 1,R,R2 2,,R Rn n:或或若将此数列看成是一棵完全二叉树,则堆或是空树或是满足下列特性的完若将此数列看成是一棵完全二叉树,则堆或是空树或是满足下列特性的完全二叉树:其左、右子树分别是堆,并且当左、右子树不空时,根结点的全二叉树:其左、右子树分别是堆,并且当左、右子树不空时,根结点的值小于值小于(或大于或大于)左、右子树根结点的值。左、右子树根结点的值。堆的补充知识堆的补充知识1.堆的定义堆的定义本讲稿第八页,共二十七页2.最小堆的最小堆的C+描述描述template class MinHeap Array array;int
10、count;public:MinHeap(unsigned int n);MinHeap();EnQueue(Object&object);Object&DeleteMin();本讲稿第九页,共二十七页3.最小堆的插入和删除最小堆的插入和删除1)插入插入34675插入插入2 23467534675346752本讲稿第十页,共二十七页void MinHeap:EnQueue(Object&object)if(count=array.Length()throw domain_error(“priority queue is full”);+count;unsigned int i=count;wh
11、ile(i1)&(arrayi/2object)arrayi=arrayi/2;i=i/2;arrayi=&object;本讲稿第十一页,共二十七页2)删除删除34675删除删除2 2436754367523475634756本讲稿第十二页,共二十七页Object&MinHeap:DeleteMin()if(count=0)throw domain_error(“priority queue is emtpy”);Object&result=*array1;Object&last=*arraycount;-count;unsigned int i=1;while(2*icount+1)unsi
12、gned int child=2*i;if(child+1count+1)&(*arraychild+1*arraychild)child+=1;if(last=*arraychild)break;arrayi=arraychild;i=child;arrayi=&last;return result;本讲稿第十三页,共二十七页North China Electric Power University2.2.单源最短路径问题单源最短路径问题 1.1.问题描述问题描述1234301020645 给定一个带权有向图给定一个带权有向图G=(V,E),其中每条边的权是一个非负实数。,其中每条边的权是一
13、个非负实数。另外,还给定另外,还给定V中的一个顶点,称为中的一个顶点,称为源源。计算从源到所有其他各顶点。计算从源到所有其他各顶点的最短路径长度。这里路径的长度是指路上各边权之和。这个问的最短路径长度。这里路径的长度是指路上各边权之和。这个问题称为题称为单源最短路径问题单源最短路径问题。例:例:下图为一包含下图为一包含4个顶点的无向图,其中顶点个顶点的无向图,其中顶点1为源,求顶为源,求顶点点1到其它各顶点的最短路径及其长度。到其它各顶点的最短路径及其长度。s本讲稿第十四页,共二十七页2.2.算法思想算法思想 单源最短路径问题可用分支限界法求解。由于要找的是从源到单源最短路径问题可用分支限界法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 分支 限界 精选 文档
限制150内