机械优化设计实例(人字架优化)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人字架的优化设计
一、问题描述
如图1所示的人字架由两个钢管组成,其顶点受外力2F=3×105N 。已知人字架跨度2B=152 cm,钢管壁厚T=0.25cm,钢管材料的弹性模量E=2.15
10⨯ MPa ,材料密度p=7.8×103 kg /m ,许用压应力δy =420 MPa 。求钢管压应力δ不超过许用压应力 δy 和失稳临界应力 δc 的条件下,人字架的高h 和钢管平均直径D 使钢管总质量m 为最小。
二、分析
设计变量:平均直径D 、高度h
三、数学建模
所设计的空心传动轴应满足以下条件: (1) 强度约束条件 即
δ≤⎥⎦
⎤⎢⎣⎡y δ 经整理得
(
)
[]y hTD
h
B F δπ≤+2
122
(2) 稳定性约束条件:
[]c δδ≤
(
)
(
)
(
)
2
22
222
122
8h
B D T E hTD
h B F ++≤+ππ (3)取值范围:
12010≤≤D 1000200≤≤h
则目标函数为:()22
13
57760010
5224.122min x x x f +⨯=- 约束条件为:0420577600106)(2
12
2
41≤-+⨯=x Tx x X g π
()
057760025.63272.259078577600106)(2
2
212
12
2
42≤++-+⨯=
X x x x Tx x g π010)(13≤-=x X g 0120)(14≤-=x X g
0200)(25≤-=x X g 01000)(26≤-=x X g
四、优化方法、编程及结果分析
1优化方法
综合上述分析可得优化数学模型为:()T
x x X 21,=;)(min x f ;()0..≤x g t s i 。
考察该模型,它是一个具有2个设计变量,6个约束条件的有约束非线性的单目标最优化问题,属于小型优化设计,故采用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) B=1520;T=2.5;P=7.8e-3;
f=2*pi*P*x(1)*T*sqrt((B/2)^2+x(2)^2); 再编写非线性约束函数文件M 文件confun.m; function [c,ceq]=confun(x)
B=1520;T=2.5;P=300000;E =2.1e5;F1=420; Q=0.5*P*sqrt((B/2)^2+x(2)^2)/x(2); st=Q/(pi*T*x(1)); g(1)=st-F1;
F2=0.125*pi^2*E*(x(1)^2+T^2)/((B/2)^2+x(2)^2);
g(2)=st-F2;
ceq=[];
在MATLAB命令窗口给出搜索值和线性约束,并调用优化程序:x0=[100;700];
a=[-1,0 ;1,0 ;0 ,-1;0,1];
b=[-10;120;-200;1000];
1b=[10;200];
ub=[120;1000];
[x,fval]=fmincon(@objfun,x0,a,b,[],[],1b,ub,@confun)
4结果分析
优化程序经过11次迭代计算收敛,得到结果如下:
x=64.3083 760.0000
fval=8468.5714
圆整后得到X=(65,760)T.
图1
图2
验算:7.253)(1-=X g <0
65.782)(2-=X g <0 )(3X g <0
)(4X g <0 )(5X g <0 )(6X g <0
五、课程实践心得体会
通过《机械优化设计》这门课程的学习,初步了解和熟悉了机械优化设计的基本设计流程。传统的机械设计往往很保守,这样就造成了材料的浪费,也增加了产品的成本。优化方法随着计算机的应用而迅速发展起来,采用优化方法,既可以使方案在规定的设计要求下达到某些优化的结果,又不必耗费过多的计算工作量,因而得到广泛的重视,其应用也越来越广。再本科做课程设计设计轴以及其他零件的时候,往往把尺寸加大,用这种方法来使零件满足强度要求。这种做法在实际的生产过程中实不可取的。因此作为一名机械专业的学生,在走向工作岗位之前了解并能够熟练运用这些方法是很有必要的。在这2个多月的学习中,我学习了一些优化方法的原理及其求解步骤。在实际应用中,能够对简单的问题进行分析和求解。在这次的作业中,因为编程的基础比较薄弱,因此我运用了matlab 软件。只要能够建立起问题的数学模型,运用matlab 很容易就能求得结果。在做的过程当中,还是遇到了许多的问题。虽然本题的设计变量,约束方程相对来说比较少,但在编程的时候还是出现了很多的错误。用了很长的时间来排除这些错误。因此如果面对的是比较复杂的问题,在编程之前一定要先做好规划。通过这门课程的学习,开拓了我的视野。任何的事物都在不断的发展改进,书本上所学到的各种算法也都有其局限性,随着工程问题的日益扩大,优化要面对的问题的规模和复杂程度的逐渐增大,这种局限性也就更加的明显。因此,算法也在不断的改进,所以需要在以后及时的了解更加先进的算法,使其能够解决实际的问题。