6-1分支限界法

本文深入探讨了分支限界法与回溯法的区别,强调分支限界法旨在寻找单个最优解或解。内容涵盖分支限界的基本思想、搜索方式以及广度优先和最小耗费优先策略。此外,还介绍了两种常见的分支限界法实现——队列式和优先队列式,并阐述了剪枝方法和算法结束控制策略。通过对解的构造和存储方式的讨论,帮助读者全面理解分支限界法在解决最优化问题中的应用。
摘要由CSDN通过智能技术生成

6-1分支限界法

1.分支限界法与回溯法的不同

(1)求解目标:
回溯法的求解目标是找出解空间树中满足约束条件的所有解(或一个最优解),
而分支限界法的求解目标则是找出满足约束条件的一个解(或最优解)。
(2)搜索方式的不同∶
回溯法以深度优先的方式搜索解空间树,
而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。

2.分支限界法基本思想

广度优先最小耗费(最大效益)优先的方式搜索问题的解空间树。
每个活结点只有一次机会成为扩展结点并一次性产生其所有儿子结点。
儿子结点中导致不可行解或非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。
如是最小耗费优先,活结点表需要重新排序。
此后从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。

3.广度优先和最小耗费优先的区别

在这里插入图片描述

4.常见的两种分支限界法

(1)队列式(FIFO)分支限界法
按照队列先进先出(FIFO)原则选取下一个结点为扩展结点。
(2)优先队列式分支限界法
按照优先队列中规定的优先级选取优先级最高的结点成为当前扩展结点。

5.小结

1.队列式:活结点表是一个队列,新扩展出的满足条件的活结点追加在队尾。
这里需要加入层次标志(如-1),或记录下层编号在活结点中。
2.优先队列式∶活结点表是优先队列,一般使用堆(大顶堆或小顶堆)存储,
优点是只需要O(logn )时间复杂性完成插入或者删除(取堆顶结点,即优先级最高的结点)
3.构造解方法:活结点通过记录其父节点地址,及左孩子标志去构造最优解。
在找到最优值时,回溯方法找到最优解。也可在扩展出的结点中记录构造的解,如问题规模较大时,应考虑压缩存储。
4.分支限界法的剪枝方法:
(1)对于子集树,左右分支剪枝策略不同,
(2)对于排列树,n叉树,剪枝策略是相同的。
5.算法的结束控制:
(1)队列式分支限界,活结点表为空
(2)优先队列式,叶子结点成为扩展结点(在确认后面的活结点不存在更好的解)或队列为空。通常叶子结点加入优先队列中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清木!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值