作业帮 > 综合 > 作业

非常急!matlab如何完成非线性约束优化!

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/17 07:02:35
非常急!matlab如何完成非线性约束优化!
目标函数是:x*(0.02+y)/(2*(300-x))-300/210000最大值
约束条件是:
0=
非常急!matlab如何完成非线性约束优化!
将下面语句在matlab编辑器中保存为mycon.m
function [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)
再问: 非常感谢,计算出来了,但是初值不一样,结果不一样,是局部优化和全局优化的区别吗?
再答: 是的,初值不同,结果有差异