




已阅读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): function ffun(x); ff(x); 若约束条件中有非线性约束: ,则建立M文件 nonlcon.m (2)定义函数: 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等于则程序停止于最大次数。 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓶栽速写课件
- 农村合作开发建房协议5篇
- 关于猪场技术托管协议6篇
- 琼剧鉴赏教学课件
- 杆线工程保护方案(3篇)
- 渡槽工程设备安装方案(3篇)
- 平南县东来农牧科技有限公司东华镇科技养殖园项目环评报告
- 农业温室项目2025年智能化温室大棚技术集成研究报告
- 农业温室智能化技术应用案例研究报告
- 猫咪饲养员岗前培训课件
- 2025年山东高考真题化学试题(原卷版)
- 2025秋新部编版一年级上册语文教学计划+教学进度表
- 大学英语四级高频词汇1500+六级高频词汇1500
- 高级食品生物化学脂类PPT
- 油气集输管线管道工程征地外协管理方案
- 《智慧农业》的ppt完整版
- CT图像伪影及处理
- 住宅给水设计秒流量计算举例
- DB11T 1893-2021 电力储能系统建设运行规范
- 诊所备案申请表格(卫健委备案)
- LANTEK兰特钣金软件手册(下)
评论
0/150
提交评论