运筹学优化试验.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运筹学优化试验

* * 一、用Excel求非线性规划模型的命令格式和实例 例1 求 例2 求 二、用Mathematica求非线性规划模型的命令格式和实例 1、用驻点法求函数f(x) 在[a, b]区间上的最大和最小值 1)先求驻点表 zd=Solve[f[x]==0,x] 2)再求函数在表 zd 中点处的{变量值、函数值}表与{端点值 、端点函数值}并集表 zdgh=Union[{x,f[x]}/. zdg,{{a,f(a)},{b,f(b)}}] 3)求表zdgh 中的函数值的最大、最小值 fmax=Max[Transpose[zdgh][[2]]] fmin=Min [Transpose[zdgh][[2]]] 4)求出函数取最大、最小值的点 x1=Position[zdgh,fmin] x2=Position[zdgh,fmax] xmin=zdgh[[x1[[1,1]]]] xmax=zdgh[[x2[[1,1]]] 注:学习编程后我们可把这种方法编成一个通用程序。 Transpose[zdgh]表示把表zdgh转置 zdgh[[2]]表示获取表zdgh的第2行 Transpose[zdgh][[2]]表示获取表zdgh的第2列 Position[zdgh,fmin]表示表zdgh中与元素fmin相匹配的位置 2、用改进法求函数f(x) 在[a, b]区间上的最大和最小值 1)绘制函数f(x)在[a,b]上的图形,观察函数f(x) 在[a, b]区间上可能取最大和最小值 的点为x2和x1附近。 2)xmin=FindRoot[f’[x]==0,{x,x1}] xmax=FindRoot[f’[x]==0,{x,x2}] 3) fmin=f[x]/.xmin fmax=f[x]/.xmax 注:该方法简单直观,但不适宜编通用程序。 3、用求极值命令求函数f(x) 在[a, b]区间上的最大和最小值(P186) 1)绘制函数f(x)在[a,b]上的图形,观察函数f(x) 在[a, b]区间上可能取最大和最小值 的点为x2和x1。 2)xmin=FindMinmum[f[x],{x,x1}] xmax=FindMinmun[-f[x],{x,x2}] 4、多元函数求极值 命令xmin=FindMinmum[f[x, y, z ],{x,x0}{y,y0},{z,z0}] 表示求多元函数f(x,y,z)在点{xo,y0,z0}附近的极小值 xmax= FindMinmum[-f[x, y, z ],{x,x0}{y,y0},{z,z0}] 表示求多元函数f(x,y,z)在点{xo,y0,z0}附近的极大值 5、有约束的非线性规划求解 命令NMinimize[{f(X),约束1,约束2, …,约束m},{决策变量}] 如:NMinimize[{E^(Sin[50 x])+Sin[60 E^y]+Sin[70 Sin[x]]+Sin[Sin[80 y]]-Sin[10 (x+y)]+1/4 (x^2+y^2),x^2+y^2£1},{x,y}] 三、用MATLAB解优化问题 其中等式(3)、(4)、(5)的右边可选用(1)或(2)的等式右边. 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解. 常用格式如下: (1)x= fminbnd (fun,x1,x2) (2)x= fminbnd (fun,x1,x2 ,options) (3)[x,fval]= fminbnd(…) (4)[x,fval,exitflag]= fminbnd(…) (5)[x,fval,exitflag,output]= fminbnd(…) MATLAB(wliti1) 主程序为wliti1.m: f=2*exp(-x).*sin(x); fplot(f,[0,8]); %作图语句 [xmin,ymin]=fminbnd (f, 0,8) f1=-2*exp(-x).*sin (x); [xmax,ymax]=fminbnd (f1, 0,8) 用Excel规划求解工具求解 用LINGO软件求解 命令格式为: (1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 ) (2)x= fminunc(fun,X0 ,options); 或x=fminsearch(fun,X0 ,option

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档