精通MATLAB最优化计算一书的课件第5.ppt

上传人:本田雅阁 文档编号:2569288 上传时间:2019-04-10 格式:PPT 页数:26 大小:1.47MB
返回 下载 相关 举报
精通MATLAB最优化计算一书的课件第5.ppt_第1页
第1页 / 共26页
精通MATLAB最优化计算一书的课件第5.ppt_第2页
第2页 / 共26页
精通MATLAB最优化计算一书的课件第5.ppt_第3页
第3页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《精通MATLAB最优化计算一书的课件第5.ppt》由会员分享,可在线阅读,更多相关《精通MATLAB最优化计算一书的课件第5.ppt(26页珍藏版)》请在三一文库上搜索。

1、精通MATLAB最优化计算,清华大学 龚纯 2009.4,ISBN:978-7-121-08251-1,本书的主要内容是应用MATLAB来解决最优化问题,通过将“最优化问题”、“MATLAB优化工具箱”和“MATLAB编程”这三方面有机结合进行讲述,即一方面是使用工具箱来快速解决最优化问题,另一方面是通过算法编程深入解决最优化问题。 本书侧重于最优化算法的MATLAB实现,同时精选了大量的最优化问题实例,通过实例的求解,生动地教会读者掌握MATLAB在最优化问题方面的应用。 通过本书,读者不仅能掌握使用MATLAB最优化工具箱来快速解决实际问题,而且能学会分析优化算法和采用MATLAB编程解决

2、最优化问题,从而提高分析和解决问题的能力。 本书可作为信息、数学、经济、金融、管理、运筹、统计、计算机以及有关理工科专业的本科生、研究生作为教材、实验或教学参考书,也可供相关工程技术与管理人员、数学建模爱好者参考。,内容简介,本书导读图,本书使用指南,给读者的建议,本书主要特色,1内容由浅入深、层次性强 2紧密围绕MATLAB,系统性强 3算法程序及实例丰富,实用性强 4算法编程实现,指导性强 5语言简洁精炼,可读性强,5.1 工具箱概述 5.1.1 工具箱的功能 5.1.2 工具箱的新特色 5.1.3 工具箱的结构 5.2 工具箱函数 5.3 GUI优化工具 5.3.1 GUI优化工具的启动

