作业帮 > 数学 > 作业

matlab 求类似f=-3*x(1)+2*x(2)在x(1)、x(2)>0的最优解和最大值

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/09/24 20:35:23
matlab 求类似f=-3*x(1)+2*x(2)在x(1)、x(2)>0的最优解和最大值
c=[-3,2];
A=[-1,0;0,1];
b=[0,5];%
v=[0,0];%
[x,f,exitflag,output,lag]=linprog(c,A,b,[],[],v) %
结果:x =1.0e+010 * 2.0175 0.0000
f =-6.0525e+010
exitflag =-3
output = iterations:4 algorithm:'large-scale:interior point' cgiterations:0 message:[1x266 char]
lag = ineqlin:[2x1 double] eqlin:[0x1 double] upper:[2x1 double] lower:[2x1 double]
是啥意思?我想要得到Y=-3X1+2X2,X1>=0,X2
matlab 求类似f=-3*x(1)+2*x(2)在x(1)、x(2)>0的最优解和最大值
你的问题属于线性规划的问题.给你举个比较有代表性的例子吧.例如要求
z=0.043x1+0.027x2+0.025x3+0.022x4+0.045x5
的最大值.
需要满足如下条件:
x2+x3+x4>=400
(2x1+2x2+x3+x4+5x5)/(x1+x2+x3+x4+x5)
再问: 求你赶快帮忙啊 谢谢
再答: 怪我没说清楚,linprog是只能求解最小值的线性规划函数。 那么,你只需要把c矩阵取相反数,也就是: c=-[-3,2]; A=[-1,0;0,1]; b=[0,5];% v=[0,0];% [x,f,exitflag,output,lag]=linprog(c,A,b,[],[],v) % 就可以了,求出的结果,再取相反数取回来就行了, 明白了么?