算法问题:

ROBOT 2003-05-15 09:07:53
有n个物品(Goods),每个物品有不同的重量(Weight)和价值(values),要求取出其中一部分物品,使其重量不超过一给定值(limitWeight),但价值最大(MaxValue)。如何取?
(不可用组合的方法)
...全文
30 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lucy198204 2003-06-02
可以用递归
回复
rappercn 2003-06-02
是“规划求解”问题吧?Excel2000已经内嵌了此功能:

----设某工厂生产甲乙两种产品,生产一种甲产品需要A、B、C三种原料的量分别为8、5、4,可获利润为9。生产一种乙产品需要A、B、C三种原料的量分别为6、5、9,可获利润为12。现在工厂中A、B、C三种原料的量分别为360、250、350,求生产甲、乙两种产品各多少才能使利润最大?最大利润是多少?
回复
of123 2003-06-02
并不简单。这是一个博弈问题,如果迭代遍历所有可能则计算量很大。
例如:取少量价值大重量也大的物品,还是取更多价值较小但重量也小的物品。
但是价重比的概念还是重要的。

是否这样处理?但不一定能得到最优解。
首先令总重量=0
1 所有物品按价重比(降序),重量(升序)排列。
2 总重量=总重量+第一项重量
3 如果超重,回到上一个总重量,跳到下一项,回到第二步
4 否则计算重量余额,并检索出所有重量小于余额的物品。回到第一步。
5 直到数据尾

如果要得到最优解,需要记录已有解的物品项号。重复以上步骤,但项号相同时不取,转向下一个可能项。

直至取得所有可能解,比较各个解的价值。
回复
ROBOT 2003-06-02
nobody can get it?
回复
zqfleaf 2003-05-16
有道理,再想想...
回复
ROBOT 2003-05-16
Re:zqfleaf(动力港湾)
这样办法没法办到:实际上当它们“价重比”比较接近时而重量不一时,一个“价重比”是毫无意义的。
回复
unrknight 2003-05-15
背包问题?
回复
zqfleaf 2003-05-15
1.按每一个价值/重量==价重比
从大到小排序,然后从上面取下来
2.考虑化整的问题。

比较笨的方法
回复
ROBOT 2003-05-15
此问题看似简单,, 但我想了好长时间(两天)也没得解。
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7490

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-15 09:07
社区公告
暂无公告