- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab优化工具箱的使用.doc
优化工具箱的使用
MATLAB的优化工具箱提供了各种优化函数,这些优化函数可以通过在命令行输入相应的函数名加以调用;此外为了使用方便,MATLAB还提供了图形界面的优化工具(GUI Optimization tool)。
1 GUI优化工具
1.1 GUI优化工具的启动
有两种启动方法:
(1)在命令行输入optimtool;
(2)在MATLAB主界面单击左下角的“Start”按钮,然后依次选择“Toolboxes→Optimization→Optimization tool”
1.2 GUI优化工具的界面
界面分为三大块:
左边(Problem Setup and Results)为优化问题的描述及计算结果显示;
中间(Options)为优化选项的设置;
右边(Quick Reference)为帮助。为了界面的简洁,可以单击右上角“”、“”的按钮将帮助隐藏或显示。
1、优化问题的描述及计算结果显示
此板块主要包括选择求解器、目标函数描述、约束条件描述等部分。
选择合适的求解器以及恰当的优化算法,是进行优化问题求解的首要工作。
Solver:选择优化问题的种类,每类优化问题对应不同的求解函数。
Algorithm:选择算法,对于不同的求解函数,可用的算法也不同。
Problem框组用于描述优化问题,包括以下内容:
Objective function: 输入目标函数。
Derivatives: 选择目标函数微分(或梯度)的计算方式。
Start point: 初始点。
Constraints框组用于描述约束条件,包括以下内容:
Linear inequalities: 线性不等式约束,其中A为约束系数矩阵,b代表约束向量。
Linear equalities: 线性等式约束,其中Aeq为约束系数矩阵,beq代表约束向量。
Bounds: 自变量上下界约束。
Nonlinear Constraints function; 非线性约束函数。
Derivatives: 非线性约束函数的微分(或梯度)的计算方式。
Run solver and view results框组用于显示求解过程和结果。
(对于不同的优化问题类型,此板块可能会不同,这是因为各个求解函数需要的参数个数不一样,如Fminunc函数就没有Constraints框组。)
2、优化选项(Options)
Stopping criteria: 停止准则。
Function value check: 函数值检查。
User-supplied derivatives: 用户自定义微分(或梯度)。
Approximated derivatives: 自适应微分(或梯度)。
Algorithm settings: 算法设置。
Inner iteration stopping criteria: 内迭代停止准则。
Plot function: 用户自定义绘图函数。
Output function: 用户自定义输出函数。
Display to command window: 输出到命令行窗口。
对于不同的优化问题类型,此板块也会不同,
3、帮助(Quick Reference)
每选择一个函数求解器,帮助部分都有对这个函数的功能说明,同时还会给出相应的各个输入项说明。
1.3 GUI优化工具的使用步骤
(1)选择求解器Solver和优化算法。
(2)选定目标函数。
(3)设定目标函数的相关参数。
(4)设置优化选项。
(5)单击“Start”按钮,运行求解。
(6)查看求解器的状态和求解结果。
(7)将目标函数、选项和结果导入/导出。(在菜单文件中寻找)
1.4 GUI优化工具的应用实例
1、无约束优化(fminunc求解器)
fminunc求解器可用的算法有两种:
Large scale(大规模算法)
Medium scale(中等规模算法)
对于一般问题,采用中等规模算法即可。
例1:用优化工具求的极小值,初始点取x=0。
解:首先在当前MATLAB的工作目录下建立目标函数文件Fununc1.m文件:
function y= FunUnc1(x) % function必须为小写,如果F为大写则不行
y=x^2+4*x-6; %平方符号输入时用键盘上数字6上的符合,否则错误
然后启动优化工具:
在Solver下拉选框中选择fminunc;
Algorithm下拉选框中选择Medium scale;
目标函数栏输入@FunUnc1; %运算时输入函数不知什么原因老有错误,直接输入目标函数却没有错误
初始点输入0,其余参数默认;
单击“Start”按钮运行。
从求解结果可以看出,函数的极小值为-10,且在x=-2时取到,而且从Current it
您可能关注的文档
最近下载
- 《质量评估流程》课件.ppt VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 2024年数智工程师职业鉴定考试复习题库(含答案).docx VIP
- (完整版)建筑施工技术交底范本(大全) .pdf VIP
- 水运工程大体积混凝土温度裂缝控制技术规范_JTS-T 202-1-2022.pdf
- 设备供货、安装、调试、验收方案.docx VIP
- 《水利水电工程施工图审查技术导则》.pdf VIP
- 《木材学》——李坚 木材学笔记(完整).doc VIP
- 《公路水泥混凝土路面施工技术规范》_(JTGF30-2015).pdf VIP
- 小学生数学学习自查习惯现状调查报告.pdf VIP
文档评论(0)