结构可靠度分析的响应面法及其Matlab实现_第1页
结构可靠度分析的响应面法及其Matlab实现_第2页
结构可靠度分析的响应面法及其Matlab实现_第3页
结构可靠度分析的响应面法及其Matlab实现_第4页
结构可靠度分析的响应面法及其Matlab实现_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第21卷第6期2004年12月计算力学学报ChineseJournalofComputationalMechanicsVol.21,No.6December2004文章编号:100724708(2004)0620683205结构可靠度分析的响应面法及其Matlab实现桂劲松1,2,康海贵31(1.大连理工大学海岸和近海工程国家重点实验室,辽宁大连116024;2.大连水产学院土木工程学院,辽宁大连116023)摘要:对功能函数不能明确表达的问题进行可靠度分析,常采用响应面法。其中以求得验算点为目的迭代的二次多项式序列响应面法应用较为广泛,本文给出了该方法的Matlab源程序。提出了基于Matl

2、ab的插值响应面法和BP神经网络响应面法,介绍了其在Matlab环境下的实现方法,并进行了三种方法的对比分析。Matlab语言基本元素是矩阵,提供了各种矩阵的运算和操作,其中包含结构可靠度计算中常用的各种数值计算方法工具箱。采用Matlab语言构造响应面函数,进行结构可靠度计算,可充分发挥其矩阵运算功能及各种工具箱的作用,使编程效率大大提高,且语法简便,易于掌握。Matlab语言在可靠度计算中的应用,使用起到积极推进作用。关键词:结构可靠度;Matlab;响应面法中图分类号:TU451文献标识码:A1引言,即为显示功能函数,。在实际工程中,既使对其进行确定性分析,都需要借助于有限元等数值分析工

3、具。在这种情况下进行结构可靠度分析时,常不能给出功能函数的明确表达式。这一类问题,可采用蒙特卡罗结合有限元法、随机有限元法及响应面法1进行求解。其中,响应面法是选用一个适当的、可以明确表达的函数来近似代替不能明确表达的函数,即通过一系列有限元数值计算拟合一个响应面以代替未知的、真实的极限状态曲面。其优点是可以直接利用已经广泛应用的确定性有限元分析程序,因其思路清晰,编程方便,在实际工程中得到广泛应用。Matlab软件包是当今国际认可的最好的科学计算工具,目前最新的6.x版本是一种功能强、效率高、便于进行科学和工程计算的交互式软件包。Matlab语言中基本元素是矩阵,它提供了各种矩阵的运算和操作

4、,且其中包含有科研和工程设计中常用的各种数值计算方法的计算程序。由于Matlab的强大功能,它日益受到广大科技工作者的亲睐2。收稿日期:2003202221;修改稿收到日期:20032082251基金项目:国家自然科学基金重大项目(59895410);辽宁省自然科学基金(002067)资助项目1作者简介:桂劲松(19682),男,副教授,博士生;康海贵3(19452),男,教授,博士生导师1,需要用到很多与概率、统计和最优化方法有关的数值计算方法,这些在Matlab环境中均可以轻易实现。我们用它编制了用于结构可靠度计算的二次多项式序列响应面法、插值响应面法以及神经网络响应面法计算程序,可供工程

5、技术人员参考使用。2最优化方法计算可靠度数学模型目前,结构的极限状态方程都基于抗力2荷载效应模型,现有可靠度计算方法多采用一次二阶矩法计算结构可靠度,包括中心点法、验算点法(JC法)、映射变换法、实用分析法、最优化方法等,其中验算点法、映射变换法及最优化方法由于计算效果理想而使用较多。由于Matlab软件包具有最优化工具箱,可以方便地实现各类优化问题的求解,且该方法不需进行功能函数的求导计算,故文中采用最优化方法进行结构可靠度计算。X1,X2,Xn是结构可靠度分析中n个任意分布的独立随机变量,由这些随机变量表示的结构极限状态方程为:Z=g(X1,X2,Xn)=0,采用拉科维茨2菲斯莱法将非正态

