Matlab优化工具箱.docx
- 文档编号:12289198
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:11
- 大小:801.81KB
Matlab优化工具箱.docx
《Matlab优化工具箱.docx》由会员分享,可在线阅读,更多相关《Matlab优化工具箱.docx(11页珍藏版)》请在冰豆网上搜索。
Matlab优化工具箱
Matlab优化工具箱
1工具箱概述
•计算机学院软件工程系38专业
•C#.NET,ASP.NET,软件工程,UML
•Matlab,SPSS,BI,SAS
•王华秋
1.1工具箱的功能
优化工具箱主要可以用于解决以下问题:
•
(1)求解无约束条件非线性极小值;
•
(2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题;
•(3)求解二次规划和线性规划问题;
•(4)非线性最小二乘逼近和曲线拟合;
•(5)非线性系统的方程求解;
•(6)约束条件下的线性最小二乘优化;
•(7)求解复杂结构的大规模优化问题。
1.2工具箱的新特色
MATLABR2008b提供的优化工具箱是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。
1.3工具箱的结构
模型输入时需要注意的问题
•
(1)目标函数最小化
•优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。
•
(2)约束非正
•优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的。
•(3)避免使用全局变量ceModel.vi”等VI来实现。
2工具箱函数
3GUI优化工具
优化工具(optimtool)是2006年9月在MATLAB7.2版本优化工具箱3.1版本中推出的,它是执行下列常见优化任务的图形用户界面。
•选择求解器并定义优化问题;
•设置和检查优化选项;
•运行问题并将结果可视化;
•在MATLAB工作空间和优化工具之间导入和导出问题定义、算法选项和结果;
•自动生成M文件代码,以获取工作并自动执行任务;
•带有图形选项,用来显示对求解器执行期间进度的预定义或自定义测量标准。
3.1GUI优化工具的启动
•启动GUIOptimizationtool有以下两种方法。
•
(1)在命令行上输入optimtool;
•
(2)在MATLAB主界面单击左下角的“Start”按钮,然后依次选择“Toolboxes→Optimization→Optimizationtool(optimtool)。
图5-2优化工具图形界面的菜单启动方式
图5-3优化工具图形界面
3.2GUI优化工具的界面
•GUI优化工具的界面主要分为三大块:
•左边为优化问题的描述及计算结果显示(ProblemSetupandResults);
•中间为优化选项的设置(Options);
•右边为帮助(QuickReference)。
•为了界面的简洁,可以单击右上角的“<<”按钮将帮助隐藏起来。
•2.优化选项
•GUI优化工具的优化选项包括9大类。
•Stoppingcriteria:
停止准则;
•Functionvaluecheck:
函数值检查;
•User-suppliedderivatives:
用户自定义微分(或梯度)函数;
•Approximatedderivatives:
自适应微分(或梯度);
•Algorithmsettings:
算法设置;
•Inneriterationstoppingcriteria:
内迭代停止准则;
•Plotfunctions:
用户自定义绘图函数;
•Outputfunctions:
用户自定义输出函数;
•Displaytocommandwindow:
输出到命令行窗口。
3.3GUI优化工具使用步骤
3.4GUI优化工具应用实例
•例1fminunc求解器应用实例。
•无约束优化(fminunc求解器)
建立目标函数文件FunUnc.m文件:
•functiony=FunUnc(x)
•y=x^2+4*x-6;
•然后启动优化工具:
•在Solver下拉选框中选择fminunc;
•Algorithm下拉选框中选择Mediumscale;
•目标函数栏输入@FunUnc;
•初始点输入0,其余参数默认;
•单击Start按钮运行。
•例2fminsearch求解器应用实例。
无约束优化(fminsearch求解器)
•启动优化工具:
•然后在Solver下拉选框中选择fminsearch;
•目标函数栏输入@(x)abs(x^2-3*x+2);
•初始点输入-7,其余参数默认;
•单击Start按钮运行。
•运行就可得到极小值和对应的值
•例3fmincon求解器应用实例。
约束优化(fmincon求解器)
•约束优化采用的求解器为fmincon,可用的算法有三种:
Trustregionreflective(信赖域反射算法)、Activeset(有效集算法)、Interiorpoint(内点算法)。
•启动优化工具:
•在Solver下拉选框中选择fmincon;
•Algorithm下拉选框中选择Activeset;
•目标函数栏输入@FunCon;
•初始点输入[10;10;10];
•在约束条件的Linearinequalities输入框中输入A为[-1-2-2;122],b为[0;72],其余参数默认;
•单击Start按钮运行。
•例4lsqnonlin求解器应用实例。
非线性最小二乘优化(lsqnonlin求解器)
•启动优化工具:
•在Solver下拉选框中选择lsqnonlin;
•算法采用L-M算法;
•目标函数栏输入@(x)[x^2+x-1;2*x^2-3];
•初始点输入5,其余参数默认;
•单击Start按钮运行。
•运行就可得到极小值和对应的值
•例5linprog求解器应用实例。
线性规划(linprog求解器)
•线性规划采用的求解器为linprog,可用的算法有三种:
Largescale(大规模算法)、Mediumscale-simplex(中等规模-单纯形算法)和Mediumscale-Activeset(中等规模-有效集算法),当Mediumscale-Activeset算法时,还要提供初始点。
•启动优化工具:
•在Solver下拉选框中选择linprog;
•算法采用Mediumscale-simplex算法;
•问题描述组框中的f输入[-4;-1];
•约束组框中的A输入[-12;23;1-1],b输入[4;12;3],其余参数默认;
•单击Start按钮运行。
•例6ga/sa求解器应用实例。
智能优化算法(ga求解器)
•优化工具箱中的智能优化算法包括遗传算法(ga)和模拟退火算法(simulannealbnd),MATLAB中的ga求解器功能非常强大,既能求解无约束优化问题,也能求解约束优化问题,而且约束条件可以是非线性的,但是simulannealbnd求解器只能求解无约束优化问题。
•在Solver下拉选框中选择ga;
•在适应函数栏输入@(x)x^4-3*x^3+x^2-2;
•变量个数输入1,其余参数默认;
•单击Start按钮运行。
4小结
•本章全面介绍了优化工具箱函数的功能、语法,以及GUI优化工具的使用及实例,GUI优化工具是进行MATLAB最优化计算的最简洁、最容易掌握的工具,后面的章节还会对常用的工具箱的函数进行详细讲述,并辅以实例。
•通过本章读者不仅对MATLAB优化工具箱函数的强大功能有一个初步了解,还为后面更具体的介绍及应用打下基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 优化 工具箱