版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1分支限界法分支限界法 logo2v1 1 概述概述v2 2 分支限界法分支限界法v3 3 应用举例应用举例logo31. 1. 概述概述v搜索法搜索法 在动态产生问题的解空间,并搜索问题的可行在动态产生问题的解空间,并搜索问题的可行解或最优解。解或最优解。 在生成的结点中,抛弃那些不满足约束条件在生成的结点中,抛弃那些不满足约束条件(或者说不可能导出最优可行解)的结点。(或者说不可能导出最优可行解)的结点。v搜索方式搜索方式 深度优先搜索深度优先搜索 广度优先搜索广度优先搜索logo41. 1. 概述概述v方法方法1 1:深度优先搜索:深度优先搜索 通常深度优先搜索法不全部保留结点,扩展完通
2、常深度优先搜索法不全部保留结点,扩展完的结点从数据存储结构栈中弹出删去,这样,的结点从数据存储结构栈中弹出删去,这样,一般在数据栈中存储的结点数就是解空间树的一般在数据栈中存储的结点数就是解空间树的深度,因此它占用空间较少。深度,因此它占用空间较少。 所以,当搜索树的结点较多,用其它方法易产所以,当搜索树的结点较多,用其它方法易产生内存溢出时,深度优先搜索不失为一种有效生内存溢出时,深度优先搜索不失为一种有效的求解方法。的求解方法。logo51. 1. 概述概述v方法方法2 2:广度优先搜索:广度优先搜索 广度优先搜索算法,一般需存储产生的所有结广度优先搜索算法,一般需存储产生的所有结点,占用
3、的存储空间要比深度优先搜索大得多,点,占用的存储空间要比深度优先搜索大得多,因此,程序设计中,必须考虑溢出和节省内存因此,程序设计中,必须考虑溢出和节省内存空间的问题。空间的问题。 但广度优先搜索法一般无回溯操作,即入栈和但广度优先搜索法一般无回溯操作,即入栈和出栈的操作,所以运行速度比深度优先搜索快。出栈的操作,所以运行速度比深度优先搜索快。logo62.2. 分支限界法分支限界法采用广度优先产生状态空间树的结点,并使用剪采用广度优先产生状态空间树的结点,并使用剪枝函数的方法称为枝函数的方法称为分支限界法分支限界法。 所谓所谓“分支分支”是采用广度优先的策略,依次生是采用广度优先的策略,依次
4、生成扩展结点的所有分支(即:儿子结点)。成扩展结点的所有分支(即:儿子结点)。 所谓所谓“限界限界”是在结点扩展过程中,计算结点是在结点扩展过程中,计算结点的的上界上界(或(或下界下界),边搜索边减掉搜索树的某),边搜索边减掉搜索树的某些分支,从而提高搜索效率些分支,从而提高搜索效率logo7logo8不同的活结点表形成不同的分枝限界法:不同的活结点表形成不同的分枝限界法: fifofifo分支限界法分支限界法(队列式分支限界法):活结(队列式分支限界法):活结点表是先进先出队列点表是先进先出队列 lifolifo分支限界法分支限界法: :活结点表是堆栈活结点表是堆栈 最小耗费或最大收益法最小
5、耗费或最大收益法分支限界法分支限界法(优先队列(优先队列式分支限界法)式分支限界法): :活结点表是优先权队列,活结点表是优先权队列,lclc分支限界法将选取具有最高优先级的活结点出分支限界法将选取具有最高优先级的活结点出队列,成为新的扩展结点。队列,成为新的扩展结点。几种常见的分支限界法几种常见的分支限界法logo9logo102035201535301515logo11logo12 个元素的序列n,21nkkk 当且仅当满足下述关系时,称之为堆122iiiikkkk 或122iiiikkkk 2, 2 , 1ni堆logo13不可行的解:不可行的解:d d【1 1,1 1,1 1】, ,
6、j j【1 1,0 0,1 1】20201530logo14logo15【定界函数定界函数】如果一个如果一个节点的定界值不比当前节点的定界值不比当前最优旅行更小,则将被最优旅行更小,则将被删除而不被展开!删除而不被展开!306424141126【注注】活节点表采用堆结构活节点表采用堆结构35 4055211929logov假设有4个物品,重量分别是(4,7,5,3),价值分别是(40,42,25,12),背包容量是w=10。v单位重量价值分别为:(10,6,5,4)logologo18o队列式分支限界法程序框架队列式分支限界法程序框架o设t为状态空间树的根结点;初始化队列q;o将t入队;o循环
7、,直到队列q空(无解):o 结点e出队;o 若e是回答结点,则o 输出解或求解路径;o 否则o 检查e的所有子结点x:o 若x满足约束条件,则 o 将x入队;o 记录搜索路径;logo19v优先队列式分支限界法程序框架优先队列式分支限界法程序框架p设t为状态空间树的根结点;c(x)为耗费估计函数;初始化优先队列q;p计算c(t),并将t入队;p循环,直到队列q空(无解):p 结点e出队;p 若e是回答结点,则p 输出解或求解路径,求解结束;p 否则p 检查e的所有子结点x:p 若x满足约束条件,则p 计算c(x),并将x入队;p 记录搜索路径;logologo示例3 :装载问题1. 问题描述有
8、一批共个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为wi,且211ccwnii装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。 容易证明:如果一个给定装载问题有解,则采用下面的策略可得到最优装载方案。 (1)首先将第一艘轮船尽可能装满;(2)将剩余的集装箱装上第二艘轮船。 logo 问题描述:印刷电路板将布线区域划分成问题描述:印刷电路板将布线区域划分成n n* *m m个方格阵列。精确个方格阵列。精确的电路布线问题要求确定连接方格的电路布线问题要求确定连接方格a a的中点到方格的中点到方格b b的中点的最短布的中点的最短布
9、线方案。在布线时,电路只能沿直线或直角布线。为了避免线路相线方案。在布线时,电路只能沿直线或直角布线。为了避免线路相交,已布了线的方格做了封锁标记,其他线路不允许穿过被封锁的交,已布了线的方格做了封锁标记,其他线路不允许穿过被封锁的方格方格logo 布线问题适合采用队列式分支限界法来解决。布线问题适合采用队列式分支限界法来解决。 从起始位置从起始位置a a开始将它作为第一个扩展结点。与该结点相邻并且可达开始将它作为第一个扩展结点。与该结点相邻并且可达的方格被加入到活结点队列中,并且将这些方格标记为的方格被加入到活结点队列中,并且将这些方格标记为1 1,表示它们到,表示它们到a a的的距离为距离
10、为1 1 接着从活结点队列中取出队首作为下一个扩展结点,并将与当前扩展接着从活结点队列中取出队首作为下一个扩展结点,并将与当前扩展结点相邻且未标记过的方格标记为结点相邻且未标记过的方格标记为2 2,并存入活节点队列。这个过程一直,并存入活节点队列。这个过程一直继续到算法搜索到目标方格继续到算法搜索到目标方格b b或活结点队列为空时为止(表示没有通路)或活结点队列为空时为止(表示没有通路)logo最开始,队列中的活结点为标最开始,队列中的活结点为标1 1的格的格子,随后经过一个轮次,活结点变为标子,随后经过一个轮次,活结点变为标2 2的格子,以此类推,一旦的格子,以此类推,一旦b b方格成为活节方格成为活节点便表示找到了最优方案。为什么这条路点便表示找到了最优方案。为什么这条路径一定就是最短的呢?这是由于我们这个径一定就是最短的呢?这是由于我们这个搜索过程的特点所决定的,假设存在一条搜索过程的特点所决定的,假设存在一条由由a a至至b b的更短的路径,的更短的路径,b b结点一定会更早结点一定会更早地被加入到活结点队列中并得到处理。地被加入到活结点队列中并得到处理。 logo问题:问题:fifo搜索或搜索或lifo搜索也可以通过加入搜索也可以通过加入“限界限界”策略加速搜索,与优先队列式分支限界法策略加速搜索,与优先队列式分支限界法lc-检索检索的区别在哪儿呢?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某农产品加工厂生产流程优化
- 汽车制造厂生产流程细则
- 施工现场卫生管理与控制方案
- 施工过程中变更沟通方案
- 橡胶支座安装工艺培训方案
- 施工人员应急救护技能培训方案
- 电气安装施工规范与标准方案
- 河南省漯河市2025-2026学年中考化学模试卷(含答案解析)
- 江西省吉安市2026年中考联考化学试卷(含答案解析)
- 2024-2025学年度收银审核员考试综合练习含答案详解【典型题】
- 人音版《采花》教学设计
- PCI围术期强化他汀治疗的获益和机制课件
- 西宁市湟水河城区段水生态综合治理工程建设项目环评报告
- JJG 539-2016数字指示秤
- GB/T 33365-2016钢筋混凝土用钢筋焊接网试验方法
- 辽宁盘锦浩业化工“1.15”泄漏爆炸着火事故警示教育
- GB/T 14536.6-2008家用和类似用途电自动控制器燃烧器电自动控制系统的特殊要求
- GB/T 1408.3-2016绝缘材料电气强度试验方法第3部分:1.2/50μs冲击试验补充要求
- 《乡风文明建设》(王博文)
- 《安娜·卡列尼娜》-课件-
- 《中级电工培训》课件
评论
0/150
提交评论