2

我的教授给我们的一个问题遇到了麻烦:

一对丈夫和妻子正在旅行,并希望最大限度地利用随身携带某些物品的好处。老公可以带20公斤,老婆可以带17公斤。他们应该带什么?

在此处输入图像描述

这是我使用 '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;

这是我的结果: 输出

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

非常感激。

4

1 回答 1

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.
于 2013-10-09T22:06:05.343 回答