第11讲非线性规划软件求解及案例分析.ppt

上传人:本田雅阁 文档编号:2070026 上传时间:2019-02-10 格式:PPT 页数:21 大小:260.01KB
返回 下载 相关 举报
第11讲非线性规划软件求解及案例分析.ppt_第1页
第1页 / 共21页
第11讲非线性规划软件求解及案例分析.ppt_第2页
第2页 / 共21页
第11讲非线性规划软件求解及案例分析.ppt_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第11讲非线性规划软件求解及案例分析.ppt》由会员分享,可在线阅读,更多相关《第11讲非线性规划软件求解及案例分析.ppt(21页珍藏版)》请在三一文库上搜索。

1、,无约束极值问题的Matlab求解 (0.5学时) 有约束极值问题的Matlab求解 (0.5学时) 应用案例分析 (1学时),第9讲 非线性规划软件求解及应用案例,重 点:Matlab求解非线性规划,案例分析。 难 点:应用建模及求解。 基本要求:掌握无约束极值和有约束极值的Matlab求解, 看懂教材中4.7,5.6的应用案例,结合实际问题用学的 非线性规划求解方法建立模型并求解。,无约束极值问题的Matlab求解,优化工具箱是Matlab的关键部分,它是Matlab强大功能得以实现的载体和手段也是对Matlab基本功能的重要扩充其中,优化工具箱涉及函数的最小化或最大化问题,即函数的极值问

2、题本节主要介绍求无约束非线性极值的主要函数格式 。,一、 用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的

3、设置 (1)Display:显示水平,取值为“off”时,不显示输出;取值为“iter”时,显示每次迭代的信息;取值为“final”时,显示最终结果。默认值为“final”。 (2)MaxFunEvals:允许进行函数评价的最大次数,取值为整数。,(3)MaxIter:允许进行迭代的最大次数,取值为正整数。控制参数options可以通过函数optimset创建或修改。命令格式如下: options=optimset(optimfun),创建一个含所有参数名,并与优化函数optimfun相关的默认值的选项结构options。 options=optimset(param1,value1, par

4、am2,value2,),创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的的参数取默认值。 options=optimset(oldops, param1,value1, param2,value2,),创建名称为oldops的参数的拷贝,用指定的参数修改oldops中相应的参数。,例4-8对边长为3m的正方形铁板,在4个角剪去相等的正方形以制成方形无盖水箱,问如何剪法使水箱的容积最大?,Matlab命令窗口输入:,二、 用MATLAB解无约束优化问题 设无约束优化问题(一元或多元函数)标准形为,常用格式如下: x=fminunc(fun,x0);或x=fmi

5、nsearch(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为无

6、约束优化提供了大型优化和中型优化算法,由于options中的参数LargeScale控制; LargeScale=on(默认值),使用大型算法; LargeScale=off(默认值),使用中型算法。,(2)fminunc为中型优化算法的搜索方向提供了4种算法,由options中的参数HessUpdate控制: HessUpdate=bfgs(默认值),拟牛顿法的BFGS公式; HessUpdate=dfp,拟牛顿法的DFP公式; HessUpdate=steepdesc,最速下降法; (3)fminunc为中型优化算法的步长以为搜索提供了两种算法,由options中的参数LineSearch

7、Type控制: LineSearchType=quadcubic(默认值),混合的二次和三次多项式插值; LineSearchType=cubicpoly, 三次多项式插值。,例4-9 用MATLAB解一元约束优化问题,例4-10 用Matlab解多元约束优化问题,有约束极值问题的Matlab求解,一、 一般非线性规划 一般非线性规划标准形为: 其中: 均为非线性函数组成的向量,用Matlab求解上述向题,基本步骤为:,(1)首先建立M文件funm,定义目标函数f(x): function ffun(x); ff(x); 若约束条件中有非线性约束: ,则建立M文件nonlcon.m,(2)定义

8、函数: function C,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等于则程序停止于最大次数

9、。 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指令中运行help quadprog后的帮助)。,例5-11 求解二次规划,应用案例分析,1 生产安排问题(无约束极值问题) 2 选址问题(有约束极值问题) 3 港口起重机工作机构优化设计(有约束极值问题) (内容包括:背景资料,建立数学模型, 软件求解及结果分析建立数学模型),作业: 习题4 3,5 (3),6, 习题5 8, 用Matlab求解习题5 2-5,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1