[10]分支限界法策略.ppt

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

*分支限界法*内容1.宽度优先搜索2.代价树搜索3.启发函数与估价函数4.应用例子背包问题任务调度问题TSP问题*引言分枝限界法的基本思想代价树搜索+剪枝策略分枝限界法求解的问题类型以优化问题为主*分支限界算法的基本要素解空间的树形表示0/1背包问题:子集树旅行商问题:排列树n皇后问题:满n叉树剪枝操作约束剪枝,优化目标函数剪枝节点评估函数定义及计算(即定义结点的优先级别)决定挑下一个处理节点的优先级*设计分枝限界法的基本步骤1.将解空间表示成一棵树T(解空间树)求解问题转化为在树T中搜索解对应的树结点2.定义剪枝操作考虑约束条件和目标值优化两方面3.定义每个节点成本函数4.搜索算法宽度优先搜索代价树搜索最佳优先搜索(best-firstsearch)*1.宽度优先搜索宽度优先搜索结果ABCDEFGHIJK算法框架?*算法:宽度优先搜索??functionwidth_first(?x0)????open={x0}//根节点放在open表中????while(open≠NULL)?????????????x=GetFromHead(open)VisitFun(x)//处理节点x???????????CA=Expand(x)??//扩展节点x,CA是节点x的子节点集合???????????if(CA=NULL)?????//CA为空,表示节点x不可扩展???????????????????countinue???????????endif????????????InsertToTail(open,CA)??????endwhileendfunction*2.代价树(图)搜索代价树概念代价数:在一棵树中,父节点到子节点之间有一个数值,这个数值,对不同的问题,表示不同的涵义。*代价的表示:用g(x)表示从根节点到任意节点“x”的代价C(x1,x2)表示从节点x1到x2的代价(边代价)则x2的总代价为:g(x2)=g(x1)+C(x1,x2)例如对右图:g(1)=0g(2)=g(1)+c(1,2)=5g(3)=g(2)+c(2,3)=5+3=8…g(6)=g(2)+c(2,6)=5+4=97232*functioncost_width_first(?x0)????open={x0}????while(open≠NULL)?????????????x=SelecFromHead(open)//从open头部选择一个节点x,并从open表中删除该节点???????????closed=closed∪{x}????//将节点x插入集合closed中???????????CA=expand(x)??//扩展节点x,CA是节点x的子节点集合???????????if(CA=NULL)?????//A为空,表示节点x不可扩展???????????????????countinue???????????endif???????????foreach(ninCA)?????????????????n.parent=x;//或者n.prev=x?,配置集合A中每个节点的指针???????????endfor???????????CA=CA-closed??//从A中删除在closed表中已经出现过的节点???????????CA=calculateCost(CA)//计算A中每个节点的代价函数值???????????CI=CA∩open????????for(ninCI)s=find(open,n)if(s.costn.cost)s.cost=n.costendforCA=CA-CI????????????open=Insert(open,CA)???//将子集合A插入open表中???????????open=sort(open)?//对open表中每个节点按代价值进行升序排序?????endwhileendfunction*3.启发式搜索启发式搜索:利用问题本身的特征信息,指导搜索朝着最有希望的进行搜索过程的关键:如何确定下一个要考察的节点!确定节点方法不同:形成不

文档评论(0)

金华 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档