C语言背包问题求解(贪心方法)

慈云数据 2024-05-28 技术支持 40 0

问题描述

  • 有一个背包,背包容量是M=150。有7个物品,物品可以分割成任意大小。要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。
  • 物品:A    B    C    D    E    F    G
  • 重量:35  30   60  50   40  10  25
  • 价值:10  40   30  50   35  40  30

    算法描述:

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。

        贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

    问题分析

    1.目标函数: ∑pi最大,使得装入背包中的所有物品pi的价值加起来最大。

    2.约束条件:装入的物品总重量不超过背包容量:∑wi

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon