《《机械优化设计》课程实践报告合肥工业大学王卫荣.docx》由会员分享,可在线阅读,更多相关《《机械优化设计》课程实践报告合肥工业大学王卫荣.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、研究报告要求及格式模版合肥工业大学机械优化设计课程实践研究报告班 级:机械设计制造及其自动化 班学 号:姓 名:授课老师:王卫荣日 期:201 年 月 日一、研究报告内容:1、0.618的证明、一维搜索程序作业;2、单位矩阵程序作业;3、连杆机构问题 自行选择小型机械设计问题或其他工程优化问题;(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;(2)选择适当的优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明。4、写出课程实践心得体会,附列程序文本。5、为响应学校2014年度教学工作会议的改革要求,探索新的
2、课程考核评价方法,特探索性设立一开放式考核项目,占总成绩的5%。 试用您自己认为合适的方式(书面)表达您在本门课程学习方面的努力、进步与收获。(考评将重点关注您的独创性、简洁性与可验证性)。二、研究报告要求1、报告命名规则:学号姓名机械优化设计课程实践报告.doc2、报告提交邮址:weirongw(收到回复,可视为提交成功)。追 求:问题的工程性,格式的完美性,报告的完整性。不 追 求:问题的复杂性,方法的惟一性。评判准则:独一是好,先交为好;切勿拷贝。目 录第1章 一维搜索程序 1第2章 单位矩阵程序 8第3章 机械优化设计工程实例 103.1 连杆机构 103.2 自选工程 15第4章 心
3、得体会 19第五章 开放式考核 20第 1 章 一维搜索1.1一维搜索程序作业描述 本章节主要内容为一维搜索方法,主要完成以下两个问题: 证明0.618法; 编制用0.618法求函数极小值的程序。1.2 黄金分割法的证明黄金分割法,又称作0.618法,适用于 a,b 区间上的任何单谷函数求极小值问题。黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间 a,b 内适当插入两点 1、2 ,并计算其函数值。1、2 将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。然后再在保留下来的区间上做同样的位置,如此迭代下去,使搜索区间无限缩小,从而得到极小
4、点的数值近似值。黄金分割法要求插入点1、2 的位置相对于区间 a,b 两端点具有对称性,即 图 1-1 黄金分割法 1 = b ( b a )2 = a + ( b a ) (3-1)其中,为待定常数。下面证明 = 0.618。除对称性要求外,黄金分割法还要求保留下来的区间内再插入一点所形成的区间新三段,与原来区间的三段具有相同的比例分布。设原有区间 a,b 长度为1如图 1-1 所示,保留下来的区间 a,b 长度为 ,区间缩短率为 。为了保持相同的比例分布,新插入点3 应在 ( 1 ) 位置上,1 在元区间的1 位置应相当于在保留区间的 位置。故有 1 = 即 + 1 = 0取方程正数解得若
5、保留下来的区间为 1,b ,根据插入点的对称性,也能推得同样的的值。1.3 黄金分割法求函数极小值的程序编制图 1-2 黄金分割法的程序框图编写0.618的程序,并计算下列问题NO.1 a=0,b=2,y=cosx,收敛精度e=0.001, #include#include#define f(x) cos(x) double calc(double *a,double *b,double e,int *n) double x1,x2,s; if(fabs(*b-*a)f(x2) *a=x1; else *b=x2; *n=*n+1; s=calc(a,b,e,n); return s; mai
6、n() double s,a,b,e; int n=0; scanf(%lf %lf %lf,&a,&b,&e); s=calc(&a,&b,e,&n); printf(a=%lf,b=%lf,s=%lf,n=%dn,a,b,s,n); 输入a,b,及精度e的值,输出极小点,函数极小值。如下: No2. a=0,b=10,y=(x-2)2+3,收敛精度e=0.001, #include #include void main() float a,b,c=0.618,x4,y4,e; scanf(%f,%f,%f,&a,&b,&e); x1=b-c*(b-a); x2=a+c*(b-a); y1=
7、(x1-2)*(x1-2)+3; y2=(x2-2)*(x2-2)+3; do if(y1=y2) a=x1; x1=x2; y1=y2; x2=a+c*(b-a); y2=(x2-2)*(x2-2)+3; else b=x2; x2=x1; y2=y1; x1=b-c*(b-a); y1=(x1-2)*(x1-2)+3; while(fabs(b-a)/b)e); x0=(a+b)/2; y0=(x0-2)*(x0-2)+3; printf(x*=%fn,x0); printf(y=%fn,y0); 输入a,b,及精度e的值,输出极小点,函数极小值。如下: 第 2 章 单位矩阵程序作业2.1
8、 单位矩阵程序作业描述 编制程序输入N阶单位矩阵。本文主要通过C语言程序编制来输入N阶单位矩阵。2.2 输出单位矩阵程序编制 程序文本 #include void main(void)int a100100; int N,i,j; printf(请输入所要输出矩阵的阶数(最多100阶):); scanf(%d,&N); printf(输出的矩阵阶数为%dn,N); printf( N ); /*制作表头*/ for(i=0;iN;i+) /*横行序号*/ printf(%3d,i+1); printf(n); for(i=0;iN+1;i+) printf(-); /*分割线*/ printf
9、(n); for(i=0;i100;i+) /*数组赋值*/ for(j=0;j100;j+) if(i=j) aij=1; elseaij=0; for(i=0;iN;i+) /*输出所需数组*/ printf(%2d:,i+1); /*纵列序号*/ for(j=0;jN;j+) printf(%3d,aij); printf(n);结果显示从键盘输入9,显示9阶单位矩阵,结果如下第 3章 机械优化设计工程实例3.1 连杆机构问题3.11 连杆机构问题描述图 3-1 机构简图设计一曲柄连杆摇杆机构,要求曲柄l1从从时,摇杆的转角最佳再现已知的运动规律:且=1,=5,为极位角,其传动角允许在范
10、围内变化。3.12 数学模型的建立设计变量:这里有两个独立参数和。因此设计变量为目标函数:将输入角分成30等分,并用近似公式计算,可得目标函数的表达式约束条件:GX(1)=-X(1)0GX(2)=-X(2) 0GX(3)=-(X(1)+X(2)+6.00GX(4)=-(X(2)+4.0)+X(1) 0GX(5)=-(4.0+X(1)+X(2) 0GX(6)=-(1.4142*X(1)*X(2)-X(1)*2-X(2)*2)-16.00GX(7)=-(X(1)*2+X(2)*2+1.4142*X(1)*X(2)+36.003.13 程序编制C=SUBROUTINE FFX(N,X,FX)C=DI
11、MENSION X(N)COMMON /ONE/I1,I2,I3,I4,NFX,I6NFX=NFX+1P0=ACOS(1.0+X(1)*2-X(2)*2+25.0)/(10.0*(1.0+X(1)Q0=ACOS(1.0+X(1)*2-X(2)*2-25.0)/(10.0*X(2)T=90.0*3.1415926/(180.0*30.0)FX=0.0DO 10 K=0,30 PI=P0+K*TQE=Q0+2.0*(PI-P0)*2/(3.0*3.1415926)D=SQRT(26.0-10.0*COS(PI)AL=ACOS(D*D+X(2)*X(2)-X(1)*X(1)/(2.0*D*X(2)B
12、T=ACOS(D*D+24.0)/(10.0*D) IF(PI.GE.0.0 .AND. PI.LT.3.1415926) THEN QI=3.1415926-AL-BT ELSE QI=3.1415926-AL+BT END IF IF(K.NE.0 .OR. K.NE.30)THEN FX=FX+(QI-QE)*2*T ELSE FX=FX+(QI-QE)*2*T/2.0 END IF10 CONTINUERETURNENDC=SUBROUTINE GGX(N,KG,X,GX)C=DIMENSION X(N),GX(KG)GX(1)=-X(1)GX(2)=-X(2)GX(3)=-(X(1)
13、+X(2)+6.0GX(4)=-(X(2)+4.0)+X(1)GX(5)=-(4.0+X(1)+X(2)GX(6)=-(1.4142*X(1)*X(2)-X(1)*2-X(2)*2)-16.0GX(7)=-(X(1)*2+X(2)*2+1.4142*X(1)*X(2)+36.0RETURNENDC=SUBROUTINE HHX(N,KH,X,HX)C=DIMENSION X(N),HX(KH)X(1)=X(1)RETURNEND输入数据如下:2,7,04.3,3.22.,0.2,0.01,0.00001,0.000010,1,03.5,2.8,5.5,4.53.14 可执行程序的生成将程序文本
14、保存成文件t001.txt,存放在OPT_EXAMFORTRAN0-fortran目录下。使用DOS操作界面,OPT_EXAMFORTRAN0-fortran目录下,输入命令 asumt.for+t001.txt t001.for 回车。生成t001.for文件。for1 t001; 回车;for2 回车;link t001; 回车,即生成可执行程序t001.exe。从t001.dat文件中加载数据,运行t001.exe。t001t001.rtf 回车得到结果。操作过程如图:图 3-2 操作步骤3.15 结果与分析 结果显示如下:= PRIMARY DATA = N= 2 KG= 7 KH=
15、0 X : .4300000E+01 .3200000E+01 FX: .7847605E-02 GX: -.4300000E+01 -.3200000E+01 -.1500000E+01 -.2900000E+01 -.5100000E+01 -.6729390E+01 -.1218939E+02 X : .4300000E+01 .3200000E+01 FX: .7847605E-02 GX: -.4300000E+01 -.3200000E+01 -.1500000E+01 -.2900000E+01 -.5100000E+01 -.6729390E+01 -.1218939E+02
16、HX: PEN = .3974390E+01 R = .2000000E+01 C = .2000000E+00 T0= .1000000E-01 EPS1= .1000000E-04 EPS2= .1000000E-04 = ITERATION COMPUTE =* IRC = 1 R = .2000000E+01 PEN= .3974390E+01* IRC = 2 R = .4000000E+00 PEN= .3119361E+01* IRC = 3 R = .8000001E-01 PEN= .6407908E+00* IRC = 4 R = .1600000E-01 PEN= .14
17、39420E+00* IRC = 5 R = .3200000E-02 PEN= .3733451E-01* IRC = 6 R = .6400000E-03 PEN= .8986510E-02* IRC = 7 R = .1280000E-03 PEN= .2346609E-02* IRC = 8 R = .2560000E-04 PEN= .9042178E-03* IRC = 9 R = .5120001E-05 PEN= .5396702E-03* IRC =10 R = .1024000E-05 PEN= .4410887E-03* IRC =11 R = .2048000E-06
18、PEN= .4128061E-03* IRC =12 R = .4096001E-07 PEN= .4071001E-03* IRC =13 R = .8192003E-08 PEN= .4014154E-03* IRC =14 R = .1638401E-08 PEN= .3992769E-03* IRC =15 R = .3276801E-09 PEN= .3987240E-03* IRC =16 R = .6553602E-10 PEN= .3984505E-03* IRC =17 R = .1310720E-10 PEN= .3983411E-03* IRC =18 R = .2621
19、441E-11 PEN= .3982889E-03= OPTIMUM SOLUTION =IRC= 18 ITE= 35 ILI= 94 NPE= 447 NFX= 482 NGR= 0R= .2621441E-11 PEN= .3982696E-03X : .4135127E+01 .2315381E+01FX: .3982623E-03GX: -.4135127E+01 -.2315381E+01 -.4505072E+00 -.2180254E+01 -.5819746E+01 -.7079845E+01 -.3633157E-03HX: Stop - Program terminate
20、d.从结果中得知当X1=4.135127,X2=2.315381时,目标函数取得最小值, 摇杆的转角最佳再现已知的运动规律:。3.2 自选工程问题 3.21 问题描述设计一个压缩圆柱螺旋弹簧,要求其质量最小。弹簧材料为65Mn,最大工作载荷为,最小工作载荷为0,载荷变化频率,弹簧寿命为h,弹簧钢丝直径d的取值范围为1-4mm,中径的取值范围为10-30mm,工作圈数n不应小于4.5圈,弹簧旋绕比C不应小于4,弹簧一端固定,一端自由,工作温度为50,弹簧变形量不小于10mm。 3.22 数学模型的建立【1【2设计变量本题优化目标是使弹簧质量最小,圆柱螺旋弹簧的质量可以表示为:式中,-弹簧材料的密
21、度,对于钢材=-工作圈数;-死圈数,常取=1.5-2.5,现取=2;-弹簧中径(mm);-弹簧钢丝直径(mm);将d,n,D2作为设计变量,即 =目标函数将已知参数代入公式,进行整理后得到问题的目标函数为 【1【2约束条件根据弹簧性能和结构上的要求,可写出问题的约束条件:(1)强度条件 (2)刚度条件 (3)稳定性条件 (4)不发生共振现象,要求 (5)弹簧旋绕比的限制 (6)对的限制 且应取标准值,即1.0,1.2,1.6,2.0,2.5,3.0,3.5,4.0mm,等。 建立优化模型由上可知,该压缩圆柱螺旋弹簧的优化设计是一个三维的约束优化问题,其数学模型为:(计算时系数无影响可舍去)3.
22、23 程序编制并运行结果从上面的分析,以重量最轻为目标的汽门弹簧的优化设计问题共有3个设计变量,11个约束条件。按优化方法程序的规定,编写数学模型的程序如下:FX=0.0000192457*(X(2)+2)*X(1)*2*X(3)RETURNENDSUBROUTINE GGX(N,KG,X,GX)DIMENSION X(N),GX(KG) GX(1)=350*X(1)*(2.86)-163*X(3)*(0.86) GX(2)=0.004*X(2)*X(3)*3-10*X(1)*4 GX(3)=3.7*X(3)*X(1)*4-(X(2)+1.5)*X(1)*5-0.0044*X(2)*X(3)*
23、3 GX(4)=356000*X(1)-375*X(2)*X(3)*2 GX(5)=X(3)-4*X(1) GX(6)=X(1)-1 GX(7)=4-X(1) GX(8)=X(2)-4.5 GX(9)=50-X(2) GX(10)=X(3)-10 GX(11)=30-X(3)RETURNEND利用惩罚函数法(SUMT法)计算,得到的计算结果如下: 优化结果一:优化结果二: 两种不同结果比较:优化结果比较d/mmn/圈数D2/mm第一次优化.176910E+01.574960E+01.162097E+02第二次优化.176910E+01.574960E+01.162097E+02不同初值所得到的
24、结果相同。优化的结果为:x=1.7691,5.7496,16.2097,圆整为标准值为:x=1.6,6,16,经检验合格,相应弹簧的最轻质量6.3g。第 4章 心得体会 王老师,您好!在您七个星期教导下,我对机械优化设计这门课有了一个深入的认识,从一开始的懵懵懂懂,不知道学习这门课的意义,到现在学会了运用这门课所学的方法去解决一些工程实际问题,我理解了这门课的重要性,实用性,和优美性。 机械优化设计是应用数学方法寻求机械设计的最优方案,它的目的是解决工程实际问题。但我刚开始却有一个错误的认识,我的思想一直局限于高中阶段所学的线性规划问题,对于您所教授的一维搜索,牛顿法,共轭梯度法,惩罚函数法等
25、一系列优化方法甚是不解,更不知道为什么要用那么多方法去寻求一个函数的最小值,但随之您给我们的作业中的一句话点醒了我,您说,“要追求系统的完整性,问题的工程性,格式的完美性,不追求:问题的复杂性,方法的惟一性”。 这七个星期的学习,我所得到的不仅是专业方面的知识,更多的是端正了学习的态度,明白了学习的重要,还有时刻被您踏实敬业的工作作风,乐观向上的人生观念所折服,由此产生的敬意我将终身受用。 第五章 开放式考核 通过这堂课的学习,了解了相关的优化方法的优化思路,对计算机解决问题的方法有了初步的了解。从一维搜索解决最优步长到搜索方向的确立,最后从到随机函数法等约束方法的讲解到整体例题的讲解。为了写这个作业,又复习之前学过的MATLAB与C语言,通过运用老师的光盘程序,也知道了优化设计在工程当中的应用,我觉得这就是我的最大收获与进步。