资源描述:
《人字架优化设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、人字架的优化设计一、问题描述如图1所示的人字架由两个钢管组成,其顶点受外力2F=3×105N。已知人字架跨度2B=152cm,钢管壁厚T=0.25cm,钢管材料的弹性模量E=2.1MPa,材料密度p=7.8×103kg/m,许用压应力δy=420MPa。求钢管压应力δ不超过许用压应力δy和失稳临界应力δc的条件下,人字架的高h和钢管平均直径D使钢管总质量m为最小。二、分析设计变量:平均直径D、高度h三、数学建模所设计的空心传动轴应该满足以下条件:(1)强度约束条件(2)约束稳定性条件(3)取值范围四、优化方法、编
2、程及结果分析综合上述分析可得优化数学模型是一个具有2个设计变量,4个约束条件的有约束非线性最优化问题,属于小型优化设计,选用内点惩罚函数法,能用来求解具有不等式约束的优化问题。内点惩罚函数法简称内点法,这种方法将新目标函数定义于可行域内,序列迭代点在可行域内逐步逼近约束边界上的最优点。五、matlab编程1.首先建立M文件fun.m,用来定义目标函数F(X):functionf=fun(X);f=F(X);2.一般非线性规划其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量.用MATLAB求解上
3、述问题,基本步骤分三步:3.建立主程序.求解非线性规划的函数是fmincon,命令的基本格式如下:(1)x=fmincon(‘fun’,X0,A,b)(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)(3)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,opti
4、ons)(6)[x,fval]=fmincon(…)(7)[x,fval,exitflag]=fmincon(…)(8)[x,fval,exitflag,output]=fmincon(…)输出极值点M文件迭代的初值参数说明变量上下限(1)目标函数functionf=objfun(x)B=760;T=2.5;P1=7.8e-3;f=P1*2*T*pi*x(1)*sqrt(B^2+x(2)^2);这里把密度用P1表示,这里的B和T的单位用mm(2)约束函数function[G,ceq]=confun(x)B=760
5、;T=2.5;P=150000;E=2.1e5;S=P*sqrt(B^2+x(2)^2)/x(2);R=S/(pi*T*x(1));G(1)=R-420;N=0.125*pi^2*E*(x(1)^2+T^2)/(B^2+x(2)^2);G(2)=R-N;ceq=[];(3)搜索x0=[100;700];vlb=[0;0];vub=[];options=optimset('Display','iter');[x,fval]=fmincon('objfun',x0,[],[],[],[],vlb,vub,'confu
6、n',options)MaxLinesearchDirectionalFirst-orderIterF-countf(x)constraintsteplengthderivativeoptimalityProcedure0312659.6-100179923.05-60.050.5-5.45e+0031.9e+0032119098.35-27.340.5-1.65e+003751Hessianmodified3148465.222.0411-633444178505.220.00891401.145208502.
7、240.0044331-32.776248468.750.48180.5-719.697278458.530.50441-12.210.28308468.460.00560319.930.1139338468.574.263e-00510.1110.0014710368468.573.708e-01010.0008591.22e-00611398468.571.705e-01317.47e-0092.14e-008Hessianmodified(4)结果及迭代次数Optimizationterminated:fi
8、rst-orderoptimalitymeasurelessthanoptions.TolFunandmaximumconstraintviolationislessthanoptions.TolCon.Activeinequalities(towithinoptions.TolCon=1e-006):lowerupperineqlinineqnonlin1x=64.30