网站大量收购独家精品文档,联系QQ:2885784924

2010暑期数学建模B_Matlab优化工具箱.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010暑期数学建模B_Matlab优化工具箱

计算机软件应用 课程B:Matlab优化工具箱 郑州大学管理工程系 2010年7月22日 蔡雁岭 博士 Email: Jeffreycai@yahoo.cn 使用Matlab 我们的工作不是从最基本的代码开始编程。 实际上,我们的工作就是基于Matlab核心及其各种工具箱所提供的功能函数或M-file,解决如何编写我们需要解决的特有问题的m-file,调用已有的功能函数,从而解决该特有问题。 本节课内容: 系统M-file和自写M-file的调用; 全局变量(global)和局部变量(local); Optimization toolbox。 从用Matlab求解最基本的优化问题开始 fminbnd函数,只能用来求解非线性约束最优化问题中特定的一类,即只含有一个设计变量的问题。 fminbnd函数求解的是目标函数的最小值。 如果你不了解fminbnd函数,在命令窗口下输入“help fminbnd”。 Maximizing Versus Minimizing 工具箱内的优化函数均为最小化目标函数。 如果求解最大化问题,则可将最大化目标函数f等效为最小化目标函数-f,也就是说f的最大处即对应着-f的最小处。 因此,上述例题可以简化到一个函数调用命令 fminbnd(‘-(2*sin(x)-x^2/10)’,0,4) 有问题? [x fval]=fminbnd(-(2*sin(x)-x^2/10),0,4) 然后再试试 [x fval y z]=fminbnd(-(2*sin(x)-x^2/10),0,4) 然后再试试 [x fval y z m]=fminbnd(-(2*sin(x)-x^2/10),0,4) M-file的写法 创造自己的m-file函数 Edit firstfunction (从而生成自写函数文件firstfunction.m) 在文件中输入相应的函数表达式 function f=firstfunction(x) f=-(2*sin(x)-x^2/10); 现在我们可以利用 [x fval]=fminbnd(‘firstfunction’,0,4)去调用这个函数 (此处,要求firstfunction.m这个函数文件一定要存在) 进一步地,我们编辑一个主函数去进行可以改变自变量区间的firstmain.m function [x fval]=f(x_range) [x fval]=fminbnd(firstfunction,x_range(1),x_range(2)); 几个特殊符号 ;(变量值显示和向量设定两种) .^ .* % @ a=2 ”;” b=[1;2;3] X = fmincon(@(x) 3*sin(x(1))+exp(x(2)),[1;1],[],[],[],[],[0 0]) @(x) 3*sin(x(1))+exp(x(2))等效于’ 3*sin(x(1))+exp(x(2))’ 全局变量(global)和局部变量(local) 缺省情况下,每个函数模块内部定义的变量均为局部变量,该函数调用完后,相应的局部变量均被释放。 函数之间调用时,仅仅传递对应的值,而不传递变量名。 相反,全局变量则在始终存在,而且可以被任何模块赋值。例如,pi。一般来说,尽量减少全局变量的数量,能利用模块间传递数值的尽量不用全局变量去传递数值。 Matlab的优化工具箱(Optimization Toolbox) 利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。 Minimization Functions in the Optimization Toolbox 模型输入时需要注意的问题 目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化,如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。近似地,对于quadprog函数提供-H和-f,对于linprog函数提供-f。 约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的,如Ci(x)≥0形式的约束等价于- Ci(x)≤0;Ci(x)≥b形式的约束等价于- Ci(x)+b≤0。 避免使用全局变量

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档