机械优化设计实验报告_第1页
机械优化设计实验报告_第2页
机械优化设计实验报告_第3页
机械优化设计实验报告_第4页
机械优化设计实验报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 TOC o 1-5 h z HYPERLINK l bookmark11 o Current Document 摘要31绪论41.1实验目的4 HYPERLINK l bookmark18 o Current Document 1.2实习内容42 一维搜索方法42.1黄金分割法4黄金分割法基本思路4 HYPERLINK l bookmark26 o Current Document 黄金分割法流程图4 HYPERLINK l bookmark29 o Current Document 题目5 HYPERLINK l bookmark32 o Current Document 源程序代码及

2、结果5 HYPERLINK l bookmark35 o Current Document 2.2牛顿型法6牛顿型法基本思6 HYPERLINK l bookmark38 o Current Document 阻尼牛顿法的流程图7 HYPERLINK l bookmark41 o Current Document 题目7 HYPERLINK l bookmark44 o Current Document 源程序代码及结果82.3fminbnd 法92.3.1fminbnd 法的基本思想9 HYPERLINK l bookmark51 o Current Document 源程序代码及结果9 H

3、YPERLINK l bookmark54 o Current Document 2.4三种一维搜索方法的比较103无约束优化方法103.1牛顿型法10牛顿型法的基本思想10 HYPERLINK l bookmark62 o Current Document 牛顿法的流程图10 HYPERLINK l bookmark65 o Current Document 题目11 HYPERLINK l bookmark68 o Current Document 源程序代码及结果11遗传算法13遗传算法的基本思想13 HYPERLINK l bookmark75 o Current Document 遗

4、传算法的流程图13 HYPERLINK l bookmark81 o Current Document 源程序代码及结果143.3多维无约束优化的MATLAB求解函数fminsearch法15 HYPERLINK l bookmark84 o Current Document 3.3.1fminsearch 法的基本思想15题目16 HYPERLINK l bookmark87 o Current Document 源程序代码及结果163.4三种无约束优化方法的比较164约束优化方法174.1外点惩罚函数法17外点惩罚函数法的基本思想17 HYPERLINK l bookmark95 o Cu

5、rrent Document 题目17 HYPERLINK l bookmark98 o Current Document 源程序代码及结果184.2遗传算法19遗传算法的基本思想19 HYPERLINK l bookmark105 o Current Document 遗传算法的流程图19 HYPERLINK l bookmark108 o Current Document 题目20 HYPERLINK l bookmark111 o Current Document 源程序代码及结果21 HYPERLINK l bookmark114 o Current Document 4.3两种有约束

6、优化的比较22 HYPERLINK l bookmark117 o Current Document 结论23 HYPERLINK l bookmark120 o Current Document 参考文献24 HYPERLINK l bookmark123 o Current Document 致谢25摘要本文主要讲述了机械优化设计中应用到的一些优化方法的原理及其程序。优 化设计是将最优化原理和计算技术应用于设计领域,为工程设计提供一种重要的 科学设计方法。利用这种新的设计方法,人们可以从众多的设计方案中寻找出最 佳的设计方案,从而大大提高设计效率和质量。因而优化设计是现代设计理论和 方法的

