精通MATLAB最优化计算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.3.1 GUI优化工具的启动
启动GUI Optimization tool有 以下两种方法。 (1)在命令行上 输入optimtool; (2)在MATLAB 主界面单击左下角 的“Start”按钮, 然后依次选择 “Toolboxes→Opti mization→Optimiza tion tool(optimtool)。
图5-5 无约束优化实例
无约束优化(fminsearch求解器)
启动优化工具: 然后在Solver下拉选框中选择 fminsearch; 目标函数栏输入@(x)abs(x^23*x+2); 初始点输入-7,其余参数默认; 单击Start按钮运行。 运行就可得到极小值和对应的 值
ห้องสมุดไป่ตู้
图5-7 用fminsearch求解非光滑优化问题
5.1.3 工具箱的结构
5.2 工具箱函数
函数输入参数
函数输出参数
模型输入时需要注意的问题
(1)目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、 fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。 (2)约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)≤0, 通过对不等式取负可以达到使大于零的约束形式变为 小于零的不等式约束形式的目的。 (3)避免使用全局变量ce Model.vi”等VI来实现。
图5-2 优化工具图形界面的菜单启动方式
图5-3 优化工具图形界面
5.3.2 GUI优化工具的界面
GUI优化工具的界面 主要分为三大块: 左边为优化问题的描 述及计算结果显示 (Problem Setup and Results); 中间为优化选项的设 置(Options); 右边为帮助(Quick Reference)。 为了界面的简洁,可 以单击右上角的“<<” 按钮将帮助隐藏起来。
5.3 GUI优化工具
优化工具(optimtool)是2006年9月在MATLAB 7.2版本 优化工具箱3.1版本中推出的,它是执行下列常见优化 任务的图形用户界面。 选择求解器并定义优化问题; 设置和检查优化选项; 运行问题并将结果可视化; 在MATLAB工作空间和优化工具之间导入和导出问题 定义、算法选项和结果; 自动生成M文件代码,以获取工作并自动执行任务; 带有图形选项,用来显示对求解器执行期间进度的预 定义或自定义测量标准。
5.3.4 GUI优化工具应用实例
例5-1 例5-2 例5-3 例5-4 例5-5 例5-6
fminunc求解器应用实例。 fminsearch求解器应用实例。 fmincon求解器应用实例。 lsqnonlin求解器应用实例。 linprog求解器应用实例。 ga求解器应用实例。
约束优化(fmincon求解器)
约束优化采用的求解器为fmincon, 可用的算法有三种:Trust region reflective(信赖域反射算法)、 Active set(有效集算法)、 Interior point(内点算法)。
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:输出到 命令行窗口。
5.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。
无约束优化(fminunc求解器)
建立目标函数文件FunUnc.m文件: function y = FunUnc(x) y = x^2 + 4*x -6; 然后启动优化工具: 在Solver下拉选框中选择 fminunc; Algorithm下拉选框中选择 Medium scale; 目标函数栏输入@FunUnc; 初始点输入0,其余参数默认; 单击Start按钮运行。
5.1.1 工具箱的功能
优化工具箱主要可以用于解决以下问题: (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包 括目标逼近问题、极大-极小值问题以及半 无限极小值问题; (3)求解二次规划和线性规划问题; (4)非线性最小二乘逼近和曲线拟合; (5)非线性系统的方程求解; (6)约束条件下的线性最小二乘优化; (7)求解复杂结构的大规模优化问题。
5.3.3 GUI优化工具使用步骤
GUI优化工具的基本使用步 骤如下。 1、选择求解器solver和优化 算法; 2、选定目标函数; 3、设定目标函数的相关参 数; 4、设置优化选项; 5、单击“Start”按钮,运行 求解; 6、查看求解器的状态和求 解结果; 7、将目标函数、选项和结 果导入/导出。