Matlab优化工具箱
• GUI优化工具的界面 主要分为三大块:
• 左边为优化问题的描 述及计算结果显示(
Problem Setup and Results);
• 中间为优化选项的设 置(Options);
• 右边为帮助(Quick Reference)。
• 为了界面的简洁,可 以单击右上角的 “<<”按钮将帮助隐 藏起来。 2020/11/23
• GUI优化工具的基本使用步 骤如下。
• 1、选择求解器solver和优 化算法;
• 2、选定目标函数; • 3、设定目标函数的相关参
数; • 4、设置优化选项; • 5、单击“Start”按钮,运
行求解; • 6、查看求解器的状态和求
解结果; • 7、将目标函数、选项和结
果导入/导出。
2020/11/23
2020/11/23
1.3 工具箱的结构
2020/11/23
2 工具箱函数
2020/11/23
函数输入参数
2020/11/23
函数输出参数
2020/11/23
模型输入时需要注意的问题
• (1)目标函数最小化 • 优化函数fminbnd、fminsearch、fminunc、fmincon、
• (2)在MATLAB主 界面单击左下角的 “Start”按钮,然后依 次选择 “Toolboxes→Optimi zation→Optimization tool(optimtool)。
2020/11/23
图5-2 优化工具图形界面的菜单启动方式 图5-3 优化工具图形界面
3.2 GUI优化工具的界面
定义、算法选项和结果; • 自动生成M文件代码,以获取工作并自动执行任务; • 带有图形选项,用来显示对求解器执行期间进度的预
定义或自定义测量标准。
2020/11/23
3.1 GUI优化工具的启动
• 启动GUI Optimization tool有 以下两种方法。
• (1)在命令行上输 入optimtool;
MATLAB优化工具箱
• 1 工具箱概述 • 1.1 工具箱的功能 • 1.2 工具箱的新特色 • 1.3 工具箱的结构 • 2 工具箱函数 • 3 GUI优化工具 • 3.1 GUI优化工具的启动 • 3.2 GUI优化工具的界面 • 3.3 GUI优化工具使用步骤 • 3.4 GUI优化工具应用实例 • 4 小结
• (3)函数fmincon的求解器中新增内点算法; • (4)提供了KNITRO优化库的接口; • (5)函数lsqcurvefit、lsqnonlin和fsolve的优化选项参
数PrecondBandWidth默认值由0变为inf; • (6)优化选项参数TolConSQP的默认值修改为1e–6; • (7)输出结构中引入了参数constrviolation。
MATLAB R2008b提供的优化工具箱是4.1版本,4.1版本较 之以前的3.x版本,主要增加了以下新的特色。
• (1)函数fmincon、fminimax和fgoalattain中引入了并 行机制,加快了梯度的计算速度;
• (2)函数gatool和psearchtool 整合到优化工具箱GUI 中;
3.4 GUI优化工具应用实例
• 例1 • 例2 • 例3 • 例4 • 例5 • 例6
fminunc求解器应用实例。 fminsearch求解器应用实例。 fmincon求解器应用实例。 lsqnonlin求解器应用实例。 linprog求解器应用实例。 ga/sa求解器应用实例。
2020/11/23
括目标逼近问题、极大-极小值问题以及半 无限极小值问题; • (3)求解二次规划和线性规划问题; • (4)非线性最小二乘逼近和曲线拟合; • (5)非线性系统的方程求解; • (6)约束条件下的线性最小二乘优化; • (7)求解复杂结构的大规模优化问题。
2020/1tain、fminmax和lsqnonlin都要求目标函数最小化 。 • (2)约束非正 • 优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过 对不等式取负可以达到使大于零的约束形式变为小于零的 不等式约束形式的目的。 • (3)避免使用全局变量ce Model.vi”等VI来实现。
无约束优化(fminunc求解器)
建立目标函数文件FunUnc.m文件 :
• function y = FunUnc(x)
• y = x^2 + 4*x -6; • 然后启动优化工具: • 在Solver下拉选框中选择
fminunc; • Algorithm下拉选框中选择
• 2.优化选项
• GUI优化工具的优化选项包括9大类 。
• Stopping criteria:停止准则;
• Function value check:函数值检查 ;
• User-supplied derivatives:用户自 定义微分(或梯度)函数;
• Approximated derivatives:自适应 微分(或梯度);
2020/11/23
3 GUI优化工具
优化工具(optimtool)是2006年9月在MATLAB 7.2版本 优化工具箱3.1版本中推出的,它是执行下列常见优化 任务的图形用户界面。
• 选择求解器并定义优化问题; • 设置和检查优化选项; • 运行问题并将结果可视化; • 在MATLAB工作空间和优化工具之间导入和导出问题
• Algorithm settings:算法设置;
• Inner iteration stopping criteria:内 迭代停止准则;
• Plot functions:用户自定义绘图函 数;
• Output functions:用户自定义输出 函数;
2020/11/23
3.3 GUI优化工具使用步骤
2020/11/23
• 计算机学院软件工程系38专业 • C#.NET,,软件工程,UML • Matlab,SPSS,BI, SAS • 王华秋
2020/11/23
1.1 工具箱的功能
优化工具箱主要可以用于解决以下问题: • (1)求解无约束条件非线性极小值; • (2)求解约束条件下非线性极小值,包