7、一个重要领域,它已广泛应用于各个工业部门。主要针对一维优化问题、无约束优化问题、有约束优化问题三类,分别采用 黄金分割法、牛顿法(切线法牛顿型法、遗传算法、外点惩罚函数法及matlab 优化工具箱中的fminbnd、fminsearch、fmincon函数优化。关键词 优化设计,黄金分割法,牛顿法,牛顿型法,遗传算法,fminbnd,fminsearch,fmincon1绪论1.1实验目的机械优化设计是一门实践性很强的课程,学生通过实验上机计算达到以下目 的:1加深对机械优化设计方法的基本理论和算法步骤的理解。2培养学生独立编制计算机程序的能力。3掌握常用优化方法程序的使用方法。4培养学生灵活

8、运用优化设计方法解决工程实际问题的能力。1.2实习内容1 一维搜索法程序的编制、调试和考核(0.618法和二次插值发任选一种)。2无约束优化方法程序的编制、调试和考核。3阅读理解已在计算机上调试好的约束优化方法程序,了解程序的结构特 点,掌握程序的使用方法。2一维搜索方法2.1黄金分割法黄金分割法基本思路黄金分割法适用于a,b区间上的任何单股函数求极小值问题,对函数除要 求“单谷,外不做其他要求,甚至可以不连续。因此,这种方法的适应面非常广。 黄金分割法也是建立在区间消去法原理基础上的试探方法,即在搜索区间a,b 内适当插入两点a1,a2,并计算其函数值。a1,a2将区间分成三段,应用函数 的

9、单谷性质,通过函数值大小的比较,删去其中一段,是搜索区间得以缩小。然 后再在保留下来的区间上作同样的处理,如此迭代下去,是搜索区间无限缩小, 从而得到极小点的数值近似解。黄金分割法流程图黄金分割法流程图如图2-1所示:图2-1黄金分割法流程图题目对函数min f (t) = t 2 - 10t + 36,试用黄金分割法求其最优解。源程序代码及结果1源程序代码tic启动计时器f=inline(t八2-10火t+36)%a=-10;b=10;eps=0.001; a1=b-0.618*(b-a);y1=f(a1); a2=a+0.618*(b-a);y2=f(a2); while(abs(b-a)

10、eps)if (y1=y2)a=a1;a1=a2;y1=y2;a2=a+0.618*(b-a);y2=f(a2);elseb=a2;a2=a1;y2=y1;a1=b-0.618*(b-a);y1=f(a1);endendt1=toc关闭计时器,并显示解方程所用的时间x=0.5*(a+b)fmin=xA2-10*x+362结果如图2-2图2-2黄金分割法计算结果2.2牛顿型法 牛顿型法基本思在xk领域内用一个二次函数甲(x)来近似代替原目标函数,并将平(x)的极小 点作为目标函数f (x)求优的下一个迭代点Xk+1。经多次迭代,使之逼近目标函数 f (x)的极小点。阻尼牛顿法的流程图阻尼牛顿法流

11、程图如图2-3所示:图2-3阻尼牛顿流程图题目对函数 min f (t) = t 2 - 10t + 36,试用牛顿法求其最优解。源程序代码及结果1源程序代码function f=findmins()ticjd=0.001;cs = 0;a=1 -10 36 ;b1=polyder(a);b2=polyder(b1);cs1=10while abs(cs-cs1)=jdt1=polyval(b1,cs);t2=polyval(b2,cs);cs1=cs;cs=cs1-t1/t2;endf2=poly2str(a,x)disp(最优解为:)x=csf1=polyval(a,cs)t1=tocen

12、d2结果如图2-4%启动秒表计时器%精度初始化%生成多项式%对多项式求一阶导数%迭代收敛性判断导数赋值%显示最优解%关闭计时器,并显示解方程所用的时间2.3fminbnd 法法的基本思想fminbnd函数可以计算一元函数最小值优化问题,它用于求解一维设计变量 在固定区间内的目标函数的最小值,即最优化问题的约束条件只有设计变量的 上、下界。其求解的算法是基于黄金分割法和抛物线插值法。源程序代码及结果1源程序代码tic ;%启动秒表计时器x1=-10;x2=10;yx=(x)(x八2-10*x+36);%采用匿名函数定义被求极小值的函数xn0,fval,exitflag,output=fminbn

13、d(yx,x1,x2) %xn0,fval分别为极值点和极小 值t1=toc%关闭计时器并显示解方程所用的时间2结果如图2-5如图2-5 fminbnd计算结果2.4三种一维搜索方法的比较根据前边三种方法计算的结果统计表如下表2-1及运行时间如柱形图2-6 所示。表2-1三种方法计算结果统计表优化方法运行时间(s)所求极值点黄金分割法0.02675.0002阻尼牛顿法0.00185fminbnd 法0.00375.00000.03f0.0250.020.0150.010.005黄金分割法阻尼牛顿法fminbnd法0图2-6运行时间柱形图由上述图2-6可以直观明了的表明阻尼牛顿法的运行所用的时间

14、最短。通过 对比可以表明牛顿法的最大优点是收敛速度快,这是牛顿法所具有的优越性。从 表2-1可以发现fminbnd的计算结果的精度比较高。3无约束优化方法3.1牛顿型法牛顿型法的基本思想为了寻找收敛速度快的无约束最优化方法,我们考虑在每次迭代时,用适当 的二次函数去接近目标函数f,并用迭代点指向近似二次函数极小点的方向来构 造搜索方向,然后精确地求出近似二次函数的极小点,以该极小点作为f的极小 点的近似值。牛顿法的流程图牛顿法流程图如图3-1所示图3-1牛顿法的流程图题目对函数min f (x) = (x2 + x -11)2 +(x + x2 -7)2 ;初始点:x0 = 1,1t。用牛 顿

15、型法来求其最优解。1212源程序代码及结果1源程序代码function ff=findmin() clear alltic%启动秒表计时器mt=sym( (x1八2+x2-11)八2+(x1+x2八2-7)八2); f1=diff(mt,x1);diff(mt,x2); qt1=diff(mt, x1,2);%mt关于x1 求二阶导数qt2=diff(mt,x2,1); qt2=diff(qt2,x1,1); qt3=diff(mt,x2,1); qt3=diff(qt3,x1,1);qt4=diff(mt,x2,2); f2=qt1,qt2;qt3,qt4; xx=1;1;%36EIoAzz

16、=1;1; while norm(double(zz)0.001 yy=xx; f3=subs(f1 x1,xx(1); f3=subs(f3 x2,xx(2); f4=subs(f2 x1,xx(1); f4=subs(f4 x2,xx(2); g1=-inv(f4)*f3; b1=sym b1); xx=yy+b1*g1;f5=subs(mt x1,xx(1); f5=subs(f5 x2,xx(2); sw2=sym2poly(f5);sw1=polyder(sw2); if sw1=0dwj=eval(f5); elsewe=roots(sw1); for t=1 : length(w

17、e) cc(t)=polyval(sw2,we(t);end hi=find(cc=min(min(cc); digits(8);qq=vpa(we(hi); endxx=yy+qq*g1; zz=xx-yy;end disp(最优解为:) xxf6=subs(mt,x1,xx(1); f7=subs(f6 x2,xx(2); f=fix(f7) t1=toc end2结果如图3-2%用xx1置换f1中x1后产生f3%矩阵的逆%符号多项式转化为数值多项式系数%对多项式求导%求多项式的根%确定数组的长度%求多项式的值%寻找满足条件的数组元素下标%控制符号数值的有效数字位数%给出数值型符号结果%关

18、闭计时器并显示解方程所用的时间图3-2牛顿法计算结果3.2遗传算法遗传算法的基本思想遗传算法是一种基于自然选择和遗传变异等生物机制的全局性概率搜索算 法。与基于导数的解析方法和其他启发搜索方法一样,遗传算法在形式上也是一 种迭代方法。基本的遗传算法通过对某一代种群经过对生物基因的复制、变换和 变异,特产生新一代种群。再重复此过程,直到群体或最优点的性能达到满意程 度。遗传算法的流程图遗传算法流程图如图3-3所示图3-3遗传算法流程图题目对函数min f (x) = (x2 + x -11)2 +(x + x2 -7)2 ;初始点:x0 = 1,1t。用牛顿型法来求其最优解。1212源程序代码及

19、结果1源程序代码function f=rastrigin(x);f=(x(1)八2+x(2)-11)八2+(x(1)+x(2)八2-7)八2tic;fitnessFunction= rastrigin;options=gaoptimset;options=gaoptimset(options, PopulationSize, 500);options=gaoptimset(options, PopInitRange,0,5;0,5);options=gaoptimset(options, CrossoverFraction,0.85);options=gaoptimset(options,Mi

20、grationFraction,0.15);options=gaoptimset(options, Generations, 500);t1=toc;2结果如图3-42结果如图3-4x,fval,exitflag=ga(fitnessFunction,nvars,options)File Edit Debug Parallel Desktop Window HelpD &舶唁jO*参苗回 砂I机械忧化设计Etlal作业报告司Q画Shortcuts f How to Add 便I Whats NewCommand WindowT New to MATLAB? Watch this Wideci,

21、 see 巳itice, or read Gettin邙.:Start次,Optimization terminated: average change in the fitness value le thanK =2;99572. 0050fval =6.9025e-004esitflag =6, 9436图3-4遗传算法计算结果窣增始工如士八儿心“AE An 4切 3A。一,法的基本思想2结果如图3-52结果如图3-5fminsearch进行寻优的算法基于不使用梯度的单纯形法。fminsearch解决 的是多维函数的寻优问题,而且在fminsearch中指定的是初始点。Fminsearch

22、 的寻优过程实际上是在初始点附近找到最优化问题目标函数的一个局部极小点。 题目对函数min f (x) = (x2 + x -11)2 +(x + x2 -7)2 ;初始点:x0 = 1,1t。用牛 顿型法来求其最优解。1212源程序代码及结果1源程序代码tic;v0 = 1,1 x,fval,exitflag,output = fminsearch(two_var,v0) t1=toc;忡印?File Edit Debug Parallel Desktop Window HelpD 舶唁号0*盘司国 W |机械忧化设计Etlal作业报告司Q画 Shortcuts f How to Add z

23、l WhatNewCommand WindowiT- New to MATLAB? Watch this Wld&n, see or read Gettinci Start次,3. 00002. 0000fval =2339e-008esitflag =output =funcCount:明图 3-5 fminsearch 法计算结果1.4三种无约束优化方法的比较x direct Eearch,message: 1x196 char0.0082根据前边三种方法计算的结果统计表如下表3-1及运行时间如柱形图 3-6所示。表3-1三种方法计算结果统计表优化方法运行时间所求极值点牛顿型法2.2290

24、3.02.0遗传算法6.94362.99572.0050fminsearch 法0.00823.00002.00007654321牛顿型法遗传算法fminsearch图3-6运行时间柱形图由上述图3-6可以直观明了的表明fminsearch法的运行所用的时间最短。 遗传算法所用的时间比较长,这是由于遗传算法并行的方式从问题解的串集开始 嫂索,而不是从单个解开始。这是遗传算法与传统优化算法的极大区别。传统优 化算法从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开 始搜索,覆盖面大,利于全局择优。从表3-1可以发现遗传算法的计算精度比较 低。4约束优化方法4.1外点惩罚函数法外点惩

25、罚函数法的基本思想外点法将新目标函数0 (x,r)构筑在可行域D夕卜,随着惩罚因子r(k) 的不断递减,生成一系列新目标函数0 (xk ,r(k),在可行域内逐步迭代,产生 的极值点xk*(r(k)序列从可行域内部趋向原目标函数的约束最优点x*。题目对函数min f (x) = x3(x1 -3)2 -9)/2A3 ;s.t. g (x) = x x I :3 0 121_g (x) = x + x / % 3 0 g (x) = x + x / %/3 - 6 0g 4( x)=-气 0g 5 (x) = x2 0.001)ll(norm(double(xx-xxx)0.001)xxx=xx

26、;f5=subs(f3,x1,xxx(1);f5=subs(f5,x2,xxx(2);f3=f1+r*f2;f4=subs(f3,x1,xx(1);f4=subs(f4,x2,xx(2);de=subs(f3,x1,x(1);de=subs(de,x2,x(2);de=char(de);se,fr=fminsearch(de,1;5);xx=se(1);se(2)r=c*r;enddisp(最优解为:)xxfe=subs(f1,x1,xx(1);fe=subs(fe,x2,xx(2)2结果如图4-1图4-1外点惩罚函数法计算结果4.2遗传算法遗传算法的基本思想遗传算法是一种基于自然选择和遗传变

27、异等生物机制的全局性概率搜索算 法。与基于导数的解析方法和其他启发搜索方法一样,遗传算法在形式上也是一 种迭代方法。基本的遗传算法通过对某一代种群经过对生物基因的复制、变换和 变异,特产生新一代种群。再重复此过程,直到群体或最优点的性能达到满意程 度。遗传算法的流程图遗传算法流程图如图4-3所示图4-3遗传算法流程图题目对函数min f (x) = x3(x1 -3)2 -9)/27贬;s.t. g (x) = x x / 焰 0g (x) = x + x / 13 0g (x) = x + x / * 3 - 6 0g 4( x) = x1 0g 5 (x) = x2 0初始点:x0 = 1

28、,5T,源程序代码及结果1源程序代码function y=lincontest6(x)y=x(2)八3*(x(1)-3)八2-9)/(27火sqrt(3);dy=2*x(2)八3*(x(1)-3)/(27火sqrt(3);3*x(2)八2*(x(1)-3)八2-9)/(27火sqrt(3 );tic;A=(-1)/sqrt(3) 1;-1 1/sqrt(3);1 1/sqrt(3);b=0; 0; 6;lb=zeros(2,1);x,fval,exitflag=ga(lincontest6,2,A,b,lb)t1=toc2计算结果如图4-4图4-4遗传算法计算结果4.3两种有约束优化的比较根据前边两种方法计算的结果统计表如下表3-1。表3-1两种方法计算结果优化方法计算结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论