机械最优化设计.docVIP

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

《机械最优化设计》作业 姓名: 陈辉 学号: 405928914106 专业: 机械工程 6-4 用最优梯度法和变尺度法对习题2-5 F(x)=100(x2-x1^2)^2+(1-x1)^2 寻优(设取初始点X0=[-1.2,1.0]’)。 注:1.该函数式1960年由Rosenbrock提出的一个检验各种算法的标准函数,称为试验函数。这个函数的特点是:每个等值面是一个窄长弯曲的谷道,外形像香蕉,又称香蕉函数,其最优点Xn=[1,1]’,最优值F(Xn)=0。 2.此题不能用手工计算,必须借助计算机才能求解。 一、最优梯度法 最优梯度法师应用目标函数的负梯度方向作为每一步迭代的搜索方向。因为每一步都取负梯度方向的最优步长,故称为最优梯度法。应用最优梯度法会使目标函数值在开头几步下降最快,故又称之为最优下降法。 解题步骤: step1:任意选择初始点X0(-1.2,1.0),给出收敛精度e0,迭代次数k=1; step2:计算Xk点的梯度df及梯度的模g,确定在Xk的搜索方向,s=-df/g; step3:判断是否满足收敛准则ge。若满足,则输出最优解Xn=Xk,最优值Fn=z(Xk);否则继续下一步迭代。 step4:从Xk点出发,沿s方向进行一维搜索,求最优步长a,即 a=-(df*s)/(s*dff*s); step5:计算x2=x1+a*s; k=k+1;x1=x2;回到step2继续迭代。 流程图如下: 3)M文件: function [fn,xn]=OGM(x0,e) if (e=0) error(e要大于0) error(这是最优梯度法) else k=1; x1=x0; for i=1:10000 [z,df,dff,g]=fun1(x1); s=-df/g; if (ge) xn=x1; fn=z; k break else a=-(df*s)/(s*dff*s); x2=x1+a*s; k=k+1; x1=x2; end end end 4)运行效果图如下: 图中e为精度,k为迭代次数,fn为满足精度条件的最优值,xn为最优解 5)评估 沿负梯度方向的最优梯度法,其搜索路径实际上是成直角的锯齿形前进的,开始步长较大,越接近极小点,步长越小,收敛速度越慢。所以最优梯度法主要特点为能较快的接近于最优解的临近区域范围,一般更适用于求解问题的开局,而用作收局往往是不利的。在本题最优梯度法在编程中,将其e定为0.01,从运行效果图可以看出,为达到最优值迭代次数为15次,相对较多。而且寻得的最优值和精确解有一定的误差。所以本程序把最优梯度法用于前期开局,并且将其迭代精度e定为10,以使其减少迭代次数。 二、变尺度法 变尺度法是由Dovidon,Fletcher和Powell于1959年提出,后经Broyden,Fletcher,Goldstein和Shanno等人于1970年进一步完善和发展的。其主要思想是充分发挥最优化梯度法和牛顿法的优点并综合而成的一种算法;或者说是为了克服这两种方法的缺点而提出的一种修正的方法。变尺度法在国内工程技术研究领域目前用得较多。也有把变尺度法划归为修正牛顿法和拟牛顿法的。 1)解题步骤: Step 1. 给定x0,e0,n Step 2. 计算初始点的梯度模g,梯度矩阵df,赫森矩阵值dff,函数值f,令x1=x0; Step 3.判断梯度模与迭代精度的大小,g=e执行Step 4,否则结束迭代,并且Xn=x0; fn=z; Step 4.令H =[1,0;0,1]; 计算x1点的模g,梯度矩阵df,赫森矩阵值dff,函数值f。 Step 5.计算p=-H*df; 求出最优步长rqr=-(df*p)/(p*dff*p); x2=x1+r*p; 计算在x2的梯度模g。 Step 6.判断判断梯度模与迭代精度的大小,g=e,是执行Step7,否则xn=x2; fn=f;输出迭代次数k,结束循环。 Step 7.判断k与给定n值是否相等,若不等执行第Step8,否则x1=x2; k=1;回到Step4。 Step 8.计算detx=(x2-x1);det

文档评论(0)

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

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

1亿VIP精品文档

相关文档