数学建模社区-数学中国

标题: Matlab求解非线性规划问题 [打印本页]

作者: Reciprocal    时间: 2014-8-13 11:56
标题: Matlab求解非线性规划问题

求解过程:

先编写M文件

function f = fun44(x)

f=-2.45*x+(x^2+x*y+x*z)/25000;

function[g,ceq] = mycon1(x)

g(1)=x-25000;

g(2)=y-20000;

g(3)=x+y+z-75000;

g(4)=20000-z;

ceq=0;

主程序:

x0=[0;0;0];lb=[0;0;20000];ub=[25000;20000;inf];A=[1;1;1];b=[75000];Aeq=[];beq=[];

   [x,fval]=fmincon('fun44',x0,A,b,Aeq,beq,lb,ub,'mycon1')

但为什么会这样:

Error using fmincon (line 295)

A must have 3 column(s)


求助各位大神,谢谢啦

作者: Reciprocal    时间: 2014-8-13 11:57
求助大神!!!
作者: madio    时间: 2014-8-13 12:03
这个代码错误太多了
作者: madio    时间: 2014-8-13 12:09

function f = fun44(x)
f=-2.45*x(1)+(x(1)^2+x(1)*x(2)+x(1)*x(3))/25000;

function[g,ceq] = mycon1(x)
g=zeros(1,4);
g(1)=x(1)-25000;
g(2)=x(2)-20000;
g(3)=x(1)+x(2)+x(3)-75000;
g(4)=20000-x(3);
ceq=[];

x0=[0;0;0];lb=[0;0;20000];ub=[25000;20000;inf];A=[1,1,1];b=[75000];Aeq=[];beq=[];
   [x,fval]=fmincon('fun44',x0,A,b,Aeq,beq,lb,ub,'mycon1')
作者: Reciprocal    时间: 2014-8-13 16:53
madio 发表于 2014-8-13 12:09
function f = fun44(x)
f=-2.45*x(1)+(x(1)^2+x(1)*x(2)+x(1)*x(3))/25000;

对了大神,为什么要定义zeros(4,1)而不是zeros(3,1)




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5