非线性规划软件求解及案例分析.ppt_第1页
非线性规划软件求解及案例分析.ppt_第2页
非线性规划软件求解及案例分析.ppt_第3页
非线性规划软件求解及案例分析.ppt_第4页
非线性规划软件求解及案例分析.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,无约束极值问题的Matlab求解(0.5学时)有约束极值问题的Matlab求解(0.5学时)应用案例分析(1学时),第9讲非线性规划软件求解及应用案例,重点:Matlab求解非线性规划,案例分析。难点:应用建模及求解。基本要求:掌握无约束极值和有约束极值的Matlab求解,看懂教材中4.7,5.6的应用案例,结合实际问题用学的非线性规划求解方法建立模型并求解。,无约束极值问题的Matlab求解,优化工具箱是Matlab的关键部分,它是Matlab强大功能得以实现的载体和手段也是对Matlab基本功能的重要扩充其中,优化工具箱涉及函数的最小化或最大化问题,即函数的极值问题本节主要介绍求无约束非线性极值的主要函数格式。,一、用Matlab解一元函数的无约束优化问题设一元函数元约束优化问题为,常用格式如下:,x=fminband(fun,a,b);x=fminbnd(fun,a,b,options);x,fval=fminbnd();x,fval,exitflag=fminbnd();x,fval,exitflag,output=fminbnd();其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边,函数fminbnd的算法基于0618法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。,控制参数option的设置(1)Display:显示水平,取值为“off”时,不显示输出;取值为“iter”时,显示每次迭代的信息;取值为“final”时,显示最终结果。默认值为“final”。(2)MaxFunEvals:允许进行函数评价的最大次数,取值为整数。,(3)MaxIter:允许进行迭代的最大次数,取值为正整数。控制参数options可以通过函数optimset创建或修改。命令格式如下:options=optimset(optimfun),创建一个含所有参数名,并与优化函数optimfun相关的默认值的选项结构options。options=optimset(param1,value1,param2,value2,),创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的的参数取默认值。options=optimset(oldops,param1,value1,param2,value2,),创建名称为oldops的参数的拷贝,用指定的参数修改oldops中相应的参数。,例4-8对边长为3m的正方形铁板,在4个角剪去相等的正方形以制成方形无盖水箱,问如何剪法使水箱的容积最大?,Matlab命令窗口输入:,二、用MATLAB解无约束优化问题设无约束优化问题(一元或多元函数)标准形为,常用格式如下:x=fminunc(fun,x0);或x=fminsearch(fun,x0);,x=fminunc(fun,x0,options);或x=fminsearch(fun,x0,options);x,fval=fminunc();或x,fval=fminsearch()x,fval,exitflag=fminunc();或x,fval,exitflag=fminsearch();x,fval,exitflag,output=fminunc();或x,fval,exitflag,output=fminsearch();,说明:fminsearch是用单纯形法寻优。而对于fminunc的算法:(1)fminunc为无约束优化提供了大型优化和中型优化算法,由于options中的参数LargeScale控制;LargeScale=on(默认值),使用大型算法;LargeScale=off(默认值),使用中型算法。,(2)fminunc为中型优化算法的搜索方向提供了4种算法,由options中的参数HessUpdate控制:HessUpdate=bfgs(默认值),拟牛顿法的BFGS公式;HessUpdate=dfp,拟牛顿法的DFP公式;HessUpdate=steepdesc,最速下降法;(3)fminunc为中型优化算法的步长以为搜索提供了两种算法,由options中的参数LineSearchType控制:LineSearchType=quadcubic(默认值),混合的二次和三次多项式插值;LineSearchType=cubicpoly,三次多项式插值。,例4-9用MATLAB解一元约束优化问题,例4-10用Matlab解多元约束优化问题,有约束极值问题的Matlab求解,一、一般非线性规划一般非线性规划标准形为:其中:均为非线性函数组成的向量,用Matlab求解上述向题,基本步骤为:,(1)首先建立M文件funm,定义目标函数f(x):functionffun(x);ff(x);若约束条件中有非线性约束:,则建立M文件nonlcon.m,(2)定义函数:functionC,Ceq=nonlcon(x)C=Ceq=,(3)建立主程序,非线性规划求解的函数是fmincon,命令的基本格式如下:,x=fmincon(fun,x0,A,b);x=fmincon(fun,x0,A,b,Aeq,Beq,VLB,VUB,nonlcon,options);x,fval=fmincon();x,fval,exitflag,output,Lagrange=fmincon();,其中:x为最优解,fval为目标函数在解x处得值。exitflag:描述程序运行情况。exitflag大于。则程序收敛于解x。exitflag等于则程序停止于最大次数。Exitflag小于则问题无可行解。Output:输出程序运行的某些信息。Lambda:解x处的Lagrange乘子。,例5-9求下列非线性规划,解:方法一、转化成无约束极值问题,方法二、直接调用约束极值求解函数,(2)在Matlab命令窗口输入zcx59,即可求得解,(1)建立M文件,例5-10用Matlab求解下面问题,二、二次规划Matlab中二次规划的数学模型可表述如下:,这里是实对称矩阵,是列向量,是相应维数的矩阵。,Matlab中求解二次规划的命令格式;,x,fval=quadprog(H,f,A,b,Aeq,beq,LB,UB,x0,OPTIONS)x的返回值是向量,fval的返回值是目标函数在x处的值。(具体细节可以参看在Matlab指令中运行helpquadprog后的帮助)。,例5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论