当前位置: 首页 > news >正文

【算法】分支限界法和贪心、动态规划、回溯、分治法的区别是

什么是分支限界法

分支限界法是一种用于求解最优化问题的算法,其核心思想是通过剪枝策略减少搜索空间。
分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。
在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。
此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。

设计思路

设求解最大化问题,解向量为X=(x1,…,xn),xi的取值范围为Si,|Si|=ri。在使用分支限界搜索问题的解空间树时,先根据限界函数估算目标函数的界[down, up],然后从根结点出发,扩展根结点的r1个孩子结点,从而构成分量x1的r1种可能的取值方式。
对这r1个孩子结点分别估算可能的目标函数bound(x1),其含义:以该结点为根的子树所有可能的取值不大于bound(x1),即:
bound(x1)≥bound(x1,x2)≥…≥ bound(x1,…,xn)
若某孩子结点的目标函数值超出目标函数的下界,则将该孩子结点丢弃;否则,将该孩子结点保存在待处理结点表PT中。
再取PT表中目标函数极大值结点作为扩展的根结点,重复上述。
直到一个叶子结点时的可行解X=(x1,…,xn),及目标函数值bound(x1,…,xn)

常见分支限界法

(1)队列

http://www.dtcms.com/a/196884.html

相关文章:

  • 强化学习笔记(一)基本概念
  • 多模态学习(三)—— ROPE位置编码:从理论到实践
  • 文字溢出省略号显示
  • React 中,闭包陷阱
  • 8天Python从入门到精通【itheima】-14~16
  • 10 分钟打造一款超级马里奥小游戏,重拾20 年前的乐趣
  • Baklib知识中台构建企业智能服务新引擎
  • Linux安全篇 --firewalld
  • 使用教程:8x16模拟开关阵列可级联XY脚双向导通自动化接线
  • 江协科技GPIO输入输出hal库实现
  • 每日Prompt:生成自拍照
  • YOLOv8 目标检测算法深度解析
  • flutter长列表 ListView、GridView、SingleChildScrollView、CustomScrollView区别
  • 汽车Wafer连接器:工业设备神经网络的隐形革命者
  • 豆粕ETF投资逻辑整理归纳-20250511
  • c++函数调用运算符及类型转换运算符重载
  • 线程同步学习
  • JSP与JSTL:EL表达式与MVC分层模式的完美结合
  • 3D个人简历网站 5.天空、鸟、飞机
  • 院校机试刷题第五天:1912循环位移、1913礼炮车
  • SQL语句执行问题
  • 使用 Kaniko来构建镜像
  • Mysql 索引概述
  • Vue-事件修饰符
  • 怎么用Origin画出MATLAB效果的3D时频图
  • 哈希表(2):
  • 劳特巴赫trace32烧录方法
  • Compose笔记(二十三)--多点触控
  • JWT令牌验证
  • STM32入门笔记(06):STM32Cube 生态系统 (STM32CubeMX图形工具STM32CubeIDE 集成开发环境)(HAL库)