matlab做线性规划程序对,结果乱了

我的程序是这个c=[12;8;35];A=[3212;112;211];b=[30;7;14];vlb=[0;0;0];aeq=[000];beq=0[x,fval]=l... 我的程序是这个
c=[12;8;35];A=[3 2 12;1 1 2;2 1 1];
b=[30;7;14];vlb=[0;0;0];
aeq=[0 0 0];beq=0
[x,fval]=linprog(c,A,b,aeq,beq,vlb)
结果是
x =
1.0e-14 *
0.0489
0.2001
0.0514
fval =
3.9869e-14
实际结果
x =
4.0000
0.0000
1.5000
fval =
100.5000
展开
 我来答
lhmhz
高粉答主

2018-07-21 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7272 获赞数:17068

向TA提问 私信TA
展开全部

你的线性规划问题出错原因是,没有分清问题是求极大值还是极小值。从你的答案分析,你的问题应该是求极大值问题。即 max 12x1+8x2+35x3

所以,其代码应该这样来写。

c=[-12 -8 -35];

A=[3 2 12;1 1 2;2 1 1];

b=[30;7;14];

vlb=[0;0;0];

aeq=[];beq=[];

[x,fval]=linprog(c,A,b,aeq,beq,vlb)

运行结果

x1 = 4.0000;x2 = 0.0000;x3 = 1.5000

fval = -100.5000   %最大值为100.5,因为极小值问题的相反就是极大值问题。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式