2.5分枝界限法-Read.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5分枝界限法-Read

§2.5 分枝界限法;整个的搜索过程可以用树表示。 树的根就是搜索的开始,根包含所有的可能解。 对可能解的组成作出限制将所有的可能解划成子集,在树中用根的子节点表示。 对这些子集再作限制,又可将子集划成更小的子集,在树中得到更多的子节点。 有时,对可能解作了某些限制以后,可以确定得到的子集中所有的可能解都不是问题的解, 则可以停止对这个子集的可能解作进一步的限制,即不必产生这个节点的子节点了, 可以停止对以这个节点为根的子树(即可能解的子空间)的搜索。;树中各节点被考虑的次序如是任意的,则为盲目搜索, 为加速搜索过程,须按某种原则规定节点被考虑的次序,搜索的速度就大大加快了。;在巡回售货员问题中,如用BEST表示当前所搜寻到的最好结果,即包含所有城市的最短回路的长度。 考虑树的节点,即可能解的子集时,可能解的回路长度的下限如不小于BEST的值。 则这个节点(或可能解的这个子集)就不必进一步考虑了(称为剪枝)。为加速搜索过程,希望 (i)BEST的值小一点,即当前搜寻到的结果尽可能接近问题的最佳解。这样能及早停止对某些节点的搜索,要搜索的空间缩小了,搜索过程就加速了。 (ii)对可能解子集的回路长度的下限估计得精确些(因为只有用穷尽法才能得到下限的准确值), 目的同样是为了及早停止对某些节点的搜索,加快整个搜索过程。如果限制条件选择得好,子节点所包含的可能解的数目比父节点会少得多。; 巡回售货员问题的搜索树兹述如下:根结点表示所有可能解的集合,每一个结点至多有两个子节点 对父节点的可能解按是否含有某一特定边,将父节点的可能解划成两个子集,由此得到两个子节点 对树中的节点(即可能解的子集),估算其回路长度的下限,如估算值不小于BEST,则停止产生这个节点的子节点。 节点被考虑的次序是这样决定的,选择下限估算值最小的节点,产生它的子节点。 至于按哪条边划分子集,则循事先规定的次序。以边ab为例,标以ab的节点表示相应的子集中的回路都含有边ab,标以ab的节点则表示相应的子集中的回路都不包含边ab. 子节点继承父节点的性质。; 节点ac的集合中的回路不仅包含边ac,还含有边ab,因为其父结点的标记为ab. 树中有些节点不必产生,如节点ac处,不必考虑其子节点ad,因为节点ac相应的可能解集合中的每条回路已经包含边ab和ac,从而必不可能再含有一条与城市a相关联的边。 产生子节点时有这样的考虑,如选择边xy,按包含边xy或排斥边xy产生子节点, 1.如包含边xy,城市x或y有多于两条边与之相关,则不能产生子节点xy. 2.如排斥边xy ,城市x或y最多只能有一条边与之相关,则不能产生子节点xy;现在讨论如何估算可能解集合的回路长度的下限。考虑如下可能解 V1,V2,···,Vn 令Nl=C[V1][V2]+C[Vn ][ V1] Ni=C[Vi-l ][ Vi]+C[Vi ][ Vi+1] (i=2,3,···,n-1) Nn=C[Vn-1 ][ Vn]+C[Vn ][ V1] Ni为在回路中与节点i相关的两条边的权的和. 则回路长度 COST= 1/2 ∑ Ni 如用Mi表示联接城市i的两条最短边的权之和,则 COST= 1/2 ∑Mi 此为下限。;;;树根 17.5;搜索树中节点旁的数字表示节点产生的次序, 节点内有限制的信息(即包含某条边、或排斥某条边)及回路长度的下限。 在节点2和节点3中,先考虑节点2, 因节点被考虑的次序按其下限值,每次总是先考虑下限值最小的节点。;继续这个过程,得下图的搜索树。 树中节点8所受的限制为包含边ab,ad,bc,排斥边ac,由于边ab,ad,bc一定被包含, 可知节点8对应的可能解子集中只含一个可能解,即为回路 a bced a (*) 其长度为23,因为(*)是第一次得到的回路,所以其长度就是BEST的第一个值。 节点7的下限值如图所示为23,与BEST值相同,因此就不必考虑它的子节点了, 图中用×号表示。;;1;;同样,节点9的限制为包含边ab、ad,排斥边ac、bc, 由于包含了边da、ab,因此必不能包含边db,因此边be必须被包含,从而节点9也只含一个可能解 d a b e c d 其长度为21,比BEST值小,因此须更新BEST的值为21. 节点4的下限为20.5,因为边长都为整数所以节点4的下限应为21,等于BEST现在的值,从而节点4的子节点也不必考虑了。 因此图中只有节点3需要考虑。;按

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档