最大化给定方案的好处

时间:2013-10-09 16:32:08

标签: linear-programming lpsolve integer-programming

我在教授给我们的问题时遇到了麻烦:

丈夫和妻子正在旅行,并希望最大化带来某些物品的好处。丈夫可带20公斤,妻子可带17公斤。他们应该带什么?

enter image description here

这是我用'lp_solve'linux命令编写和运行的:

max 10 hs + 9 hl + 6 ha + 3 hb + 14 hr + 10 ws + 9 wl + 6 wa + 3 wb + 14 wr;

7 hs + 6 hl + 13 ha + 4 hb + 9 hr <= 20;
7 ws + 6 wl+ 13 wa + 4 wb + 9 wr <=17;

hs + ws <= 1;
hl + wl <= 1;
ha + wa <= 1;
hb + wb <= 1;
hr + wr <= 1;

bin hs,hl,ha,hb,hr,ws,wl,wa,wb,wr;

这是我的结果: Output

我的结果表明,丈夫应该拿起炉子和斧头,而妻子应该拿起灯和双筒望远镜。这是一个有效的结果,但它不是最有益的......有人可以向我解释我做错了吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

正在发生一些非常微妙的事情。您在:后缺少冒号max。因此lp_solver认为max是一个无界变量。你的目标函数值是让我失望的原因。

将目标函数修改为:

max: 10 hs + 9 hl + 6 ha + 3 hb + 14 hr + 10 ws + 9 wl + 6 wa + 3 wb + 14 wr;

您将获得正确的解决方案:

hs, ha, wl and wr will be 1.