ZKX's LAB

matlab 非线性约束优化 matlab非线性约束优化设计-求大神指教,最好能发个源程序供参考

2021-04-26知识3

matlab 非线性约束最优化问题,希望给出代码 先建立M文件fun.m定义目标函数:function f=fun(x)f=((x(1)+1)^2+4*(x(2)-1.5)^2)*((x(1)-1.2)^2+0.4*(x(2)-0.5)^2);再建立M文件mycon.m定义非线性约束:function[g,ceq]=mycon(x)g=[2*x(1)-x(1)*x(2)+5*x(2)-6;x(1)-x(2)+0.5;x(1)^2-4*x(2)^2+x(2)];ceq=0;主程序为:x0=[0;0];VLB=[0 0];VUB=[];[x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],VLB,VUB,'mycon2')结果为:x=0.59251.0925fval=1.6306exitflag=1output=iterations:5funcCount:18lssteplength:1stepsize:8.6939e-007algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:3.2838e-008constrviolation:1.6077e-011message:[1x144 char]

matlab优化非线性约束 将下面语句在matlab编辑器中保存为mycon.mfunction[c,ceq]=mycon(x)c=(300/210000*(1-x(1)/300))^3/x(2)^2-(300/210000*(1-x(1)/300))^3/(0.2+x(2))^2-0.000075;ceq=[];无等式约束在matlab窗口中输入:fun=’-x(1)*(0.02+x(2))/(2*(300-x(1)))+300/210000’;x0=[1 1];A=[];b=[];Aeq=[];beq=[];lb=[0 0];ub=[300 1];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mycon)

如何用matlab求解非线性约束优化问题先建立M文件fun.m定义目标函数:function f=fun(x)f=((x(1)+1)^2+4*(x(2)-1.5)^2)*((x(1)-1.2)^2+0.4*(x(2)-0.5)^2);再建立M文件mycon.m定义非线性约束:function[g,ceq]=mycon(x)g=[2*x(1)-x(1)*x(2)+5*x(2)-6;x(1)-x(2)+0.5;x(1)^2-4*x(2)^2+x(2)];ceq=0;

随机阅读

qrcode
访问手机版