算法——贪婪算法

思想:

贪婪算法(greedy method)采用逐步构造最优解的方法。在每个阶段,都作出一个看上去最优的决策(在一定的标准下)。决策一旦作出,就不可再更改。

作出贪婪决策的依据称为贪婪准则(greedy criterion)。

主要应用:

货船装箱

0/1背包

拓扑排序

二分覆盖

单源最短路径

最小生成树

具体实现:

1.       货船装箱

有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第 i 个货箱的重量为Wi1in),而货船的最大载重量为c,我们的目的是在货船上装入最多的货物。

解答:设存在一组变量Xi,其可能取值为01。如Xi 0,则货箱i将不被装上船;如Xi1,则货箱i 将被装上船。我们的目的是找到一组Xi,使它满足限制条件:

Xi 属于{0, 1}, 1in。相应的优化函数是  。满足限制条件的每一组Xi都是一个可行解,能使 取得最大值的方案是最优解。

C++代码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值