机械优化设计实例(人字架优化)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 很容易就能求得结果。在做的过程当中,还是遇到了许多的问题。虽然本题的设计变量,约束方程相对来说比较少,但在编程的时候还是出现了很多的错误。用了很长的时间来排除这些错误。因此如果面对的是比较复杂的问题,在编程之前一定要先做好规划。通过这门课程的学习,开拓了我的视野。任何的事物都在不断的发展改进,书本上所学到的各种算法也都有其局限性,随着工程问题的日益扩大,优化要面对的问题的规模和复杂程度的逐渐增大,这种局限性也就更加的明显。因此,算法也在不断的改进,所以需要在以后及时的了解更加先进的算法,使其能够解决实际的问题。

相关文档
最新文档