
GUI优化工具箱的使用.ppt
17页5.1.1 5.1.1 工具箱的功能工具箱的功能优化工具箱主要可以用于解决以下问题: l(1)求解无约束条件非线性极小值; l(2)求解约束条件下非线性极小值,包 括目标逼近问题、极大-极小值问题以及半 无限极小值问题; l(3)求解二次规划和线性规划问题; l(4)非线性最小二乘逼近和曲线拟合; l(5)非线性系统的方程求解; l(6)约束条件下的线性最小二乘优化; l(7)求解复杂结构的大规模优化问题 5.1.2 5.1.2 工具箱的结构工具箱的结构5.2 5.2 工具箱函数工具箱函数函数输入参数函数输入参数函数输出参数函数输出参数 模型输入时需要注意的问题模型输入时需要注意的问题 l(1)目标函数最小化l优化函数fminbnd、fminsearch、fminunc、fmincon、 fgoalattain、fminmax和lsqnonlin都要求目标函数最小化 l(2)约束非正l优化工具箱要求非线性不等式约束的形式为Ci(x)≤0, 通过对不等式取负可以达到使大于零的约束形式变为 小于零的不等式约束形式的目的5.3 GUI5.3 GUI优化工具优化工具 优化工具(optimtool)是2006年9月在MATLAB 7.2版本 优化工具箱3.1版本中推出的,它是执行下列常见优化 任务的图形用户界面。
l选择求解器并定义优化问题;l设置和检查优化选项;l运行问题并将结果可视化;l在MATLAB工作空间和优化工具之间导入和导出问题 定义、算法选项和结果;l自动生成M文件代码,以获取工作并自动执行任务; l带有图形选项,用来显示对求解器执行期间进度的预 定义或自定义测量标准 5.3.1 GUI5.3.1 GUI优化工具的启动优化工具的启动图5-2 优化工具图形界面的菜单启动方式 图5-3 优化工具图形界面 l启动GUI Optimization tool有 以下两种方法l(1)在命令行上 输入optimtool;l(2)在MATLAB 主界面单击左下角 的“Start”按钮,然 后依次选择 “Toolboxes→Optim ization→Optimizati on tool(optimtool) 5.3.2 GUI5.3.2 GUI优化工具的界面优化工具的界面lGUI优化工具的界面 主要分为三大块:l左边为优化问题的描 述及计算结果显示( Problem Setup and Results);l中间为优化选项的设 置(Options);l右边为帮助(Quick Reference)。
l为了界面的简洁,可 以单击右上角的“<<” 按钮将帮助隐藏起来 l2.优化选项lGUI优化工具的优化选项包括9大类 lStopping criteria:停止准则;lFunction value check:函数值检查;lUser-supplied derivatives:用户自定 义微分(或梯度)函数;lApproximated derivatives:自适应微 分(或梯度);lAlgorithm settings:算法设置;lInner iteration stopping criteria:内迭 代停止准则;lPlot functions:用户自定义绘图函数 ;lOutput functions:用户自定义输出函 数;lDisplay to command window:输出到 命令行窗口5.3.3 GUI5.3.3 GUI优化工具使用步骤优化工具使用步骤lGUI优化工具的基本使用步 骤如下l 1、选择求解器solver和优化 算法;l 2、选定目标函数; l 3、设定目标函数的相关参 数;l 4、设置优化选项;l 5、单击“Start”按钮,运行 求解;l 6、查看求解器的状态和求 解结果;l 7、将目标函数、选项和结 果导入/导出。
5.3.4 GUI5.3.4 GUI优化工具应用实例优化工具应用实例l例5-1fminunc求解器应用实例l例5-2fminsearch求解器应用实例l例5-3fmincon求解器应用实例l例5-4lsqnonlin求解器应用实例l例5-5linprog求解器应用实例l例5-6ga求解器应用实例无约束优化(无约束优化(fminuncfminunc求解器)求解器) 建立目标函数文件FunUnc.m文件 :lfunction y = FunUnc(x)ly = x^2 + 4*x -6;l然后启动优化工具:l在Solver下拉选框中选择 fminunc;lAlgorithm下拉选框中选择 Medium scale;l目标函数栏输入@FunUnc;l初始点输入0,其余参数默认;l单击Start按钮运行图5-5 无约束优化实例 无约束优化(无约束优化(fminsearchfminsearch求解器)求解器) l启动优化工具:l然后在Solver下拉选框中选择 fminsearch;l目标函数栏输入@(x)abs(x^2- 3*x+2);l初始点输入-7,其余参数默认 ;l单击Start按钮运行。
l运行就可得到极小值和对应的 值 图5-7 用fminsearch求解非光滑优化问题 约束优化(约束优化(fminconfmincon求解器)求解器) l约束优化采用的求解器为fmincon ,可用的算法有三种:Trust region reflective(信赖域反射算法)、 Active set(有效集算法)、 Interior point(内点算法) l启动优化工具:l在Solver下拉选框中选择fmincon;lAlgorithm下拉选框中选择Active set;l目标函数栏输入@ @(x) - x(1)*x(2)*x(3) ;l初始点输入[10;10;10];l在约束条件的Linear inequalities输 入框中输入A为[-1 -2 -2;1 2 2],b 为[0;72],其余参数默认;l单击Start按钮运行非线性最小二乘优化(非线性最小二乘优化(lsqnonlinlsqnonlin求解器求解器 )) l启动优化工具:l在Solver下拉选框中选择lsqnonlin ;l算法采用L-M算法;l目标函数栏输入@(x)[x^2+x- 1;2*x^2-3];l初始点输入5,其余参数默认;l单击Start按钮运行。
l运行就可得到极小值和对应的值 线性规划(线性规划(linproglinprog求解器)求解器) l线性规划采用的求解器为linprog,可 用的算法有三种:Large scale(大规 模算法)、Medium scale-simplex( 中等规模-单纯形算法)和Medium scale-Active set(中等规模-有效集算 法),当Medium scale-Active set算 法时,还要提供初始点 l启动优化工具:l在Solver下拉选框中选择linprog;l算法采用Medium scale-simplex算法 ;l问题描述组框中的f输入[-4;-1];l约束组框中的A输入[-1 2;2 3;1 -1],b 输入[4;12;3],其余参数默认;l单击Start按钮运行智能优化算法(智能优化算法(gaga求解器)求解器) l优化工具箱中的智能优化算法包括 遗传算法(ga)和模拟退火算法( simulannealbnd),MATLAB中的ga 求解器功能非常强大,既能求解无 约束优化问题,也能求解约束优化 问题,而且约束条件可以是非线性 的,但是simulannealbnd求解器只能 求解无约束优化问题。
l在Solver下拉选框中选择ga;l在适应函数栏输入@(x)x^4- 3*x^3+x^2-2;l变量个数输入1,其余参数默认;l单击Start按钮运行。
