回 帖 发 新 帖 刷新版面

主题:高手帮一下忙

[color=00FFFF]有容积为1.5立方米的背包和6件物品。已知物品的价格分别为

0.7,0.5,0.4,0.6,0.8,0.55,物品的[/color]

哪位高手帮忙用MATLAB解答一下哈,感激不尽[em2]

回复列表 (共3个回复)

沙发


不好意思,错了[em10]

是有容积为1.5立方米的背包和6件物品。已知物品的价格分别为

0.7,0.5,0.4,0.6,0.8,0.55,物品的体积分别为0.35,0.3,0.6,0.4,0.7,0.5(立方米),确

定一种方案选取哪几件物品装入包内,可使背包所装物品的总价值最大?

板凳

背包问题,matlab7.0是没有整数规划函数的,所以要自己写,或去下一个现成的。
如果是仅仅针对这个小规模的不讲究算法的话,硬搜也很快。如果需要一点效率的话,找些智能算法,比如用matlab中的遗传工具箱比较方便,只需简单写个适应函数

3 楼

适应函数为:
function y=fitness(x)
value=[0.7,0.5,0.4,0.6,0.8,0.55];
volume=[0.35,0.3,0.6,0.4,0.7,0.5];
if volume*x'>1
    y=1;
else
    y=-value*x';
end
在gatool工具箱里选择嵌入该函数,同时把种族改成bit string,一运行就行了

答案为:0 1 0 0 1 0

我来回复

您尚未登录,请登录后再回复。点此登录或注册