欢迎来到天天文库
浏览记录
ID:56280753
大小:60.00 KB
页数:2页
时间:2020-06-05
《用Matlab求解非线性规划.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用Matlab求解非线性规划1.无约束优化问题,其中向量的n个分量都是决策变量,称目标函数。用Matlab求解:先建立函数文件mbhs.m,内容是的表达式;再回到Matlab命令区输入决策变量初值数据x0,再命令[x,fmin]=fminunc(@mbhs,x0)如:的最优解是用Matlab计算,函数文件为functionf=mbhs(x)f=2*x(1)^2+3*x(2)^2;再输入初值x0=[1;1];并执行上述命令,结果输出为x=?fmin=?略。2.约束优化问题其中:向量的n个分量都是决策变量,称目标函数、等式约束函数、不等式约束函数、L下界、U上
2、界。用Matlab求解:先把模型写成适用于Matlab的标准形式约束条件中:把线性的式子提炼出来得前两个式子;后三个式子都是列向量。(如:)再建立两个函数文件:目标函数mbhs.m;约束函数yshs.m再回到Matlab命令区,输入各项数据及决策变量初值数据x0,执行命令[x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs)例:单位球内,曲面的上方,平面之上(不是上面),满足上述三个条件的区域记为D,求函数在D上的最大值、最大值点。解:(1)目标函数文件mbhs.mfunctionf=mbhs(x)f=-exp(x
3、(1)*x(2)*x(3))*sin(x(1)+x(2)-x(3))-exp(-x(1)*x(2))*cos(x(3)^2-1);(2)约束函数文件yshs.mfunction[g,h]=yshs(x)g=[x(1)^2+x(2)^2+x(3)^2-1;x(1)^2+x(2)^2-0.5-0.1*x(x)*x(2)-x(3)];h=[];(3)数据准备x0=[0.0;0.02;0.02];A=[];b=[];Aeq=[1,1,1];beq=0.08;L=[-1;-1;-1];U=[1;1;1];(4)执行命令[x,fmin]=fmincon(@mbhs,x
4、0,A,b,Aeq,beq,L,U,@yshs)(5)结果???
此文档下载收益归作者所有