matlab非线性规划教程

matlab非线性规划教程

ID:9882989

大小:317.51 KB

页数:0页

时间:2018-05-12

matlab非线性规划教程_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

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

1、非线性规划实验目的实验内容2、掌握用数学软件求解优化问题。1、直观了解非线性规划的基本内容。1、非线性规划的基本理论。4、实验作业。2、用数学软件求解非线性规划。3、钢管订购及运输优化模型*非线性规划的基本解法非线性规划的基本概念非线性规划返回定义如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题.非线性规划的基本概念一般形式:(1)其中,是定义在En上的实值函数,简记:其它情况:求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数化为上述一般形式.计算机求解方法1.首先建立M文件fun

2、.m,定义目标函数F(X):functionf=fun(X);f=F(X);其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步骤分三步:3.建立主程序.非线性规划求解的函数是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(

3、‘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)[x,fval,exitflag]=fmincon(...)(8)[x,fval,exitflag,output]=fmincon(...)输出极值点M文件迭代的初值参数说明变量上下限注意:[1]fmincon函数提供了大型优化算法和中型优化算法。默认时,若在fun函数中提供了梯度(

4、options参数的GradObj设置为’on’),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。[2]fmincon函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hessian矩阵。[3]fmincon函数可能会给出局部最优解,这与初值X0的选取有关。1、写成标准形式:s.t.2x1+3x26s.tx1+4x25x1,x20例22、先建立M-文件fun3.m:functionf=fun3(x);f=-x(1)-2

5、*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2MATLAB(youh2)3、再建立主程序youh2.m:x0=[1;1];A=[23;14];b=[6;5];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)4、运算结果为:x=0.76471.0588fval=-2.02941.先建立M文件fun4.m,定义目标函数:functionf=fun4(x);f=exp(x(1))*(4*x(1)^2+2*x(2)^

6、2+4*x(1)*x(2)+2*x(2)+1);x1+x2=0s.t.1.5+x1x2-x1-x20-x1x2–100例32.再建立M文件mycon.m定义非线性约束:function[g,ceq]=mycon(x)g=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];3.主程序youh3.m为:x0=[-1;1];A=[];b=[];Aeq=[11];beq=[0];vlb=[];vub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon

7、')MATLAB(youh3)3.运算结果为:x=-1.22501.2250fval=1.8951例41.先建立M-文件fun.m定义目标函数:functionf=fun(x);f=-2*x(1)-x(2);2.再建立M文件mycon2.m定义非线性约束:function[g,ceq]=mycon2(x)g=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];3.主程序fxx.m为:x0=[3;2.5];VLB=[00];VUB=[510];[x,fval,exitflag,output]=fmincon('fu

8、n',x0,[],[],[],[],VLB,VUB,'mycon2')MATLAB(fxx(fun))4.运算结果为:x=4.00003.0000fval=-11.0000exitflag=1output=iterations:4funcCount

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

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

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