空心传动轴的优化设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空心传动轴的优化设计
一、问题描述
设计一重量最轻的空心传动轴。空心传动轴的D 、d 分别为轴的外径和内径。轴的长度不得小于5m 。轴的材料为45钢,密度为7.8×10-6㎏/㎜,弹性模量E=2×105MPa ,许用切应力[τ]=60MPa 。轴所受扭矩为M=2×106N·mm 。
二、分析
设计变量:外径D 、内径d 、长度l
设计要求:满足强度,稳定性和结构尺寸要求外,还应达到重量最轻目的。
三、数学建模
所设计的空心传动轴应满足以下条件:
(1) 扭转强度 空心传动轴的扭转切应力不得超过许用值,即
τ≤[]τ
空心传动轴的扭转切应力: ()
4
416d
D MD
-=
πτ 经整理得 0107.1544≤⨯+-D D d
(2) 抗皱稳定性扭转切应力不得超过扭转稳定得临界切应力:
ττ'≤
2
327.0⎪⎭
⎫
⎝⎛-='D d D E τ 整理得:
028.722
3
44≤⎪⎭
⎫
⎝⎛---D d D d D D
(3)结构尺寸
min l l ≥
0≥d 0≥-d D
⎥⎥⎥⎦⎤⎢
⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=l d D x x x X 321 则目标函数为:()()[]()
32
22166221012.61012.6min x x x d D l x f -⨯=⨯-=-- 约束条件为:0107.1107.1)(15
4
14
25441≤⨯+-=⨯+-=x x x D D d X g
08.728.72)(2
/312142
4
112
/3442≤⎪⎪⎭
⎫
⎝⎛---=
⎪
⎭
⎫
⎝⎛---=
X x
x x x x x D d D d D D g
055)(33≤-=-=x l X g
0)(24≤-==x d X g 0)(215<+-=-=x x d D X g
四、优化方法、编程及结果分析
1优化方法
综合上述分析可得优化数学模型为:()T
x x x X 321,,=;)(min x f ;
()0..≤x g t s i 。考察该模型,它是一个具有3个设计变量,5个约束条件的有约束
非线性的单目标最优化问题,属于小型优化设计,故采用SUMT 惩罚函数内点法求解。
2方法原理
内点惩罚函数法简称内点法,这种方法将新目标函数定义于可行域内,序列迭代点在可行域内逐步逼近约束边界上的最优点。内点法只能用来求解具有不等式约束的优化问题。
对于只具有不等式约束的优化问题
)(min x f
),,2,1(0)(..m j x j
g t s =≤
转化后的惩罚函数形式为
⎰∑
=-=m
j j x g r x f r x 1
)
(1
)(),(φ 或[]
∑=--=m
j j x g r x f r x 1
)(ln )()
,(φ
式中r ——惩罚因子,它是由大到小且趋近于0的数列,即
0210→>>> r r r 。
[]
∑∑==-m
j m
j j j x g x g 11)(ln )(1
—障碍项—或。 由于内点法的迭代过程在可行域内进行,障碍项的作用是阻止迭代点越出可行域。由障碍项的函数形式可知,当迭代靠近某一约束边界时,其值趋近于0,而障碍项的值陡然增加,并趋近于无穷大,好像在可行域的边界上筑起了一道“围墙”,使迭代点始终不能越出可行域。显然,只有当惩罚因子0→r 时,才能求得在约束边界上的最优解。
3编程
首先编制两个函数文件,分别保存为目标函数和约束函数。 function f=objfun(x)
f=pi*rou*((x(1)^2-d^2)*x(4)+(x(2)^2-d^2)*x(3)/4 再编写非线性约束函数文件M 文件ax.m; Function [c,ceq]=g(x); pi=3.14;
d=40; %主轴内径mm F=20000; %切削力N P=1.5; %主轴输入功率KW n=960; %主轴转速r/min E=2.1*10^5; %主轴材料弹性模量N/mm^2
y=0.05; %许用挠度mm fa=1/12;
%许用扭转刚度/m ︒
sita=0.0025; %许用偏转角
G=0.081; %轴材料的剪切弹性模量GPa
c(1)=64*F*x(4)^2*(4*x(4)/(x(1)^4-d^4)+3*x(3)/(x(2)^4-d^4))/(3*pi*E)-y;
c(2)=180*9549*P/(pi^2*n*G*(x(2)^4-d^4)/32)-fa;
c(3)=F*x(3)*x(4)/(3*E*(x(2)^4-d^4))-sita;
ceq=[];
在MATLAB命令窗口给出搜索值和线性约束,并调用优化程序:
x0=[120;110;450;120];
a=[1 0 0 0;-1 0 0 0;0 1 0 0;0 -1 0 0;0 0 1 0;0 0 -1 0;0 0 0 1;0 0 0 -1];
b=[160;-80;150;-70;600;-350;160;-80];
1b=[80;70;350;80];
ub=[160;150;600;160];
[x,fval]=fmincon(@axis_m,x0,a,b,[],[],1b,ub,@ax)
4结果分析
优化程序经过12次迭代计算收敛,得到结果如下:
x=107.6547 102.7428 350.0000 80.0000
fval=24.0857
圆整后得到X=(109,104,350,80)T,fval=24.9897,显然机床主轴结构比较合理。