分支定界法 python_分支定界法

分支定界法(branch and bound)是一种求解离散数据组合的最优化问题。该算法执行的效率取决于你所找的问题解空间的上下界,如果找到一个很紧凑的上下界进行剪枝操作,该算法的执行效率会非常高,因此它是最有可能在多项式时间内求解NP问题的算法。

使用分支定界算法的一般步骤为:

构造一棵搜索树,该搜索树指的是所有解空间,因此通过遍历该搜索树可以遍历到所有的解;

构造问题解的上下界,上界一般为之前求出的最优解,下界为无约束条件下当前搜索路径的最优解,上下界的主要作用是对搜索树进行剪枝;

通过回溯法遍历搜索树,并且不断更新上下界,如果当前解的下界已经超过上界,则进行剪枝;

遍历结束时,所求的解为最优解。

接下来通过一个实例来讲解分支定界算法:

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值