网站首页 > 精选文章 正文
“分枝界限法”把问题的可行解展开如树的分枝,再经由各个分枝中寻找最佳解。
采用广度优先产生状态空间树的结点,并使用剪枝函数的方法称为分枝限界法。
所谓“分支”是采用广度优先的策略,依次生成扩展结点的所有分支(即:儿子结点)。
所谓“限界”是在结点扩展过程中,计算结点的上界(或下界),边搜索边减掉搜索树的某些分支,从而提高搜索效率。
分支定界法设计思想:
- 先确定一个合理的定界函数
- 由定界函数确定目标函数的界【down,up】
- 仍以穷举法的解空间树为基础,但以广度优先的原理搜索该节点的所有孩子节点,分别估算这些孩子节点的目标函数的可能取值决定取舍
- 如果某孩子节点的目标函数可能取值超出目标函数的界,则将其丢弃,因为从这个节点生成的解不会比目前已经得到的解更好;否则,将其加入待处理节点表(PT表,简称活节点表)
- 一次从PT表中选取使目标函数取极值的节点成为当前扩展的节点,重复上述过程,直到找到最优解。
目标函数的界【down,up】的确定:
- 对最大化问题
up由定界函数确定,down由眸子启发方式得到,如贪心算法
- 对最小化问题
donw由定界函数得到,up由某种启发方式得到,如贪心算法
分支定界法复杂性:
- 一个更好的定界函数,通常需要花费更多的时间计算相应的目标函数值,而且对于具体的问题实例,通常需要进行大量的实验,才能确定一个好的定界函数;
- 由于分支定界法对解空间树中节点的处理是跳跃式的,因此,在搜索到某个叶子节点得到最优解时,为了从该叶子节点求出对应的最优解中的各个分量,需要对每个扩展节点保存该节点到根节点的路径
- 算法需要维护一个待处理节点PT表,并且需要在PT表中快速查找取得极值的节点,等等。这都需要较大的存储空间,在最坏的情况下,分支定界法需要的空间复杂性是指数级的。
- 上一篇: 只需数小时快速诊断结核(结核快速诊断方法)
- 下一篇: ER图怎么画?(er图怎么画用什么软件)
猜你喜欢
- 2025-03-13 只需数小时快速诊断结核(结核快速诊断方法)
- 2025-03-13 原神:鹤观岛全部(幻影任务)攻略,一共有250原石
- 2025-03-13 修谱中的世系分段、分支和分卷(宗谱世系排列)
- 2025-03-13 汇总纳税企业,信息报告网上办理指南来啦
- 2025-03-13 云效Codeup怎么创建分支并进行分支管理
- 2025-03-13 #春雨润苗 助力小微#电子税务局办税攻略┃如何查询企业主管税务机关?(1月第二期)
- 2025-03-13 点亮新技能!电子税务局中可查验企业所得税汇总纳税分支机构所得税分配表啦
- 最近发表
-
- 一文讲透支付宝沙箱的基本应用(支付宝沙箱是干什么的)
- 管理系统 UI 设计,怎样让操作效率提升 50%?
- 哎?你的Python代码怎么这么像TypeScript
- web前端培训需要多少时间(web前端培训需要多少时间完成)
- mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
- 大雨暴雨!考生注意,昆明将迎强降雨,最强时段在→
- 用Python写了一个上课点名系统(附源码)(自制考勤系统)
- 在uniapp中实现3D模型展示:基于Three.js的组件开发实践
- 细聊single-spa + vue来实现前端微服务项目
- springboot+Neo4j:快速搭建自己的知识图谱可视化构建平台
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)