《机械优化设计》课程实践报告.doc

  • 格式:doc
  • 大小:622.48 KB
  • 文档页数:14

1 合肥工业大学 《机械优化设计》课程实践 研究报告

班 级: 机设五班 学 号: 20100539 姓 名: 张荣华 授课老师: 王卫荣 日 期: 2013年 5月 8日 2

(课程实践与研究报告要求)

1、一维搜索程序作业; 2、单位矩阵程序作业; 3、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题; (1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;

(2)选择适当的优化方法,进行优化计算; (3)分析计算结果,并加以说明。 4、写出课程实践心得体会,附列程序文本。 3

一、一位搜索程序作业:用黄金分割法(0.618法)解决优化问题。 用0.618法求函数在〔a,b〕区间上的极小值。用C语言编写程序如下: (一)a=0,b=10,y=(x-2)2+3,收敛精度e=0.001, #include #include void main() { float a,b,c=0.618,x[4],y[4],e; scanf("%f,%f,%f",&a,&b,&e); x[1]=b-c*(b-a); x[2]=a+c*(b-a); y[1]=(x[1]-2)*(x[1]-2)+3; y[2]=(x[2]-2)*(x[2]-2)+3; do{ if(y[1]>=y[2]) { a=x[1]; x[1]=x[2]; y[1]=y[2]; x[2]=a+c*(b-a); y[2]=(x[2]-2)*(x[2]-2)+3; } else { b=x[2]; x[2]=x[1]; y[2]=y[1]; x[1]=b-c*(b-a); y[1]=(x[1]-2)*(x[1]-2)+3; } }while(fabs((b-a)/b)>e); x[0]=(a+b)/2; y[0]=(x[0]-2)*(x[0]-2)+3; printf("x*=%f\n",x[0]); printf("y=%f\n",y[0]); } 输入a,b,及精度e的值,输出极小点,函数极小值。如下:

4

(二)、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)<=e) s=f((*b+*a)/2); else { x1=*b-0.618*(*b-*a); x2=*a+0.618*(*b-*a); if(f(x1)>f(x2)) *a=x1; else *b=x2; *n=*n+1; s=calc(a,b,e,n); } return s; } main() { double s,a,b,e; int n=0; 5

scanf("%lf %lf %lf",&a,&b,&e); s=calc(&a,&b,e,&n); printf("a=%lf,b=%lf,s=%lf,n=%d\n",a,b,s,n); } 输入a,b,及精度e的值,输出极小点,函数极小值。如下:

二、单位矩阵程序作业 用最简捷的语言生成一个n维单位矩阵,n为输入量。 用C语言编写程序如下:

#include void main(void) { int i,j,n; printf("%3d",n); scanf("%3d",&n); for(i=0;i<=n;i++) { for(j=0;j<=n;j++) { if(i==j) printf("%3d",1); else printf("%3d",0); } 6

printf("\n");} }

运行结果: 当n=6时:

当n=15时: 7 三、工程优化问题: (一)连杆机构问题:

设计一曲柄连杆摇杆机构,要求曲柄l1从1l从900m时,摇杆3l的转角最佳再现已知的运动规

律:200)(32E且1l=1,4l=5,0为极位角,其传动角允许在13545范围内变化。

解:1、分析:这里有两个独立参数和。因此设计变量为 将输入角分成30等分,并用近似公式计算,可得目标函数的表达式

约束条件是: GX(1)=-X(1)0 GX(2)=-X(2) 0 GX(3)=-(X(1)+X(2))+6.00 GX(4)=-(X(2)+4.0)+X(1) 0 GX(5)=-(4.0+X(1))+X(2) 0 GX(6)=-(1.4142*X(1)*X(2)-X(1)**2-X(2)**2)-16.00 GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.00 程序文本(随机方向法)为: procedure ffx; var p0,q0,T,PI,QE,D,AL,BT,QI:real; K:integer; test:string; begin with form1.rand do begin NFX:=NFX+1; p0:=arccos((sqr(1.0+X[1])-sqr(X[2])+25.0)/(10.0*(1.0+X[1]))); q0:=arccos((sqr(1.0+X[1])-sqr(X[2])-25.0)/(10.0*X[2])); T:=90.0/30.0*(3.1415926/180.0); FX:=0.0; For K:=0 To 30 do; begin PI:=p0+K*T; QE:=Q0+2.0*sqr(PI-p0)*2/(3.0*3.1415926); D:=SQRT(26.0-10.0*COS(pI)); AL:=ArcCos((D*D+X[2]*X[2]-X[1]*X[1])/(2.0*D*X[2])); BT:=arccos((D*D+24.0)/(10.0*D)); IF ((PI>=0.0) AND (PI<3.1415926)) 8

THEN QI:=3.1415926-AL-BT ELSE QI:=3.1415926-AL+BT; IF((K<>0) OR (K<>30)) THEN FX:=FX+sqr(QI-QE)*T ELSE FX:=FX+sqr(QI-QE)*T/2.0; end; end; end; procedure ggx; begin with form1.rand do begin GX[1]:=-X[1]; GX[2]:=-X[2]; GX[3]:=-(X[1]+X[2])+6.0; GX[4]:=-(X[2]+4.0)+X[1]; GX[5]:=-(X[1]+4.0)+X[2]; GX[6]:=-(1.4142*X[1]*X[2]-X[1]*X[1]-X[2]*X[2])-16.0; GX[7]:=-(X[1]*X[1]+X[2]*X[2]+1.4142*X[1]*X[2])+36.0; end; end; 数据输入: 9 程序结果: 10

(二)其他工程优化问题 设计一个压缩圆柱螺旋弹簧,要求其质量最小。弹簧材料为65Mn,最大工作载

荷为max40FN,最小工作载荷为0,载荷变化频率25rfHz,弹簧寿命为410h,弹

簧钢丝直径d的取值范围为1-4mm,中径2D的取值范围为10-30mm,工作圈数n不应

小于4.5圈,弹簧旋绕比C不应小于4,弹簧一端固定,一端自由,工作温度为50℃,弹簧变形量不小于10mm。 解:1设计变量 本题优化目标是使弹簧质量最小,圆柱螺旋弹簧的质量可以表示为: 2122()4MnnDd

式中,-弹簧材料的密度,对于钢材=637.810/;kgmm

n-工作圈数;

2n-死圈数,常取2n=1.5-2.5,现取2n=2;

2D-弹簧中径(mm);

d-弹簧钢丝直径(mm);

将d,n,D2作为设计变量,即 错误!未找到引用源。 错误!未找到引用源。 错误!未找到引用源。=错误!

未找到引用源。

2、目标函数

将已知参数代入公式,进行整理后得到问题的目标函数为 42213()0.19245710(2)fxMxxx

3、约束条件 根据弹簧性能和结构上的要求,可写出问题的约束条件: (1)强度条件 2.860.86113()350163.00gxxx

(2)刚度条件 2432123()0.41010.00gxxxx

(3)稳定性条件 2433321123()3.7(1.5)0.44100gxxxxxxx

(4)不发生共振现象,要求 6124123()0.356103750gxxxx