第三讲 MATLAB优化工具箱(GUI)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-5-14
18
3.4 GUI优化工具应用实例
例5-1 例5-2 例5-3 例5-4 例5-5 例5-6
fminunc求解器应用实例。 fminsearch求解器应用实例。 fmincon求解器应用实例。 lsqnonlin求解器应用实例。 linprog求解器应用实例。 ga求解器应用实例。
2015-5-14
图5-7 用fminsearch求解非光滑优化问题Байду номын сангаас
21
约束优化(fmincon求解器)
约束优化采用的求解器为fmincon, 可用的算法有三种:Trust region reflective(信赖域反射算法)、 Active set(有效集算法)、 Interior point(内点算法)。
2015-5-14
19
无约束优化(fminunc求解器)
建立目标函数文件FunUnc.m文件: function y = FunUnc(x) y = x^2 + 4*x -6; 然后启动优化工具: 在Solver下拉选框中选择 fminunc; Algorithm下拉选框中选择 Medium scale; 目标函数栏输入@FunUnc; 初始点输入0,其余参数默认; 单击Start按钮运行。
M文件:function f=FunCon(x) f=-x(1)*x(2)*x(3);
启动优化工具: 在Solver下拉选框中选择fmincon; Algorithm下拉选框中选择Active set; 目标函数栏输入@FunCon; 初始点输入[10;10;10]; 在约束条件的Linear inequalities输 入框中输入A为[-1 -2 -2;1 2 2],b 2015-5-14 为 [0;72],其余参数默认;
图5-2 优化工具图形界面的菜单启动方式
16
图5-3 优化工具图形界面
3.2 GUI优化工具的界面
GUI优化工具的界面 主要分为三大块: 左边为优化问题的描 述及计算结果显示 (Problem Setup and Results); 中间为优化选项的设 置(Options); 右边为帮助(Quick Reference)。 为了界面的简洁,可 以单击右上角的“<<” 按钮将帮助隐藏起来。
2015-5-14 7
1 工具箱概 1.1 工具箱的功能
优化工具箱主要可以用于解决以下问题: (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包 括目标逼近问题、极大-极小值问题以及半 无限极小值问题; (3)求解二次规划和线性规划问题; (4)非线性最小二乘逼近和曲线拟合; (5)非线性系统的方程求解; (6)约束条件下的线性最小二乘优化; (7)求解复杂结构的大规模优化问题。
17
3.3 GUI优化工具使用步骤
GUI优化工具的基本使用步 骤如下。 1、选择求解器solver和优化 算法; 2、选定目标函数; 3、设定目标函数的相关参 数; 4、设置优化选项; 5、单击“Start”按钮,运行 求解; 6、查看求解器的状态和求 解结果; 7、将目标函数、选项和结 果导入/导出。
2015-5-14
9
1.3 工具箱的结构
2015-5-14
10
2 工具箱函数
2015-5-14
11
函数输入参数
2015-5-14
12
函数输出参数
2015-5-14
13
模型输入时需要注意的问题
(1)目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、 fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。 (2)约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)≤0, 通过对不等式取负可以达到使大于零的约束形式变为 小于零的不等式约束形式的目的。 (3)避免使用全局变量ce Model.vi”等VI来实现。
2015-5-14
6
第 三讲 MATLAB优化工具箱
1 工具箱概述 1.1 工具箱的功能 1.2 工具箱的新特色 1.3 工具箱的结构 2 工具箱函数 3 GUI优化工具 3.1 GUI优化工具的启动 3.2 GUI优化工具的界面 3.3 GUI优化工具使用步骤 3.4 GUI优化工具应用实例 4 小结
图5-5 无约束优化实例
2015-5-14
20
无约束优化(fminsearch求解器)
启动优化工具: 然后在Solver下拉选框中选择 fminsearch; 目标函数栏输入@(x)abs(x^23*x+2); 初始点输入-7,其余参数默认; 单击Start按钮运行。 运行就可得到极小值和对应的 值
2015-5-14 15
3.1 GUI优化工具的启动
启动GUI Optimization tool有 以下两种方法。 (1)在命令行上 输入optimtool; (2)在MATLAB 主界面单击左下角 的“Start”按钮, 然后依次选择 “Toolboxes→Opti mization→Optimiza tion tool(optimtool)。 2015-5-14
2015-5-14
23
线性规划(linprog求解器)
线性规划采用的求解器为linprog,可 用的算法有三种:Large scale(大规 模算法)、Medium scale-simplex (中等规模-单纯形算法)和Medium scale-Active set(中等规模-有效集算 法),当Medium scale-Active set算 法时,还要提供初始点。
2015-5-14
2.优化选项 GUI优化工具的优化选项包括9大类。 Stopping criteria:停止准则; Function value check:函数值检查; User-supplied derivatives:用户自定 义微分(或梯度)函数; Approximated derivatives:自适应微 分(或梯度); Algorithm settings:算法设置; Inner iteration stopping criteria:内迭 代停止准则; Plot functions:用户自定义绘图函数; Output functions:用户自定义输出函 数; Display to command window:输出到 命令行窗口。
启动优化工具: 在Solver下拉选框中选择linprog; 算法采用Medium scale-simplex算法; 问题描述组框中的f输入[-4;-1]; 约束组框中的A输入[-1 2;2 3;1 -1],b 输入[4;12;3],其余参数默认; 单击Start按钮运行。
2015-5-14 24
2015-5-14
14
3 GUI优化工具
优化工具(optimtool)是2006年9月在MATLAB 7.2版本 优化工具箱3.1版本中推出的,它是执行下列常见优化 任务的图形用户界面。 选择求解器并定义优化问题; 设置和检查优化选项; 运行问题并将结果可视化; 在MATLAB工作空间和优化工具之间导入和导出问题 定义、算法选项和结果; 自动生成M文件代码,以获取工作并自动执行任务; 带有图形选项,用来显示对求解器执行期间进度的预 定义或自定义测量标准。
22
非线性最小二乘优化(lsqnonlin求解器)
启动优化工具: 在Solver下拉选框中选择lsqnonlin; 算法采用L-M算法; 目标函数栏输入@(x)[x^2+x1;2*x^2-3]; 初始点输入5,其余参数默认; 单击Start按钮运行。 运行就可得到极小值和对应的值
智能优化算法(ga求解器)
优化工具箱中的智能优化算法包括 遗传算法(ga)和模拟退火算法 (simulannealbnd),MATLAB中的 ga求解器功能非常强大,既能求解 无约束优化问题,也能求解约束优 化问题,而且约束条件可以是非线 性的,但是simulannealbnd求解器只 能求解无约束优化问题。 在Solver下拉选框中选择ga; 在适应函数栏输入@(x)x^43*x^3+x^2-2; 变量个数输入1,其余参数默认; 单击Start按钮运行。
2015-5-14
26
《精通MATLAB最优化计算》
清华大学 龚纯
内容简介
本书的主要内容是应用MATLAB来解决最优化问题, 通过将“最优化问题”、“MATLAB优化工具箱”和 “MATLAB编程”这三方面有机结合进行讲述,即一 方面是使用工具箱来快速解决最优化问题,另一方面 是通过算法编程深入解决最优化问题。 本书侧重于最优化算法的MATLAB实现,同时精选了 大量的最优化问题实例,通过实例的求解,生动地教 会读者掌握MATLAB在最优化问题方面的应用。 通过本书,读者不仅能掌握使用MATLAB最优化工具 箱来快速解决实际问题,而且能学会分析优化算法和 采用MATLAB编程解决最优化问题,从而提高分析和 解决问题的能力。 本书可作为信息、数学、经济、金融、管理、运筹、 统计、计算机以及有关理工科专业的本科生、研究生 作为教材、实验或教学参考书,也可供相关工程技术 与管理人员、数学建模爱好者参考。
2
2015-5-14
本书导读图
2015-5-14
3
本书使用指南
2015-5-14
4
给读者的建议
2015-5-14
5
本书主要特色
1.内容由浅入深、层次性强 2.紧密围绕MATLAB,系统性强 3.算法程序及实例丰富,实用性强 4.算法编程实现,指导性强 5.语言简洁精炼,可读性强
2015-5-14 25
4 小结
本章全面介绍了优化工具箱函数的功能、语法, 以及GUI优化工具的使用及实例,GUI优化工 具是进行MATLAB最优化计算的最简洁、最容 易掌握的工具,后面的章节还会对常用的工具 箱的函数进行详细讲述,并辅以实例。 通过本章读者不仅对MATLAB优化工具箱函数 的强大功能有一个初步了解,还为后面更具体 的介绍及应用打下基础。
2015-5-14 8
1.2 工具箱的新特色
MATLAB R2008b提供的优化工具箱是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的默认值修改为1e–6; (7)输出结构中引入了参数constrviolation。