站长站素材scchinazcom - 算法设计与分析课程.ppt

站长站素材scchinazcom - 算法设计与分析课程.ppt

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

CHANGCHUN UNIVERSITY OF TECHNOLOGY 主讲教师:王涛 分支限界法 1 2 3 4 概述 图问题中的分支限界法 组合问题中的分支限界法 小结 分支限界法—概述 分支限界法按广度优先策略搜索问题的解空间树,在搜索过程中,对待处理的结点根据限界函数估算目标函数的可能取值,从中选取使目标函数取得极值(极大或极小)的结点优先进行广度优先搜索,从而不断调整搜索方向,尽快找到问题的解。 分支限界法适用于求解最优化问题。 确定一个合理的限界函数,并根据限界函数确定目标函数的界[down, up]。 按照广度优先策略搜索问题的解空间树,在分支结点上,依次扩展该结点的所有孩子结点,分别估算这些孩子结点的目标函数的可能取值,某孩子结点的目标函数的可能取值超出目标函数的界,则将其丢弃;否则,将其加入待处理结点表(以下简称表PT)中。 依次从表PT中选取使目标函数取得极值的结点成为当前扩展结点,重复上述过程,直至找到最优解。 9.1.1 分支限界法的设计思想 分支限界法需要解决的关键问题 如何确定合适的限界函数。(提示:计算简单,减少搜索空间,不丢解) 如何组织待处理结点表。(提示:表PT可以采用堆的形式,也可以采用优先队列的形式存储。各有什么特点?) 如何确定最优解的各个分量。(提示:跳跃式处理解空树结点,必须保存搜索过程中经过的路径信息。) 回溯法从根结点出发,按照深度优先策略遍历问题的解空间树。 分支限界法按广度优先策略搜索问题的解空间树。 二者与蛮力法区别? 回溯法与分支限界法区别? 9.1.2 分支限界法的时间性能 在最坏情况下,时间复杂性为指数阶。与回溯法不同的是,分支限界法首先扩展解空间树中的上层结点,并采用限界函数,有利于实行大范围剪枝,同时,根据限界函数不断调整搜索方向,选择最有可能取得最优解的子树优先进行搜索。 类比回溯法来分析分支限界法的时间性能。 分支限界法的较高效率是以付出一定代价为基础的,其工作方式也造成了算法设计的复杂性。 一个简单的例子—圆排列问题 问题描述:给定n个圆的半径序列,将这些圆放到一个矩形框中,各圆与矩形框的底边相切,则圆的不同排列会得到不同的排列长度,要求找出具有最小长度的圆排列。 想法:采用分支限界法求解圆排列问题,首先设计限界函数,然后在搜索过程中选择使目标函数取得极值的结点优先进行扩充。 问题描述:TSP问题是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短。 图问题中的分支限界法—TSP问题 想法: 确定目标函数的界[down, up] 。(提示:如何确定上、下界?) 确定目标函数值的计算方法(限界函数)。 基于上、下界,按分支限界法设计思想,搜索解空间树,得到最优解。 图9.5(a)所示是一个带权无向图,(b)是该图的代价矩阵。 2 7 1 5 6 3 1 3 4 2 5 3 9 8 4 C= ∞ 3 1 5 8 3 ∞ 6 7 9 1 6 ∞ 4 2 5 7 4 ∞ 3 8 9 2 3 ∞ (a) 一个无向图 (b) 无向图的代价矩阵 图9.4 无向图及其代价矩阵 1.确定问题的上界16,下界14。 如何设计求上、下界策略? 2.确定限界函数计算方法 一般情况下,假设当前已确定的路径为U=(r1, r2, …, rk),即路径上已确定了k个顶点,此时,该部分解的目标函数值的计算方法如下: 3.基于分支限界法的思想,从根结点开始依次计算目标函数值加入待处理结点表中直至叶子结点。 4 1→2 lb=14 2 3 5 6 7 8 1 × start lb=14 1→3 lb=14 1→4 lb=16 1→5 lb=19 2→3 lb=16 2→4 lb=16 2→5 lb=19 3→2 lb=16 3→4 lb=15 3→5 lb=14 × 9 1 1 图9.6 分支限界法求解TSP问题示例 (×表示该结点被丢弃,结点上方数字表示搜索顺序) 5→2 lb=19 5→4 lb=14 1 1 × 4→2 lb=16 1 4→2 lb=18 4→5 lb=15 1 1 × 5→2 lb=20 1 × 1. 根据限界函数计算目标函数的下界down;采用贪心法得到上界up; 2. 计算根结点的目标函数值并加入待处理结点表PT; 3. 循环直到某个叶子结点的目标函数值在表PT中取得极小值 3.1 i = 表PT中具有最小值的结点; 3.2 对结点i的每个孩子结点x执行下列操作: 3.2.1 估算结点x的目标函数值lb; 3.2.2 若(lb=up),则将结点x加入表PT中;否则丢

文档评论(0)

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

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

1亿VIP精品文档

相关文档