数学建模社区-数学中国
标题: 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 |