要求设计一个内燃机用气门弹簧,工作载荷F=680N,工作行程h=16.59mm,工作频率fr=25Hz,要求寿命N?10循环次数。弹簧丝材料采用50CrVA,许用应力[?]=405MPa.如下图所示弹簧的结构要求:弹簧丝直径2.5mm?d?9mm,弹簧外径30mm?D?60mm,工作圈数3?n?6,支承圈数n2=1.8(采用YI型端部结构),弹簧指数C?6,弹簧压并高度?b=1.1h=18.25mm。试在满足弹簧的强度条件、刚度条件、稳定性条件、旋绕比条件和结构尺寸边界条件等约束条件下,确定弹簧的弹簧丝直径d,中径D2和工作圈数n等三个设计参数,使它重量最轻、自由高度最小和自振频率最高。
-633
(弹簧钢的材料密度?=7.5*10kg/mm,循环次数N?10时弹簧的曲度系数K=1.6/C
DD26
0.14
,重力加速度g=9.80665m/s)
2
ta
1、确定设计变量
?x1??d?????x??x2???D2?
?x??n???3??2、建立目标函数
1)弹簧的结构重量最轻
?42 f1(x)?1.8148*10x1x2(x3?1.8)
2)弹簧的自由高度最小
f2(x)?x1(x3?1.3)?18.25
3)弹簧的自振频率最高(取倒数作为分目标函数,追求最小值)
f3(x)?fr?1?2.809*10?6x2x3/x1
2
d
3、建立约束函数
g1(x)?2.7706*10x2g2(x)?6?x2/x1?0g3(x)?(x3?1.3)x1?18.25?5.3x2?0g4(x)?250?3.56*10x1/(x2x3)?0g5(x)?680?1.659*10x1/(x2x3)?0g6(x)?2.5?x1?0g7(x)?x1?9.5?0g8(x)?30?x1?x2?0g9(x)?x1?x2?60?0g10(x)?3?x3?0g11(x)?x3?6?05425230.86/x12.86?405?0
编写M函数如下:
function [f]=TH_dmbyh_fTS(x,L,H); p=7.5e-6;gl=9.80665;
f1=p*gl*pi^2*x(1)^2*x(2)*(x(3)+1.8)/4; f(1)=(f1-L(1))/(H(1)-L(1));
f2=x(1)*(x(3)+1.3)+18.25; f(2)=(f2-L(2))/(H(2)-L(2));
f3=2.809e-6*x(2)^2*x(3)/x(1); f(3)=(f3-L(3))/(H(3)-L(3));
function [g,ceq]=TH_dmbyh_gTS(x,L,H);
F=680;t=405;K=1.6;HD=5.3;fr=25;h=16.59;G=8e4; g(1)=8*K*F/pi*x(2)^0.86/x(1)^2.86-t; g(2)=6-x(2)/x(1);
g(3)=(x(3)+1.3)*x(1)+18.25-HD*x(2); g(4)=10*fr-3.56e5*x(1)/x(2)^2/x(3); g(5)=F-h*G/8*x(1)^4/x(2)^3/x(3); ceq=[];
输入参数如下: x0=[6.2;39;5]; lb=[2.5;27.5;3]; ub=[9;51;6]; a=zeros(6,3); a(1,1)=-1;
a(2,1)= 1;
a(3,1)=-1;a(3,2)=-1; a(4,1)= 1;a(4,2)= 1;
a(5,3)=-1;
a(6,3)= 1;
b=[-2.5;9;-30;60;-3;6]';
L=[0.9434 42.5514 1.709e-3]; for i=1:4
H=[11*L(1)-i*L(1) 11.5*L(2)-i*L(2) 13.5*L(3)-i*L(3)]; [x,fn]=fminimax('TH_dmbyh_fTS',x0,a,b,[],[],lb,ub,'TH_dmbyh_gTS',[],L,H);
for j=1:3
ff(j)=fn(j)*(H(j)-L(j))+L(j); end
f1(i)=ff(1);f2(i)=ff(2);f3(i)=1./ff(3);
end
disp ' ******** 圆柱螺旋弹簧多目标优化设计最优解 ********' fprintf (1,' d = %3.4f mm \\n',x(1)) fprintf (1,' D2 = %3.4f mm \\n',x(2)) fprintf (1,' n = %3.4f 圈 \\n',x(3)) fprintf (1,' W = %3.4f N \\n',ff(1)) fprintf (1,' H0 = %3.4f mm \\n',ff(2)) fprintf (1,' fr = %3.4f Hz \\n',1/ff(3)) g=TH_dmbyh_gTS(x,L,H);
disp ' ######## 最优点的性能约束函数值 ########' fprintf (1,' g1* = %3.4f \\n',g(1)) fprintf (1,' g2* = %3.4f \\n',g(2)) fprintf (1,' g3* = %3.4f \\n',g(3)) fprintf (1,' g4* = %3.4f \\n',g(4)) fprintf (1,' g5* = %3.4f \\n',g(5)) disp ' ======== 最优点的边界约束函数值 ========' fprintf (1,' g6* = %3.4f \\n',-b(1)-x(1)) fprintf (1,' g7* = %3.4f \\n',x(1)-b(2)) fprintf (1,' g8* = %3.4f \\n',-b(3)-x(2)) fprintf (1,' g9* = %3.4f \\n',x(2)-b(4)) fprintf (1,' g10* = %3.4f \\n',-b(5)-x(3)) fprintf (1,' g11* = %3.4f \\n',x(3)-b(6))
输出结果:
Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 3 5 1 2 8
******** 圆柱螺旋弹簧多目标优化设计最优解 ******** d = 5.6515 mm D2 = 33.9089 mm
n = 3.0000 圈
W = 0.9434 N H0 = 42.5514 mm fr = 583.2604 Hz
######## 最优点的性能约束函数值 ######## g1* = -0.0000 g2* = 0.0000 g3* = -137.1656 g4* = -333.2627 g5* = -766.8830
======== 最优点的边界约束函数值 ======== g6* = -3.1515 g7* = -3.3485 g8* = -3.9089 g9* = -26.0911 g10* = 0.0000
g11* = -3.0000