贪心算法和分枝定界算法的区别

本文探讨了两种重要的算法策略——贪心算法和分支定界法。贪心算法在每一步选择最优解,但并不保证全局最优。而分支定界法通过广度优先搜索和剪枝操作,确保能找到整数规划问题的全局最优解。将两者结合,可以在某些情况下提升求解效率。
摘要由CSDN通过智能技术生成

1.贪心算法
贪心算法(贪婪算法)就是在对问题进行求解时,总是做出当前看起来最优的选择,就是不从整体上进行考虑,只是得到局部意义上的最优解。贪心不是对问题都能得到全局最优解,关键在于贪心策略的选择。
2.分枝定界算法
分枝定界算法(branch and bound)是一种求解整数规划问题的最常用的算法,它利用广度优先搜索策略搜索和迭代的方法,选择不同的分支变量和子问题进行分支。
**广度优先搜索策略搜索:**广度优先搜索(也称宽度优先搜索)是连通图的一种遍历算法这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。
也可以这么理解:*把全部可行解空间反复地分割为越来越小的子集,称为分支;设定一个或者多个约束条件,成为定界。*每次分枝之后,约束条件之外的子集就进行剪枝操作,这样可以减少相应的计算量。
当然,这里可以把分枝定界算法和贪心策略相结合,在常规广度分枝之和,约束条件利用贪心策略。寻找每一步的最短距离,并将其作为下一步的最优解,其他进行剪枝操作。这样就可以直接得出最优解,从而省去了上面贪心算法的运行多次,比较得出最优解的问题。
分支定界:重在分支与规定界限,贪心算法偏于分支定界的一个约束条件,比如最小,最短。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值