6、变量当量正态化,可得等效正态分布的均值X、标准差X及可靠指标ii。3X=55-1FXi(x3fXi(xi)i)󰃗iX=x35-1FXi(x3i-i)Xii(1)(2)(3)22)󰃗=(x3X1󰃗Xi-ii684计算力学学报第21卷由可靠指标的几何意义可知,在标准正态坐标系中,极限状态曲面上与坐标原点距离最近的点为验算点,其最短距离为可靠指标。开始时验算点未知,把看成极限状态曲面上点P(x1,x2,xn)的函数,求解可靠指标可以归结为求解以下约束优化模型3:n步迭代,直至收敛为止。xM=x(k)(k)+(x3(k)-x(k)g(x(k)-g(x3(

7、k)(k)(6)在计算中需用到三个工具,即结构分析、线性方程组求解、一般的可靠度求解。进行结构分析可采用现已在工程中得到广泛应用的ANSYS、SAP等有限元商业软件。采用Matlab语言编程进行线性方程组求解及可靠度计算,可使问题大大简化。线性方程组的一般式为Ax=b,其中A是m×n阶矩阵,b是m维列向量,未知数x是n维列向量。利用Matlab进行线性方程组求解,只须输入指令x=A󰃙b即可。可靠度计算转化为求解形如式(4)的约束优化问题,可利用Matlabfm3.2min=(xi=1i-Xi)󰃗Xi2(4)s.t.g(x1,x2,xn)=0通过优化求解

8、,找到最小值,即可得到可靠33指标和验算点P3(x31,x2,xn)。3计算结构可靠度的响应面法在传统的结构可靠度分析中,一次二阶矩法得到了广泛的应用,但这类方法以功能函数具有明确的解析表达式为基础,要求功能函数已知,或可用数学表达式明确描述,因此其应用受到一定限制。在实际工程中,复杂,。对这一类问题,可采用响应面方法求解,常用的响应面法为以求得验算点为目的的迭代的二次多项式序列响应面法,本文采用与此方法相同的思路,提出了基于Matlab的插值响应面法和神经网络响应面法。3.1二次多项式序列响应面法该方法用不含交叉项的二次多项式表示响应面函数,待定系数为2n+1个。nnii对于有两个随机变量的

9、可靠度计算问题,采用Matlab提供的二元随机数据点插值函数GRIDDATA构造响应面函数,计算效果较好。调用格式为2)Z=griddata(X,Y,Z,XI,YI,method其意义为依据已知数据X,Y和Z,可构造插值函数Z=g(X,Y),返回在响应数据点XI,YI处函(线数值ZI=g(XI,YI)。可采用linearmethod(三次多项式插值),(最性插值),cubicnearest(Matlab随机数据点插值),其中近邻插值),v4cubic及v4方法可生成光滑曲面,可用于构造响Z=g(X)=a+bXi=1+cXii=12i(5)应面函数,经比较,v4方法效果较好,故文中采用此方法。其

10、计算步骤如下:(1)()(1)假定初始迭代点x(1)=(x1,x21,(1)xn),取均值点。计算步骤如下1:(1)()(1)假定初始迭代点x(1)=(x1,x21,(1)xn),一般取均值点。(2)通过结构有限元等数值方法计算功能函()()()()()数值g(x11,x21,xn1)以及g(x11,xi1±(1)fi,xn),其中f第一步取3,此后取1。(2)通过结构有限元等数值方法计算功能函()()()()数值g(x11,x21),g(x11±f1,x21±f2),其中f第一步取3,此后取1。(3)解线性方程组,得2n+1个待定系数,从(3)调用Matlab的

11、griddata函数,构造插值响而确定由二次多项式表示的响应面函数。(4)用一次二阶矩法求解验算点x3(k)及可靠指标(k)。(5)计算󰃜(k)-(k-1)󰃜<给定精度(文中取0.001),如条件满足,则输出;如不满足,经(k)线性插值得新展开点xM,然后返回(2)进行下一应面。(4)调用Matlab优化方法工具箱的fmincon函数求解验算点x3k及可靠指标k。(5)同序列响应面法。()()3.3神经网络响应面大量中外文献的分析研究认为,不管多么复杂第6期桂劲松,等:结构可靠度分析的响应面法及其Matlab实现globalMuSigama685%定义全局

12、变量。的结构都可以运用BP网络进行快速的分析与计算4。其方法为:首先用传统力学方法进行结构分析;其次用所得结果训练神经网络,建立输入与输出之间的映射函数关系;最后用训练后所得神经网络进行结构分析与设计。神经网络可以看成是一个从输入到输出的高度非线性映射,它通过对简单的非线性函数进行数次拟合,可近似复杂的函数。神经网络响应面法根据一系列确定性试验(通常为结构有限元数值计算),采用一个三层BP神经网络来拟合一个响应面以代替未知的真实的极限状态曲面。其计算步骤(1),(2),(3),(4)步同二次多项式序列响应面法,第(5)步不用经线性插值得新展()(k)开点xM,直接利用第(4)步所得验算点x3k

13、,返回(2)进行下一步迭代,直至收敛为止。直接采用上步所得验算点进行下一步迭代,不经线性插值得新展开点,可减少结构有限元数值计算次数。经若干实例分析,效果较好。CC=(X(1)-Mu(1)󰃗Sigama(1)2+(X(2)-Mu(2)󰃗Sigama(2)2%X均为正态分布。functionc,ceq=st(X)%约束条件子函数。c=;%非线性不等式约束。ceq=xym(X)%非线性等式约束B1.8897;10.%求解二次响应面函数各项系数。Z=C(1)+C(2)3X(1)+C(3)3X(2)+C(4)3X(1)+C(5)3X(2);%计算功能函4已知的情况,工作

14、,且可以与一次二阶矩法计算结果(文中看作精确解)进行对比分析。算例1功能函数Z1=18.46-7.48X1󰃗X2,X1N(10,2),X2N(2.5,0.375),求验算点333P(x1,x2)及结构可靠指标。算例2功能函数Z2=1+X1X2-X2,X1LN(2,0.4),X2LN(4,0.8),求验算点333P(x1,x2)及结构可靠指标。限于篇幅,仅给出算例1Matlab源程序。4.1二次多项式序列响应面法Mu=102.5;%输入平均值。Sigama=20.375%输入标准差。X0=102.5;%输入初始迭代点。A=;b=;Aeq=;beq=;%意义参见文献2。lb=;ub

15、=;X,fval,exitflag,output=fmincon(bata2,X0,A,b,Aeq,beq,lb,ub,st);%调用优化工具箱求解。bata=sqrt(fval);%计算可靠指标。Pf=cdf(norm,-bata,0,1);%计算失效概率。functionCC=bata2(X)%目标函数子函数。数值。4.2插值响应面法仅约束条件子函数与二次多项式序列响应面方法有所不同。functionc,ceq=st(X)%约束条件子函数。c=;-10.3136;);%计算功能Z=griddata(X1,X2,ZZ,a,b,v4函数值。4.3神经网络响应面法本文算例采用具有一个隐层的BP神

16、经网络。网络结构见图1。结合题意,输入层采用5个神经元,输出层采用1个神经元。隐层结合具体问题并经试算分析采用3个神经元。该BP神经网络通过对有限元分析所得样本的学习,可获得输入和输出间的高度非线性映射关系。而此关系利用一般的解析表达式均难以精确实现。686计算力学学报第21卷B2=-10.8555;XX=X(1);X(2););Z=simuff(XX,w1,b1,logsig,w2,b2,purelin%计算功能函数值。functionw1,b1,w2,b2=trainBplm(X);%训练BP神经网络响应面,lm算法。X1=10.016.04.010.010.0;X2=2.52.52.53

17、.6251.375;p=X1;X2;t=13.6728;10.8005;16.5451;16.8897;-10.3136;图1BP网络结构Fig.1NetworkstructureofBPs1=3;%设定隐层神经元个数。tp=110000.0000001;%设定显示频率、最Matlab程序与二次多项式序列响应面法比大训练步数、误差指标。w1,b1,wb2=itfflogsig,t,);pu%Bp网络,得权值。1,b1,w2,b2=trainlm(w1,b1,logsig,w2,b2,purelin,p,t,tp)较,仅约束条件子函数有所不同,另外需增加训练BP神经网络响应面的trainBplm

18、(X)子函数。经比较,训练时采用lm算法,即Levenberg2M优化算法,其相对于Matlab的其他方法(x5,functionc,=st(X)%求可靠度约束条件子函数。c=;ceq=stBplm(X);%调用神经网络响5计算结果分析计算结果见表1。若把一次二阶矩结果作为精确解,可见,各种响应面方法计算效果均较理想。二次多项式序列响应面法符合最好,但相对比较起来,迭代次数最多,进行有限元数值计算次数也最多,计算工作量大。而其他两法计算效果虽然稍差,但其精度基本满足工程精度要求,且迭代次数相对较少,计算工作量相应减少。其中,神经网络响应面法,在达到同样预定计算精度情况下,所需迭代次数最少,且其

19、无需进行线性插值求得新展开点,因此,在迭代次数相同的情况下,计算工作量最少。应面函数子函数。functionZ=stBplm(X)%BP神经网络响应面。%权值通过调用trainBplm子函数,进行网络训练得到。W1=0.1242-1.9466;67.301422.5133;-90.9424-20.8143;B1=-1.5036;4.0199;3.0905;W2=-552.204828.3283-130.4954;表1计算结果比较Tab.1Comparisonofresults计算项目可靠指标验算点迭代次数有限元计算次数可靠指标验算点迭代次数有限元计算次数一次二阶矩法2.330(11.186,1

20、.655)二次多项式序列响应面法2.331(11.012,1.647)529插值响应面法2.322(11.174,1.658)5294.716(0.798,5.0383)423神经网络响应面法2.350(11.137,1.645)4204.690(0.794,4.837)525算例14.690(0.797,4.933)4.690(0.798,4.946)635算例2第6期桂劲松,等:结构可靠度分析的响应面法及其Matlab实现6876结论对于实际工程中功能函数无法明确表达的可靠度计算问题,利用文中所介绍的各种响应面方法进行求解,可使问题大大简化。响应面法是用数值拟合方法构造一个代用函数,代替原

21、功能函数进行可靠度分析,所求得的可靠度指标是针对代用功能函数的,因此,所构造代用函数对原功能的拟合效果直接影响到可靠度计算结果。采用BP神经网络拟和响应面函数,可从理论上解决响应面的精度问题,从理论上和实际上均证明是行之有效的一种方法。用Matlab语言构造响应面函数,进行结构可靠度计算,可充分发挥其矩阵运算功能及各种工具箱的作用,使编程效率大大提高。若用Fortran,C等计算机语言编程,不仅需要对有关算法有深刻的了解,还需熟练掌握所用语言的算法及编程技巧,这对许多工程技术人员来说有一定难度。而Matlab语言语法简便,易于掌握,用。,Matlab语言编制程序非常简单,限于篇幅,文中不予列出

22、。相信Matlab语言在可靠度计算中的应用,可使工程技术人员从繁琐的计算机编程中解脱出来,从而集中精力去思考问题和解决问题,提高工作效率和解题质量,这将对结构可靠度理论的推广使用起到积极推进作用。参考文献(References):1赵国藩,等.工程结构可靠性理论与应用M.大连:大连理工大学出版社,1996.(ZhaoGuofan,etal.ReliabilityTheoryandItsApplicationsforEnginee2ringStructuresM.Dalian:DalianUniversityofTechnologyPress,1996.(inChinese)2刘则毅,等.科学计算技术与MatlabM.北京:科学出版社,2001.(LiuZeyi,etal.NumericalComputa2tionwithMatlabM.Beijing:SciencePress,2001.(inChinese)3冷伍明.基础工程可靠度分析与设计理论M.长沙:中南大学出版社,2000.(Lenguming.ReliabilitynalysisDTationEnginee2ring:thUniversityP,()4M.北京:科学出版社,2002.(JiangShaofei.StructureOptimizationand

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论