劉敬敏 王文濤 夏雨
摘 要:工程結構的功能函數大多為隱式表達式,使得以功能函數的顯式表達式為基礎的可靠度計算方法難以應用。為此,基于BP神經網絡法和一次二階矩法,根據結構隨機變量的統(tǒng)計特性進行隨機抽樣獲取有限數量的樣本點,計算出每組樣本點下結構的響應值;然后,將其代入由結構響應容許值與實際響應值建立的功能函數中,得到每組樣本點下結構的功能函數值;利用BP神經網絡對功能函數進行擬合,得到其顯式表達式之后,采用一次二階矩法計算結構可靠度,提出了一種針對隱式功能函數的結構可靠度分析方法。本文方法可以將結構的隱式功能函數進行擬合,從而得到顯式功能函數,并最終利用基于顯式功能函數的可靠度算法來計算結構可靠度。算例分析表明,本文方法能正確計算結構的驗算點和可靠指標,具有較高的計算精度,為功能函數無法顯式表達的結構可靠度分析提供了一種可行的方法。
關鍵詞:一次二階矩法;BP神經網絡;功能函數;可靠度分析
中圖分類號:TP183 DOI:10.16375/j.cnki.cn45-1395/t.2023.01.006
0 引言
當前社會經濟快速發(fā)展,工程結構數量不斷增多,且趨于復雜化。可靠度是結構安全評估的重要指標,為保證結構的安全性,研究其可靠度十分必要。
目前應用較廣泛的可靠度計算方法有一次二階矩法、蒙特卡羅法、響應面法等。工程結構往往比較復雜且隨機變量眾多,難以得到結構的顯式功能函數,這使得以結構功能函數的解析表達式為基礎的蒙特卡羅法和一次二階矩法進行結構可靠度計算變得困難,甚至無法計算。針對該問題,魏志翔等[1-3]采用蒙特卡羅法結合有限元法進行可靠度計算,但蒙特卡羅法需要足夠多的樣本點才能保證計算精度,因此需要大量的有限元計算,耗時較長,計算效率較低。丁心香等[4-6]采用響應面法計算結構的可靠度,但當隨機變量較多時,采用的多項式形式的響應面函數的系數計算工作量大且擬合誤差較大。近年來有許多研究者利用神經網絡方法來解決隱式功能函數的可靠度求解問題。姜逢源等[7]利用引入Adaboost算法改進后的BP神經網絡來模擬結構的功能函數,再結合一次二階矩法并以差分代替微分的方法來計算板樁結構的可靠度。在一次二階矩法中需要計算功能函數的偏導數,可以通過直接微分的方法或以差分代替微分的方法進行計算。直接微分方法是針對功能函數為顯式的情況,差分代替微分方法是針對功能函數為隱式的情況,采用差分代替微分,直接利用個別點的功能函數值來計算功能函數的偏導數,而無需功能函數的具體表達式。采用BP神經網絡結合一次二階矩法時,通過BP神經網絡的擬合,結構功能函數可以顯式表達,此時功能函數已知,因此可以采用直接微分的方法來計算功能函數的偏導數。陳松坤等[8]通過改進BP神經網絡的訓練樣本集,并利用訓練好的BP神經網絡模型代替有限元模型,再結合蒙特卡羅法計算結構的失效概率。張中益等[9]使用BP神經網絡對軸承球磨損曲線進行擬合,再結合蒙特卡羅法計算軸承球各時刻點的可靠度。研究表明,神經網絡方法通過建立并訓練神經網絡來擬合結構的極限狀態(tài)方程,訓練后的神經網絡可以作為結構的功能函數,擬合精度較高,可以解決結構功能函數難以顯式化的問題;再結合結構點可靠度分析的一般方法便可以獲得結構的失效概率和可靠指標,如一次二階矩法[7]、蒙特卡羅法[8-9]等,不需要進行大量的有限元計算,效率較高。
綜上所述,本文將可以擬合結構隱式功能函數的BP神經網絡法與一次二階矩法相結合,提出了一種針對功能函數為隱式的結構可靠度分析方法:1)根據結構隨機變量的統(tǒng)計特性進行隨機抽樣,利用有限元分析計算每組樣本點下結構的響應值,并以此計算每組樣本點下結構的功能函數值;2)利用樣本點及其對應的功能函數值作為神經網絡的輸入向量,建立并訓練BP神經網絡,獲得功能函數的顯式表達式;3)采用一次二階矩法并通過直接微分計算功能函數的偏導數,最終求得結構的驗算點和可靠指標。
1 一次二階矩法
1.1 結構的失效概率和可靠指標
結構在規(guī)定時間和規(guī)定條件下完成預定功能的概率稱為結構的可靠度,相反,結構不能完成預定功能的概率稱為結構的失效概率,一般用[pf]表示。結構的極限狀態(tài)通過結構的功能函數來定義,功能函數[Z]用下式表示[10]:
[Z=gX1, X2, …, Xn=δ-δ]. (1)
式中:[X1, X2, …, Xn]為結構的隨機變量;[δ]為結構的實際響應值;[δ]為結構的響應容許值。
當[Z>0]時,結構處于安全狀態(tài);當[Z=0]時,結構處于極限狀態(tài);當[Z<0]時,結構處于失效狀態(tài)。那么結構的失效概率即為功能函數小于0的概率[10],即:
[pf=PAZ≤0]. (2)
式中,[PA]表示事件[A]發(fā)生的概率。
結構的可靠指標[β]可以直觀地描述結構的可靠度,其計算公式為[10]:
[β=μZσZ]. (3)
式中:[μZ]為功能函數的均值;[σZ]為功能函數的標準差。當功能函數[Z]服從正態(tài)分布時,結構的失效概率[pf]與可靠指標[β]可以通過式(4)相互轉換[10]:
[pf=Φ-β=1-Φβ]. (4)
當功能函數[Z]不服從正態(tài)分布時,式(4)不再精確成立,但仍能給出較為精確的結果。
1.2 一次二階矩法
由于工程結構的復雜性,難以用統(tǒng)一的方法確定其隨機變量的實際分布并精確計算其可靠度,目前常采用一次二階矩等近似方法進行計算[11]。一次二階矩方法將非線性功能函數進行泰勒級數展開并取其一次項,將非線性的功能函數線性化,然后按照可靠指標的計算公式進行計算,即可求解出結構的可靠指標。
計算可靠指標時,結構隨機變量的分布類型會對結構的可靠指標產生影響。本文以隨機變量服從獨立正態(tài)分布的情況為例介紹一次二階矩法,當隨機變量為非正態(tài)分布時,可以通過當量正態(tài)化法等方法將隨機變量轉換為正態(tài)分布后再進行計算。
設結構的極限狀態(tài)方程為:
[Z=gX=0]. (5)
隨機變量[X=X1, X2, …, XnΤ]服從正態(tài)分布,其均值為[μX=μX1, μX2, …, μXnΤ],標準差為[σX=σX1, σX2, …, σXnΤ],假設結構的驗算點為[x*=x*1, x*2, …, x*nΤ]。一次二階矩法的計算步驟為:
Step 1 假定初始驗算點[x*],一般可設為隨機變量的均值點,即[x*=μX]。
Step 2 利用式(6)計算靈敏度系數[αXii=1, 2, …, n][10]:
[αXi=-?gx*?XiσXii=1n?gx*?Xi2σ2Xi ? ? i=1, 2, …, n]. (6)
式中,[?gx*?Xi]為[gXi]在驗算點[x*]處的一階導數。
Step 3 利用式(7)計算可靠指標[β][10]:
[β=gx*+i=1n?gx*?XiμXi-x*ii=1n?gx*?Xi2σ2Xi]. (7)
Step 4 利用式(8)計算新的驗算點[x*][10]:
[x*=μX+βσXαX]. (8)
Step 5 以新的驗算點[x*]重復Step 2至Step 4,直至前后兩次[x*]的相對誤差小于允許誤差[ε]。此時得到的[x*]即為結構的驗算點,[β]即為結構的可靠指標。
2 BP神經網絡基本原理及其MATLAB實現
2.1 BP神經網絡基本原理
BP神經網絡是一種有監(jiān)督前饋神經網絡,是目前使用最廣泛的神經網絡[12],可以擬合輸入數據與輸出數據之間的關系[13-14]。BP神經網絡最小的處理單元為神經元,神經元結構圖如圖1所示。
圖1(a)為神經元的一般結構,[X=X1, X2, …, XnΤ]為輸入向量,[W=W1, W2, …, WnT]為連接權向量,[θ]為閾值,[f·]為激活函數,也叫傳遞函數,[Y]為輸出向量,其計算公式為[10]:
[Y=fi=1nWiXi-θ=fWΤX-θ]. (9)
閾值[θ]一般不是一個常值,而是隨著神經元的興奮程度而變化。通常假設實際輸入變量為[X1, X2, …, Xn-1],再設[Xn=-1,Wn=θ],這樣就將閾值也作為連接權來考慮,此時神經元的結構如圖1(b)所示,因此式(9)可以簡化為[10]:
[Y=fi=1n-1WiXi+WnXn=fi=1nWiXi=fWΤX]. (10)
異層神經元之間按照一定的權值相互連接即可組成一個神經網絡。只需3層神經網絡,即輸入層、隱含層和輸出層,就可以任意逼近輸入數據與輸出數據之間的映射關系[15]。在結構功能函數擬合的問題中,輸入層神經元的個數為結構隨機變量的個數,隱含層神經元的個數根據經驗公式及試驗來確定,輸出層神經元的個數為功能函數的個數。本文考慮有1個功能函數的結構,故輸出層神經元數為1。3層BP神經網絡結構如圖2所示。
圖2中,[X=X1, X2, …, Xn0Τ]為輸入向量;[W1=W1ijn0×n1]為輸入層與隱含層之間的權值向量;[W2=W2j1n1×1]為隱含層與輸出層之間的權值向量;[Y]為輸出向量;[n0]和[n1]分別為輸入層和隱含層神經元個數。隱含層和輸出層的傳遞函數分別為[f1]和[f2],對于函數逼近問題,MATLAB默認的傳遞函數在隱含層為雙曲正切[sigmoid]函數,在輸出層為線性函數,即
[f1x = tanhx,] (11)
那么隱含層的接收向量為:
[Z1=WΤ1X=Z11, Z12, …, Z1n1Τ]. (12)
隱含層的輸出向量為:
[Y1=f1Z1=f1Z11, f1Z12, …, f1Z1n1Τ]. (13)
輸出層的接收向量為:
[Z2=WΤ2Y1=Z21, Z22, …, Z2n2Τ]. (14)
輸出層的輸出向量為:
[Y2=f2Z2=f2Z21, f2Z22, …, f2Z2n1Τ]. (15)
即輸出向量[Y]可以表示為:
[Y=f2WΤ2f1WΤ1X]. (16)
在結構隱式功能函數模擬問題中,根據結構隨機變量的概率特征進行抽樣,得到的樣本點代入有限元軟件中進行計算即可獲得該樣本點下結構的實際響應值,根據每組樣本點下的實際響應值與結構的響應容許值計算得到極限狀態(tài)下結構的功能函數值。將樣本點組成的向量作為BP神經網絡的輸入向量,該組樣本點下的功能函數值組成的向量作為BP神經網絡的目標向量,建立并訓練BP神經網絡,即可建立隨機變量與功能函數之間的顯式關系式,模擬該結構的功能函數。
2.2 BP神經網絡的MATLAB實現
2.2.1 BP神經網絡的建立
在MATLAB軟件中,采用newff命令建立BP神經網絡,以如圖2所示的神經網絡為例:
PR = minmax(X)
[net=newff(PR,[n1, 1],{'tansig', 'purelin'}, BTF, BLF, PF)]
其中,net為創(chuàng)建的BP神經網絡;[PR]為輸入向量取值范圍的矩陣;[X]為輸入向量;[n1]為網絡隱含層神經元的個數;1為網絡輸出層神經元的個數;tansig為網絡隱含層的雙曲正切sigmoid傳遞函數;purelin為網絡輸出層的線性傳遞函數;BTF表示網絡的訓練函數,默認為trainlm函數;BLF表示網絡的學習函數,默認為learngdm函數;PF表示性能函數,默認為mse函數。以上默認函數也可以根據自己的需要進行修改。BP神經網絡的建立就是建立隨機變量與功能函數關系式,將功能函數顯式化的過程。
2.2.2 BP神經網絡的訓練
采用train命令對BP神經網絡進行訓練:
[net=trainnet, X, T].
其中,[T]為目標向量。BP神經網絡的學習與訓練,就是改變網絡的權值,使真實輸出與目標輸出之間的誤差減小,從而更高精度擬合功能函數的過程。
2.2.3 仿真計算
采用sim命令可以進行模擬仿真計算:
[g1=simnet,Y].
其中,[Y]為某一隨機變量;[g1]為通過訓練好的神經網絡模擬仿真得到的與[Y]對應的功能函數值。
3 基于BP神經網絡的一次二階矩法
BP神經網絡可以逼近結構的功能函數,將隱式功能函數顯式化,采用BP神經網絡結合一次二階矩法可以很好地解決隱式功能函數結構的可靠度計算問題。
根據結構的隨機變量及其統(tǒng)計特征信息可隨機抽樣生成S組樣本點[Xii=1, 2, …, S]。用ANSYS軟件建模并將各組樣本點代入其中進行有限元分析,得到各組樣本點下結構的響應值[δii=1, 2, …, S],將其代入式(1)計算各組樣本點下結構的功能函數值[gXii=1, 2, …, S]。以上述樣本點組成的向量[Xii=1, 2, …, S]作為BP神經網絡的輸入向量,以各組樣本點下的功能函數值向量[gXii=1, 2, …, S]作為BP神經網絡的目標向量,采用第2章介紹的MATLAB函數建立并訓練BP神經網絡,即可模擬出結構的功能函數。再結合第1章介紹的一次二階矩法即可對結構的可靠指標進行求解,其中功能函數值用第2章介紹的MATLAB函數直接模擬計算。
一次二階矩法中需要用到功能函數的導數,本文針對3層BP神經網絡用于擬合結構功能函數的情況,給出功能函數的導數公式:
[?gX=W1JY1Z1W2JY2Z2]. (17)
式中:[?gX]為功能函數的導數,也稱為梯度;[JY1Z1]和[JY2Z2]分別為[Y1]和[Y2]的Jacobi矩陣變換式。
[JY1Z1=?Y1?Z1=diagdY11dZ11,dY12dZ12,…,dY1n1dZ1n1=diagf'1Z11, f'1Z12, …, f'1Z1n1,] (18)
[JY2Z2=?Y2?Z2=diagdY21dZ21,dY22dZ22,…,dY2n2dZ2n2=diagf'2Z21, f'2Z22, …, f'2Z2n2.] (19)
將式(17)代入式(6)和式(7)中,分別得到:
[αXi=-?gx*σXii=1n?gx*2σ2Xi=-?gx*σXi?gx*σXi2,i=1, 2, …, n,] (20)
[β=gx*+i=1n?gx*μXi-x*ii=1n?gx*2σ2Xi=gx*+i=1n?gx*μXi-x*i?gx*σXi2.] (21)
綜上所述,基于BP神經網絡的一次二階矩法計算結構可靠度的計算步驟如下:
Step 1 根據隨機變量及其統(tǒng)計特性隨機抽樣生成S組樣本點[Xii=1, 2, …, S];
Step 2 采用ANSYS軟件建模,將S組樣本點作為輸入量逐組代入ANSYS程序中進行計算,獲得每組樣本點下結構的實際響應值[δii=1, 2, …, S],根據每組樣本點下的實際響應值與結構的響應容許值計算得到極限狀態(tài)下結構的功能函數值[gXii=1, 2, …, S];
Step 3 建立BP神經網絡,并用訓練數據[Xi, gXii=1, 2, …, S]訓練BP神經網絡;
Step 4 假定初始驗算點[x*],一般可設為隨機變量的均值點,即[x*=μX];
Step 5 用神經網絡直接仿真模擬計算[x*]下結構的功能函數[gx*],用式(17)、式(18)、式(19)計算其導數[?gx*];
Step 6 根據式(20)計算靈敏度系數[αXii=1, 2, …, n];
Step 7 根據式(21)計算可靠指標[β];
Step 8 根據式(8)計算新的驗算點[x*];
Step 9 以新的驗算點[x*]重復Step 5至Step 8,直至前后兩次[x*]的相對誤差小于允許誤差[ε]。此時得到的[x*]即為結構的驗算點,[β]即為結構的可靠指標。
4 算例
4.1 算例1
已知某結構的功能函數為[Z=f W-1 140],[f]和[W]均服從正態(tài)分布,其均值和標準差分別為[μf=38,σf=3.8];[μW=54,σW=2.7]。由本文方法計算該結構的可靠指標[β]以及[f]和[W]的驗算點[f*]和[W*],并與蒙特卡羅法以及直接的一次二階矩法計算結果作對比。
采用本文方法計算該結構的可靠指標及驗算點,該結構有2個隨機變量,1個功能函數,所以BP神經網絡輸入層神經元數為2,輸出層神經元數為1,經過試算選取隱含層單元數為5。根據隨機變量的統(tǒng)計參數,隨機抽樣得到250組樣本點,將樣本點代入功能函數中得到各組樣本點下的功能函數值。
將樣本點組成的向量作為BP神經網絡的輸入向量,將計算所得功能函數值作為BP神經網絡的目標向量,建立并訓練BP神經網絡,訓練完成的BP神經網絡訓練性能圖如圖3所示。
由圖3可知,訓練樣本的誤差曲線呈下降趨勢,表明隨著神經網絡訓練次數的增加,其誤差逐漸減小,當訓練次數為1 000次時神經網絡訓練樣本的均方誤差最小,為0.15。均方誤差較小,表明BP神經網絡擬合的功能函數精度較高。訓練完成時輸入層與隱含層之間的權值為:
[W1=-15.473 922.536 50.011 60.013 1-106.510 173.588 7-0.036 60.040 917.738 6-6.544 8],
隱含層單元的閾值為:
[θ1=9.881 6-1.631 6-376.163 7-1.546 15.893 4],
隱含層與輸出層之間的權值為:
[W2=1.097 2 ?4.727 1 ?0.000 3 ?-0.462 1 ?0.477 1×103],輸出層單元的閾值為:[θ2=1.167 9×103]。
最后將BP神經網絡擬合得到的功能函數作為結構的功能函數,采用一次二階矩法計算結構的可靠指標和驗算點。計算結果與直接的一次二階矩法以及蒙特卡羅法計算結果作對比,并列于表1中。
由表1可以看出,一次二階矩法和本文方法計算出的可靠指標與蒙特卡羅法相比,相對誤差較小,均小于1.00%。由一次二階矩法計算所得驗算點與本文方法計算所得驗算點幾乎相同,且一次二階矩法計算所得可靠指標與本文方法計算所得可靠指標的相對誤差較小,驗證了本文方法的正確性。
4.2 算例2
某門式框架結構如圖4所示,各單元彈性模量均為[E=2×106 kN/m2],單元截面慣性矩[Ii]與截面面積[Ai]之間的關系為[Ii=αiA2ii=1, 2],取各單元的截面面積[A1]、[A2]和外荷載[P]為隨機變量,[αi]為截面慣性矩與截面面積之間的系數,其統(tǒng)計參數見表2。最大變形控制取節(jié)點3的水平位移[u3],且允許最大水平位移為0.01 m。首先采用本文方法計算該結構的可靠指標及驗算點,然后采用BP神經網絡結合蒙特卡羅法(BP-MCS)和文獻[16]中的響應面法結果作對比驗證。
根據式(1)建立該結構的功能函數:
[g=0.01-u3A1, A2, P]. (22)
其中,[u3]與各隨機變量之間的關系式不能明確表示。
根據隨機變量的統(tǒng)計特性,用MATLAB軟件隨機抽樣200組樣本點,將其逐組代入ANSYS軟件中進行有限元計算,得到各組隨機變量下節(jié)點3的水平位移,并根據式(22)計算得到各組隨機變量下的功能函數值。該結構有3個隨機變量,1個功能函數,所以建立含有3個輸入層神經元、1個輸出層神經元的BP神經網絡,根據試算,選取20個隱含層神經元。將樣本點組成的向量作為BP神經網絡的輸入向量,將功能函數值作為BP神經網絡的目標向量,建立并訓練BP神經網絡,訓練完成的BP神經網絡訓練性能圖如圖5所示。
由圖5可知,當訓練次數為88次時神經網絡訓練樣本的均方誤差最小,為2×10-9,均方誤差較小,表明BP神經網絡擬合的功能函數精度較高。
將BP神經網絡擬合得到的功能函數作為結構的功能函數,再結合一次二階矩法,計算結構的可靠指標和驗算點。為進一步驗證本文方法的正確性和適用性,用BP-MCS以及文獻[16]的計算結果作對比,列于表3中。
由表3可知,3種方法計算的驗算點大致相同,且可靠指標的相對誤差均小于5.00%,在誤差允許范圍內,再次驗證了本文方法可以有效計算隱式功能函數結構的可靠指標和驗算點。
5 結論
本文將BP神經網絡法與一次二階矩法相結合,提出一種針對隱式功能函數的結構可靠度分析方法。詳細介紹了BP神經網絡法擬合功能函數的MATLAB實現過程以及結合一次二階矩法的可靠度計算步驟。通過算例分析結果表明:
1)對于具有顯式功能函數的算例,本文方法計算得到的驗算點和可靠指標與傳統(tǒng)一次二階矩法的結果相對誤差較小,驗證了本文方法的正確性。
2)對于具有隱式功能函數的算例,本文方法計算得到的驗算點和可靠指標與文獻[16]中的響應面法以及BP神經網絡結合蒙特卡羅法的結果相對誤差較小,驗證了本文方法可以很好地解決功能函數無法顯式表達的結構可靠度分析的問題,并且具有較高的計算精度。
參考文獻
[1] 魏志翔,李紅,宋亞楠,等.基于蒙特卡羅法的大跨鋼管混凝土拱橋結構可靠度分析[J].武漢理工大學學報,2020,42(12):21-26.
[2] 陸征然,郭超,張茂勝,等.基于隨機有限元的模板支撐體系井字架結構可靠性研究[J].大連理工大學學報,2018,58(1):79-85.
[3] CAI B,HAO L Y,FU F. Postfire reliability analysis of axial load bearing capacity of CFRP retrofitted concrete columns[J].Advances in Concrete Construction,2020,10(4):289-299.
[4] 丁心香,李帥.基于響應面優(yōu)化的邊坡三維可靠性評估[J].公路,2022,67(3):17-25.
[5] 陳紹軍,張強,楊鈞杰.基于響應面法的大跨度懸索橋可靠度分析研究[J].工程建設與設計,2021(19):71-74.
[6] ZHOU D,PAN E,ZHANG Y M. Fractional polynomial function in stochastic response surface method for reliability analysis[J].Journal of Mechanical Science and Technology,2021,35(1):121-131.
[7] 姜逢源,董勝,張鑫.基于改進神經網絡的板樁結構可靠性分析[J].海洋湖沼通報,2018(2):103-109.
[8] 陳松坤,王德禹.基于神經網絡的蒙特卡羅可靠性分析方法[J].上海交通大學學報,2018,52(6):687-692.
[9] 張中益,沈雪瑾.基于神經網絡的小樣本軸承球可靠度評估[J].工業(yè)控制計算機,2019,32(5):66-67,70.