3、 5.3.2 GUI优化工具的界面 5.3.3 GUI优化工具使用步骤 5.3.4 GUI优化工具应用实例 5.4 小结,第 5章 MATLAB优化工具箱,5.1.1 工具箱的功能,优化工具箱主要可以用于解决以下问题: (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题; (3)求解二次规划和线性规划问题; (4)非线性最小二乘逼近和曲线拟合; (5)非线性系统的方程求解; (6)约束条件下的线性最小二乘优化; (7)求解复杂结构的大规模优化问题。,5.1.2 工具箱的新特色,MATLAB R2008b提供的优化工具箱是

4、4.1版本,4.1版本较之以前的3.x版本,主要增加了以下新的特色。 (1)函数fmincon、fminimax和fgoalattain中引入了并行机制,加快了梯度的计算速度; (2)函数gatool和psearchtool 整合到优化工具箱GUI中; (3)函数fmincon的求解器中新增内点算法; (4)提供了KNITRO优化库的接口; (5)函数lsqcurvefit、lsqnonlin和fsolve的优化选项参数PrecondBandWidth默认值由0变为inf; (6)优化选项参数TolConSQP的默认值修改为1e6; (7)输出结构中引入了参数constrviolation。,

5、5.1.3 工具箱的结构,5.2 工具箱函数,函数输入参数,函数输出参数,模型输入时需要注意的问题,(1)目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。 (2)约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的。 (3)避免使用全局变量ce Model.vi”等VI来实现。,5.3 GUI优化工具,优化工具(optimtool)是2006年9月在MATLAB 7.2版本优化工具箱3.

6、1版本中推出的,它是执行下列常见优化任务的图形用户界面。 选择求解器并定义优化问题; 设置和检查优化选项; 运行问题并将结果可视化; 在MATLAB工作空间和优化工具之间导入和导出问题定义、算法选项和结果; 自动生成M文件代码,以获取工作并自动执行任务; 带有图形选项,用来显示对求解器执行期间进度的预定义或自定义测量标准。,5.3.1 GUI优化工具的启动,图5-2 优化工具图形界面的菜单启动方式,图5-3 优化工具图形界面,启动GUI Optimization tool有以下两种方法。 (1)在命令行上输入optimtool; (2)在MATLAB主界面单击左下角的“Start”按钮,然后依

7、次选择“ToolboxesOptimizationOptimization tool(optimtool)。,5.3.2 GUI优化工具的界面,GUI优化工具的界面主要分为三大块: 左边为优化问题的描述及计算结果显示(Problem Setup and Results); 中间为优化选项的设置(Options); 右边为帮助(Quick Reference)。 为了界面的简洁,可以单击右上角的“”按钮将帮助隐藏起来。,2优化选项 GUI优化工具的优化选项包括9大类。 Stopping criteria:停止准则; Function value check:函数值检查; User-supplie

8、d derivatives:用户自定义微分(或梯度)函数; Approximated derivatives:自适应微分(或梯度); Algorithm settings:算法设置; Inner iteration stopping criteria:内迭代停止准则; Plot functions:用户自定义绘图函数; Output functions:用户自定义输出函数; Display to command window:输出到命令行窗口。,5.3.3 GUI优化工具使用步骤,GUI优化工具的基本使用步骤如下。 1、选择求解器solver和优化算法; 2、选定目标函数; 3、设定目标函数的

9、相关参数; 4、设置优化选项; 5、单击“Start”按钮,运行求解; 6、查看求解器的状态和求解结果; 7、将目标函数、选项和结果导入/导出。,5.3.4 GUI优化工具应用实例,例5-1 fminunc求解器应用实例。 例5-2 fminsearch求解器应用实例。 例5-3 fmincon求解器应用实例。 例5-4 lsqnonlin求解器应用实例。 例5-5 linprog求解器应用实例。 例5-6 ga求解器应用实例。,无约束优化(fminunc求解器),建立目标函数文件FunUnc.m文件: function y = FunUnc(x) y = x2 + 4*x -6; 然后启动优

10、化工具: 在Solver下拉选框中选择fminunc; Algorithm下拉选框中选择Medium scale; 目标函数栏输入FunUnc; 初始点输入0,其余参数默认; 单击Start按钮运行。,图5-5 无约束优化实例,无约束优化(fminsearch求解器),启动优化工具: 然后在Solver下拉选框中选择fminsearch; 目标函数栏输入(x)abs(x2-3*x+2); 初始点输入-7,其余参数默认; 单击Start按钮运行。 运行就可得到极小值和对应的值,图5-7 用fminsearch求解非光滑优化问题,约束优化(fmincon求解器),约束优化采用的求解器为fminco

11、n,可用的算法有三种:Trust region reflective(信赖域反射算法)、Active set(有效集算法)、Interior point(内点算法)。 启动优化工具: 在Solver下拉选框中选择fmincon; Algorithm下拉选框中选择Active set; 目标函数栏输入FunCon; 初始点输入10;10;10; 在约束条件的Linear inequalities输入框中输入A为-1 -2 -2;1 2 2,b为0;72,其余参数默认; 单击Start按钮运行。,非线性最小二乘优化(lsqnonlin求解器),启动优化工具: 在Solver下拉选框中选择lsqno

12、nlin; 算法采用L-M算法; 目标函数栏输入(x)x2+x-1;2*x2-3; 初始点输入5,其余参数默认; 单击Start按钮运行。 运行就可得到极小值和对应的值,线性规划(linprog求解器),线性规划采用的求解器为linprog,可用的算法有三种:Large scale(大规模算法)、Medium scale-simplex(中等规模-单纯形算法)和Medium scale-Active set(中等规模-有效集算法),当Medium scale-Active set算法时,还要提供初始点。 启动优化工具: 在Solver下拉选框中选择linprog; 算法采用Medium sca

13、le-simplex算法; 问题描述组框中的f输入-4;-1; 约束组框中的A输入-1 2;2 3;1 -1,b输入4;12;3,其余参数默认; 单击Start按钮运行。,智能优化算法(ga求解器),优化工具箱中的智能优化算法包括遗传算法(ga)和模拟退火算法(simulannealbnd),MATLAB中的ga求解器功能非常强大,既能求解无约束优化问题,也能求解约束优化问题,而且约束条件可以是非线性的,但是simulannealbnd求解器只能求解无约束优化问题。 在Solver下拉选框中选择ga; 在适应函数栏输入(x)x4-3*x3+x2-2; 变量个数输入1,其余参数默认; 单击Start按钮运行。,5.4 小结,本章全面介绍了优化工具箱函数的功能、语法,以及GUI优化工具的使用及实例,GUI优化工具是进行MATLAB最优化计算的最简洁、最容易掌握的工具,后面的章节还会对常用的工具箱的函数进行详细讲述,并辅以实例。 通过本章读者不仅对MATLAB优化工具箱函数的强大功能有一个初步了解,还为后面更具体的介绍及应用打下基础。,

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

当前位置:首页 > 其他


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