matlab求解非线性规划

matlab求解非线性规划

ID:9882878

大小:237.01 KB

页数:12页

时间:2018-05-12

matlab求解非线性规划_第1页
matlab求解非线性规划_第2页
matlab求解非线性规划_第3页
matlab求解非线性规划_第4页
matlab求解非线性规划_第5页
资源描述:

《matlab求解非线性规划》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB求解非线性规划无约束极值问题单变量函数求最小值的标准形式为s.t函数fminbnd格式x=fminbnd(fun,x1,x2)%返回自变量x在区间上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄。函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。x=fminbnd(fun,x1,x2,options)%options为指定优化参数选项[x,fval]=fminbnd(…)%fval为目标函数的最小值[x,fval,exitflag]=fminbnd(…

2、)%xitflag为终止迭代的条件[x,fval,exitflag,output]=fminbnd(…)%output为优化信息说明若参数exitflag>0,表示函数收敛于x,若exitflag=0,表示超过函数估计值或迭代的最大数字,exitflag<0表示函数不收敛于x;若参数output=iterations表示迭代次数,output=funccount表示函数赋值次数,output=algorithm表示所使用的算法。例1计算下面函数在区间(0,1)内的最小值。解:[x,fval,exitflag,output]=fminbnd('(x^3+cos(

3、x)+x*log(x))/exp(x)',0,1)x=0.5223fval=0.3974exitflag=1output=iterations:9funcCount:9algorithm:'goldensectionsearch,parabolicinterpolation'主程序为ex2.m:f='2*exp(-x).*sin(x)';fplot(f,[0,8]);%作图语句[xmin,ymin]=fminbnd(f,0,8)f1='-2*exp(-x).*sin(x)';[xmax,ymax]=fminbnd(f1,0,8)二次规划可以直接利用Matlab

4、来求解。Matlab中二次规划函数为:quadprog()。其调用格式为x=quadprog(H,C,A,b);x=quadprog(H,C,A,b,Aeq,beq);x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0);x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0,options);7例1minf(x1,x2)=-2x1-6x2+x12-2x1x2+2x22s.t.x1+x2≤2-x1+2x2≤2x1≥0,x2≥01、写成标准形式:2

5、、输入命令:H=[1-1;-12];c=[-2;-6];A=[11;-12];b=[2;2];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)3、运算结果为:x=0.66671.3333z=-8.2222s.t.81.首先建立M文件fun.m,定义目标函数F(X):functionf=fun(X);f=F(X);一般非线性规划其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步

6、骤分三步:93.建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下:(1)x=fmincon(‘fun’,X0,A,b)(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)(3)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)(6)[x,fval]=fmincon(...)(7

7、)[x,fval,exitflag]=fmincon(...)(8)[x,fval,exitflag,output]=fmincon(...)输出极值点M文件迭代的初值参数说明变量上下限10注意:[1]fmincon函数提供了大型优化算法和中型优化算法。默认时,若在fun函数中提供了梯度(options参数的GradObj设置为’on’),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。[2]fmincon函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉

8、格朗日Hessian矩阵。[3]fmi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。