湖南人文科技学院钟飞教程.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文档。上传文档
查看更多
湖南人文科技学院 机械优化设计大作业 班级 : 机械一班 学号 :姓名: 钟飞 1.坐标轮换法的基本原理 坐标轮换法又称变量轮换法,属于直接法,其基本原理为:将一个多维无约束优化问题转换为一系列一维优化问题来求解,即依次沿着坐标轴的方向进行一维搜索,求得极小点。 对于n维无约束优化问题,先将(n-1)个变量固定不动,只变化第一个变量 ,即由起始点沿着第一个变量 的方向坐标轮换法又称变量轮换法,属于直接法,其基本原理为:将一个多维无约束优化问题转换为一系列一维优化问题来求解,即依次沿着坐标轴的方向进行一维搜索,求得极小点。 进行一维搜索,得到好点 ;而后再保持(n-1) 个变量不变,对第二个变量 进行一维搜索,此时搜索方向为 ,得到好点 。如此沿 方向(即坐标方向),且将前一次一维搜索的好点作为本次一维搜索的好点作为本次一维搜索的起始点,依次进行一维搜索后,完成一轮计算。若未收敛,则以前一轮的末点 为起始点,进行下一轮的循环,如此一轮一轮迭代下去,直到满足收敛准则,逼近最优点为止。 迭代步骤: 任选初始点 作为第一轮的起点 ,置n个坐标轴方向矢量为单位坐标矢量 按照下面迭代公式进行迭代计算 式中K为迭代轮数的序号,k=1,2,···,i是该轮中一维搜索的序号,依次取i=1,2,3等 步长一般通过一维优化求出其最优步长。 按下式判别是否该终止迭代? 若满足,迭代终止,并输出最优解 平行或圆族等值线,该方法收敛效果好,速度快。如下图(a) 当椭圆族的长、短轴与坐标轴斜交,迭代次数将大大增加,收敛速度很慢,如下图(b) 。 当目标函数等值线出现“脊线”时,沿坐标轴方向搜索均不能使函数值有所下降,该方法在求优过程中将失败,这类函数对坐标轮换法来说是“病态”函数。如下图(c)。 坐标轮换法特点: 1.方法结构简单,易于掌握,但计算效率低,对维数较高的优化问题更为突出,通常用于低维优化问题; 2.本方法的收敛效果在很大程度上取决于目标函数等值线的形状。 等值线为椭圆族,其长、短轴与坐标轴 优化方法的数学模型 1.曲柄滑块机构中确定滑块的最优位子,已知AB=BC=10mm,CD=96mm,DE=106mm,AE=100mm。 以为变量 得到数学函数式; 程序 clear e=input(输入精度要求e:); X=input(输入初始点:); syms t s a=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1); k=1; e1=[1;0]; e2=[0;1]; A=X; %A矩阵用于存储每一轮变换所得解 C=X+t*e1; %沿e1方向搜索 x1=C(1,1); x2=C(2,1); df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2); t=solve(df); X=X+t*e1; C=X+s*e2; %沿e2方向搜索 x1=C(1,1); x2=C(2,1); df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2); s=solve(df); X=X+s*e2; A=[A X]; b=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1); a=[a b]; B=A(:,k+1)-A(:,k); while double(sqrt(B(1,1)^2+B(2,1)^2))e syms t s C=X+t*e1; %沿e1方向搜索 x1=C(1,1); x2=C(2,1); df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2); t=solve(df); X=X+t*e1; C=X+s*e2; %沿e2方向搜索 x1=C(1,1); x2=C(2,1); df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2); s=solve(df); X=X+s*e2; A=[A X];

文档评论(0)

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

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

1亿VIP精品文档

相关文档