- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运算研究和MATLAB编程
一、 MATLAB中的优工具箱
利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。
1.1 优化工具箱中的函数
优化工具箱中的函数包括下面几类:
1.1.1 最小化函数
表1-1 最小化函数表
函 数
描 述
fgoalattain
多目标达到问题
fminbnd
有边界的标量非线性最小化
fmincon
有约束的非线性最小化
fminimax
最大最小化
fminsearch, fminunc
无约束非线性最小化
fseminf
半无限问题
linprog
线性课题
quadprog
二次课题
1.1.2 方程求解函数
表1-2 方程求解函数表
函 数
描 述
\
线性方程求解
fsolve
非线性方程求解
fzero
标量非线性方程求解
1.1.3 最小二乘(曲线拟合)函数
表1-3 最小二乘函数表
函 数
描 述
\
线性最小二乘
lsqlin
有约束线性最小二乘
lsqcurvefit
非线性曲线拟合
lsqnonlin
非线性最小二乘
lsqnonneg
非负线性最小二乘
1.1.4.实用函数
表9-4 实用函数表
函 数
描 述
optimset
设置参数
optimget
?
1.1.5.大型方法的演示函数
表9-5 大型方法的演示函数表
函 数
描 述
circustent
马戏团帐篷问题—二次课题
molecule
用无约束非线性最小化进行分子组成求解
optdeblur
用有边界线性最小二乘法进行图形处理
1.1.6.中型方法的演示函数
表9-6 中型方法的演示函数表
函 数
描 述
bandemo
香蕉函数的最小化
dfildemo
过滤器设计的有限精度
goaldemo
目标达到举例
optdemo
演示过程菜单
tutdemo
教程演示
?
模型输入时需要注意的问题
使用优化工具箱时,由于优化函数要求目标函数和约束条件满足一定的格式,所以需要用户在进行模型输入时注意以下几个问题:
1.目标函数最小化
优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化,如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。近似地,对于quadprog函数提供-H和-f,对于linprog函数提供-f。
2.约束非正
优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的,如Ci(x)≥0形式的约束等价于- Ci(x)≤0;Ci(x)≥b形式的约束等价于- Ci(x)+b≤0。
3.避免使用全局变量
1.2 相关函数的介绍
1.2.1 fminbnd函数
功能:找到固定区间内单变量函数的最小值。
调用格式:
x = fminbnd(fun,x1,x2)
x = fminbnd(fun,x1,x2,options)
x = fminbnd(fun,x1,x2,options,P1,P2,...)
[x,fval] = fminbnd(...)
[x,fval,exitflag] = fminbnd(...)
[x,fval,exitflag,output] = fminbnd(...)
描述:
fminbnd求取固定区间内单变量函数的最小值。
x = fminbnd(fun,x1,x2)返回区间{x1,x2}上fun参数描述的标量函数的最小值x。
x = fminbnd(fun,x1,x2,options)用options参数指定的优化参数进行最小化。
x = fminbnd(fun,x1,x2,options,P1,P2,...)提供另外的参数P1,P2等,传输给目标函数fun。如果没有设置options选项,则令options=[]。
[x,fval] = fminbnd(...)返回解x处目标函数的值。
[x,fval,exitflag] = fminbnd(...)返回exitflag值描述fminbnd函数的退出条件。
[x,fval,exitflag,output] = fminbnd(...)返回包含优化信息的结构输出。
变量:
函数的输入变量在表9-7中进行描述,输出变量在表9-8中描
文档评论(0)