秦 強,馮蘊雯,薛小鋒
(西北工業大學航空學院,陜西西安710072)
改進布谷鳥算法在結構可靠性分析中的應用
秦 強,馮蘊雯,薛小鋒
(西北工業大學航空學院,陜西西安710072)
在計算過程中,標準布谷鳥算法(cuckoo search algorithm,CS)中的參數是保持不變的,這影響了該算法的收斂性和計算精度。為了克服這一缺陷,首先探討了標準CS中飛行步長和淘汰概率兩個關鍵參數的變化規律對該算法全局搜索與局部搜索能力的影響,然后對這兩個參數進行了自適應改進,同時,提出了一個具有全局最優導向的搜索方程以進一步提高CS的局部搜索能力和收斂速度。利用改進后的CS與人工神經網絡響應面法相結合進行結構可靠性分析。算例分析說明,與標準CS以及粒子群算法和遺傳算法相比,所提出的改進CS在進行結構可靠性分析中,能夠有效地減少計算時間并提高解的精度。
改進布谷鳥算法;人工神經網絡;響應面法;結構可靠性
在結構可靠性分析中,常采用Monte-Carlo法、一次二階矩法、二次二階矩法等方法計算結構失效概率。其中,Monte-Carlo法需要足夠多的模擬次數才能得到結構的失效概率,因此該方法效率較低;而一次二階矩法和二次二階矩法都需要求解結構極限狀態方程對隨機變量的偏導數,且對于非線性程度較高或有多個局部最小值的極限狀態方程,這兩種方法可能導致錯誤的結果[1]。由于智能優化算法,如遺傳算法(genetic algorithm,GA)和粒子群優化算法(particle swarm optimization,PSO)等在求解結構可靠度指標時,不需要求解結構極限狀態方程對輸入變量的偏導數,并且有全局尋優的特點而被應用到結構可靠性分析中[1-3]。
文獻[4]根據布谷鳥特殊的寄宿式產蛋行為抽象得出的布谷鳥(cuckoo search algorithm,CS)算法具有全局尋優性能強、路徑搜索方式特殊、控制參數較少等優點,使得該算法的計算效率與求解精度優于GA與PSO等智能優化算法[5-6]。文獻[7- 8]將CS算法成功地應用到許多工程和結構優化問題中。文獻[9- 10]對標準CS算法進行改進,將最優解之間的信息交換加入到CS中,并對Lévy飛行中的隨機步長的大小提出了改進以加強局部搜索能力,該改進算法能夠在多數測試函數中比標準CS算法、PSO算法、差分進化算法得到更優的解。文獻[11- 12]通過改進的CS算法解決了系統可靠性冗余分配問題,其中文獻[11]對CS算法中的Lévy飛行步長和鳥窩被發現概率pa引入自適應機制,文獻[12]使用GA算法優化CS算法中的參數,以提高標準CS算法的全局及局部搜索能力。另外,對于復雜結構來說,其極限狀態方程一般為隱式函數,此時,響應面法常被用來將隱式功能函數顯式化。其中,應用較為廣泛的是多項式函數響應面法,但隨著輸入變量增加,該方法的計算量大大增加[1314]。文獻[15]的對比分析結果表明,在結構可靠性分析中,神經網絡響應面法的效率和精度都要高于多項式響應面法。
為了提高結構可靠性分析的效率和精度,本文將影響標準CS算法收斂性和計算精度的兩個參數進行改進,同時又提出了一個改進的搜索方程以進一步提高CS算法的收斂速度。本文將改進后的CS算法具有計算精度高、收斂性快以及神經網絡能夠非常好的逼近結構極限狀態方程的優點相結合,提出了一種新的結構可靠性分析方法。該方法不僅提高了標準CS算法在結構可靠性分析迭代過程中的計算速度,并克服了迭代過程后期計算精度較差的缺點。本文對于改進CS算法中參數變化規律的原理分析及算例分析充分說明了所提方法在計算結構可靠度時的優越性。
1.1 標準CS算法及缺陷
與一般鳥類繁殖方式不同,布谷鳥采用寄生產卵的方式繁衍其下一代,它們將自己的蛋存放到其他鳥類的鳥窩中,讓其他鳥類為其孵化。當其他的鳥類發現其窩里有外來的蛋,則會將外來的蛋丟棄或放棄自己的窩,然后另選它處搭建新的鳥窩。文獻[6]根據布谷鳥這種寄宿式繁殖策略抽象出CS算法,并規定了3個理想假設:
假設1 每只布谷鳥一次只產一個鳥蛋,且隨機選擇一個鳥窩來存放該鳥蛋。
假設2 含有高質量鳥蛋的最好鳥窩將會保留至下一代。
假設3 可用的鳥窩數量n是不變的,外來鳥蛋以概率pa∈[0,1]被寄主鳥窩的主人發現。

在上述3個理想假設的基礎上,CS算法中布谷鳥尋找最優鳥窩的更新公式為式中,x(g)i表示在第g代中的第i個解;α是步長控制量;L(λ)為服從Lévy概率分布的隨機搜索路徑;⊕為點對點乘法。每次迭代產生新的鳥窩后,將布谷鳥所產鳥蛋被寄主發現的概率pa與隨機產生的[0,1]區間的隨機數r進行比對,若pa<r,則對x(g+1)i進行隨機改變,反之不變,公式為式中與表示第g代的兩個隨機解,更新后的鳥窩位置仍記為

在標準CS算法中,外來鳥蛋被寄主發現的概率pa與步長控制量α是兩個非常重要的參數,一般是固定值,在迭代過程中保持數值不變,在文獻[6]中,取pa=0.25,α=1。在迭代尋優過程中,如果pa一直較大,α較小,會加快標準CS算法收斂速度,但付出的代價是可能無法得到高精度全局最優解;而如果α較大,pa較小,會導致尋優的迭代次數明顯增加[11]。標準CS算法根據Lévy飛行進行搜索的方向和距離都具有高度的隨機性,能輕易地從當前搜索區域跳出而對另一區域進行搜索,使得標準CS算法具有非常強大的全局尋優能力[17]。然而利用Lévy飛行機制進行尋優不能充分地發掘和利用更多局部區域的信息,致使標準CS算法在每個鳥窩周圍無法進行完全和認真仔細的尋優,這主要是該算法所表現出來的高度隨機跳躍性,導致其局部搜索能力較差。
1.2 改進的布谷鳥算法
針對標準CS算法局部搜索能力較弱這一缺陷,本節提出改進的布谷鳥(improved cuckoo search,ICS)算法首先將對標準CS算法中的重要參數:鳥蛋被發現概率pa與步長控制量α進行自適應改變。優化前期,為了搜索更多的區域以提高算法的全局尋優性能,pa與α應取較大值。隨著尋優計算的進行,算法會收斂到全局最優解附近,此時α與pa應逐漸減小,使算法在該區域附近進行尋優以得到高精度的解且加快收斂速度[17]。然而在迭代過程中,pa與α的下降速率卻不相同,在迭代的早期,應在足夠多的迭代步驟中保持pa有一個較大值,這樣可以增加算法中解的多樣性,但在迭代后期,各鳥窩會聚集在全局最優解附近,此時pa應取較小的數值以保證算法的收斂;而對于飛行步長α,其變化趨勢應與pa有所不同,這主要是因為在迭代計算早期,α取較大值有利于跳出局部最優解,但在迭代后期,α保持在一個較小值,有利于對局部區域進行仔細搜索,以增強求解的精度。由上述思想歸納出的pa與α隨迭代次數g變化的計算公式為

式中,N表示最大迭代次數;發現概率pa的最大值與最小值分別以pa,max、pa,mim表示;步長控制量α的最大與最小值分別以αmax、αmin表示,且都在CS算法中pa與α默認值的附近取值,取pa,max=0.5,pa,min=0.1,αmax=1.5,αmin=0.5;m1、m2為非線性因子,取值大于0,用來控制pa與α的下降速率。由式(3)可以得知,當m1和m2均為1時,表示pa與α這兩個參數呈線性下降趨勢,然而為了使pa在迭代的早期保持較大值,且α在迭代早期下降較快但在后期保持一個較小值,m1應小于1,相反,m2應大于1,m1越小,pa就會在越多的迭代步驟中取較大的值,直接導致計算用時的增加,而m2越大,α則只能在越小的前期迭代步驟中取得較大值,在更多的迭代后期步驟中保持較小值,可能會導致計算陷入局部最優解,這就削弱了算法在全局搜索能力與局部搜索能力之間的平衡關系。所以,在選取非線性因子時,m1不宜太小,且m2不應過大,本文取m1=0.5,m2=3。假定總的迭代次數N=1 000,pa與α隨迭代次數變化曲線如圖1所示。

圖1 pa與α隨迭代次數變化曲線
從圖1可以看出,pa在迭代的早期下降較慢,在迭代次數達到800步時,pa仍大于標準CS算法中的默認值0.25,但在迭代后期,迅速降至最小值;而α在迭代早期有一個隨著迭代次數增加而明顯減小的趨勢,當迭代次數超過200后,α已經小于1,且在迭代后期其值基本保持在最小值αmin。
另外,為了進一步提高算法的局部搜索能力和收斂速度,受PSO算法的啟發,在ICS算法中對式(2)進行了修改,得

式中,r1和r2為[0,1]區間的隨機數為第g代中所有鳥窩中的最優解和分別表示第g代的3個隨機解,且j≠k≠l。當r1或r2大于pa時,對進行改變。與式(2)相比,式(4)增加了最優鳥窩引導布谷鳥算法尋優的搜索項,從而大大提高算法的收斂速度。如果說式(2)是基于隨機策略的搜索方程,那么式(4)是基于精英策略的搜索方程,在生成新解時用到了當前解中的最優信息。
當對復雜結構進行可靠性分析時,需要通過復雜的數學方法(如有限元法)計算結構的響應,這個過程相當耗時。為了提高可靠性分析的效率,許多學者利用神經網絡響應面法將結構極限狀態方程顯式化[23,1214]。
在用神經網絡響應面法近似結構極限狀態方程的過程中,首先應經過盡量少的確定性試驗得到結構的響應,然后將結構的受載、結構形狀等參數作為神經網絡的輸入數據,將確定性試驗得到的結構響應作為輸出數據,組成訓練樣本集,同時,為了避免因各數據量級之間的差距過大而導致得不到精確的神經網絡的情況出現,應將訓練樣本進行歸一化處理。然后構建神經網絡結構,包括神經網層數、各層中的神經元數量以及各層之間的傳遞函數。最后,通過訓練樣本對神經網絡進行訓練,當網絡誤差滿足精度要求后,便得到訓練好的神經網絡。通過各連接層之間的傳遞函數就可得到結構的響應與輸入變量之間的函數關系,即得到結構的顯式極限狀態方程。
本文算例中所用的神經網絡模型都只含有3層網絡,即一個輸入層,一個隱含層和一個輸出層。其中輸入層中的神經元數量和隨機變量的個數相同,輸出層都只有1個神經元,隱含層均有10個神經元,輸入層到隱含層的傳遞函數為正切函數,隱含層到輸出層的傳遞函數為線性函數。在生成訓練樣本集方面,通過在設計空間中對各變量隨機生成200個樣本作為輸入數據,然后得到對應的結構響應作為輸出數據,進而得到訓練樣本集。
標準正態空間中,坐標原點到極限狀態方程的最短距離稱為可靠性指標β,所以在進行可靠性分析時,應將結構中的隨機變量標準正態化并構造具有等式約束條件的極小值問題以求解結構可靠性指標β。
目標函數為

約束條件為

式中,x*
i(i=1,2,…,n)表示標準正態隨機變量;xi(i=1,2,…,n)表示結構可靠度分析中的n個獨立隨機變量;μxi與σxi分別對應各隨機變量的均值和標準差;g(X)=0表示結構的極限狀態方程,在本文中該方程是通過神經網絡響應面法計算得到。
求解式(5)和式(6)所表示的有約束的優化問題等同于采用罰函數法計算如式(7)所示的無約束優化問題[1]。

式中,λ為懲罰因子,是一個很大的正數,本文取λ=1010。得到式(7)后,將其作為適應度函數,通過ICS算法計算求得的該函數最小值就是結構可靠度指標β,進而得到結構的失效概率。在用ICS算法與神經網絡對結構進行可靠性分析時,主要有以下幾個步驟:
步驟1 建立神經網絡的訓練樣本集和測試樣本集,根據神經網絡響應面法得到結構的顯式極限狀態方程g(X)=0。
步驟2 通過罰函數法得到結構可靠性指標β關于隨機變量的目標函數,如式(7)所示。
步驟3 設置CS算法的參數,并對鳥窩進行初始化,即得到設計空間中隨機變量的初始值。
步驟4 根據式(1)和式(4)對鳥窩位置進行更新,并對新的鳥窩和當前鳥窩進行適應度函數評價。如果新的鳥窩適應度要好于當前鳥窩適應度,則將新的鳥窩替換掉當前鳥窩,否則按照一定的概率pa拋棄部分鳥窩,然后按照Lévy飛行產生新的鳥窩。
步驟5 重復步驟4,直到迭代次數達到最大迭代數N時,尋優結束。
值得注意的是,在對以上步驟進行結構可靠性分析的過程中,pa與α的值按照式(3)不斷變化。利用ICS算法與神經網絡響應面進行結構可靠性分析的流程圖如圖2所示。

圖2 利用本文所提方法進行結構可靠性分析流程圖
為了驗證本文所提方法在解決結構可靠性問題中的計算效率和計算精度,通過采用GA算法、PSO算法、CS算法和ICS算法對兩個經典結構可靠性分析算例和一個工程算例分別進行對比分析。在計算過程中,各種算法均獨立運行20次,每次運行中的最大迭代次數N為1 000次,且GA算法、PSO算法和CS算法中的參數都選取其默認值,種群數量均為25。在計算結果中,β表示可靠性指標,βmin、βmax和βavg分別表示β的最小值、最大值和平均值,Pf為失效概率。
算例1 極限狀態方程

式中,x1與x2為相互獨立的正態變量,x1~N(1 000,2002),x2~N(250,37.52)。利用重要抽樣法求得此極限狀態方程失效概率的精確解為0.009 607[3]。該算例計算結果表1所示。
由表1可以看出,4種計算方法均能得到該極限狀態方程失效概率較為精確的計算結果。在計算誤差方面,GA算法的誤差最大,而PSO的計算結果要優于GA得到的計算結果,但是PSO需要更長的計算時間來得到計算結果,其計算時間基本是GA的兩倍;CS與ICS在計算用時與計算誤差兩個方面都要優于前兩種方法,尤其是在計算用時方面有了顯著提高,不僅ICS的計算時間略小于CS的計算用時,而且ICS的計算誤差要小于CS的計算誤差。在對可靠性指標β進行求解的20次獨立的尋優迭代過程中,雖然CS在收斂精度方面雖優于前兩種算法,但要比ICS差,而ICS每次都會收斂到最小值。通過該算例說明了ICS算法具有良好的尋優能力。

表1 算例1計算結果
算例2 考慮多變量極限狀態方程g(X)=x1+x2-x3-x4+6,隨機變量均服從標準正態分布。利用一次二階矩法求得該極限狀態方程可靠性指標的精確解為3.0[16],對應的失效概率約為1.350×10-3。該算例計算結果如表2所示。

表2 算例2計算結果
從表2的計算結果可以看出,對于多變量極限狀態方程,CS算法和ICS算法可以得到非常精確的解,而GA與PSO雖然計算得到的可靠性指標的平均值βavg與精確解之間的相對誤差分別為8.620%和3.417%,但其對應的失效概率的誤差分別是58.527%和28.926%,可見該誤差是相當大的。另外,在計算用時方面,4種計算方法得到的結果與算例1中各方法計算用時的規律一致,其中PSO的用時最長,ICS用時最短。同樣,在每次的迭代過程中,ICS均可得到非常精確的解。此算例說明,在進行具有多變量的結構可靠性分析中,ICS算法依然表現出非常出色的計算能力。
算例3 本文所提方法的工程應用取某型飛機貨艙門鎖鉤為例,所研究的鎖鉤結構的有限元模型如圖3所示。在飛機飛行過程中,該鎖鉤承受飛機機艙內的增壓載荷,鎖鉤受力F,鎖鉤材料的彈性模量E、鎖鉤的寬度L以及鎖鉤的內圈半徑R為基本隨機變量。鎖鉤靜強度可靠性分析的極限狀態方程為g(X)=σb-σmax(X)=0,式中,σb為材料的拉伸強度極限;σmax(X)為鎖鉤承受的最大應力,其是F、E、L和R等隨機變量的函數。以ANSYS workbench作為鎖鉤接頭最大應力的分析工具,且各隨機變量的取值和分布形式如表3所示。

圖3 鎖鉤有限元網格模型

表3 算例3中隨機變量參數
本例中采用108個樣本對訓練好的神經網絡進行Monte-Carlo抽樣計算,并將該方法計算得到的結果作為精確解,但Monte-Carlo法耗時太大,且與文中提到的4種智能算法不具有可比性,所以不考慮該方法的計算用時。用不同方法計算得到的結果如表4所示。

表4 算例3計算結果
通過表4的結果可知,通過Monte-Carlo法得到的某型飛機艙門鎖鉤的靜強度失效概率為1.302 8×10-5,對應的可靠性指標β=4.205 45。雖然由GA算法與PSO算法計算得到的可靠性指標的平均值βavg與精確解之間的相對誤差分別為4.260%和2.387%,說明這兩種算法在求解該問題時也可以得到較為精確的解,但其對應的失效概率的誤差分別達到了55.408%和36.151%,這是因為可靠性指標β在此范圍的較小變化都會導致對應的失效概率有非常大的差別,較大的失效概率誤差是不可接受的。而ICS算法的計算精度與計算時間要明顯優于CS算法,失效概率的誤差僅為0.668%,再次充分說明本文所提ICS算法在解決工程結構可靠性問題中能夠得到相當精確的可靠性指標值,且在計算時間上具有明顯的優勢。
(1)針對標準CS算法中兩個重要參數在迭代計算過程中保持不變會導致該算法具有較低的計算效率和計算精度這一缺陷,提出了一種針對參數隨迭代次數變化的改進策略,然后將一種改進的搜索方程引入到標準CS算法中,減少了算法的計算時間。
(2)ICS算法分別將鳥窩發現概率和飛行步長作了不同的變化策略,進而能夠更加合理地平衡標準CS算法的全局和局部搜索能力,提高算法的計算精度和收斂速度。
(3)文中對CS算法參數的解析分析以及算例對比結果均表明,本文所提出的ICS算法對結構可靠度的計算更為準確,且計算效率更高。
[1]Charles E.Structural reliability assessment based on particles swarm optimization[J].Structural Safety,2005,27(10):171- 186.
[2]Cheng J.Hybrid genetic algorithms for structural reliability analysis[J].Computers and Structures,2007,85(19/20):1524 -1533.
[3]Cheng J,Li Q S.Reliability analysis of structures using artificial neural network based genetic algorithms[J].Computer Methods in Applied Mechanics and Engineering.2008,197(45/48):3742- 3750.
[4]Yang X S,Deb S.Cuckoo search via lévy flights[C]∥Proc.of the World Congress on Nature&Biologically Inspired Computing,2009:210- 214.
[5]Rajabioun R.Cuckoo optimization algorithm[J].Applied Soft Computing,2011,11(8):5508- 5518.
[6]Yang X S,Deb S.Engineering optimisation by cuckoo search[J].International Journal of Mathematical Modeling and Numerical Optimisation,2010,1(4):330- 343.
[7]Yang X S,Deb S.Multi-objective cuckoo search for design optimization[J].Computers and Operations Research,2013,40(6):1616- 1624.
[8]Gandomi A H,Yang X S,Alavi A H.Cuckoo search algorithm:a metaheuristic approach to solve structural optimization problems[J].Engineering with Computers,2013,29(2):17- 25.
[9]Walton S,Hassan O,Morgan K,et al.Modified cuckoo search:a new gradient free optimisation algorithm[J].Chaos,Solitons and Fractals,2011,44(9):710- 718.
[10]Zhang Y W,Wang L,Wu Q D.Modified adaptive cuckoo search algorithm and formal description for global optimization[J].International Journal of Computer Applications in Technology,2012,44(2):73- 79.
[11]Valian E,Tavakoli S,Mohanna S,et al.Improved cuckoo search for reliability optimization problems[J].Computers and Industrial Engineering,2013,64(1):459- 468.
[12]Kanagaraj G,Ponnambalam S G,Jawahar N.A hybrid cuckoo search and genetic algorithm for reliability redundancy allocation problems[J].Computers and Industrial Engineering,2013,66(4):1115- 1124.
[13]Deng J,Gu D S,Li X B,et al.Structural reliability analysis for implicit performance functions using artificial neural network[J].Structural Safety,2005,27(1):25- 48.
[14]Elhewy A H,Mesbahi E,Pu Y.Reliability analysis of struc-tures using neural network method[J].Probabilistic Engineering Mechanics,2006,21(1):44- 53.
[15]Cheng J,Li Q S,Xiao R C.A new artificial neural networkbased response surface method for structural reliability analysis[J].Probabilistic Engineering Mechanics,2008,23(1):51- 63.
[16]Tan X H,Bi W H,Hou X L,et al.Reliability analysis using radial basis function networks and support vector machines[J].Computers and Geotechnics,2011,38(2):178- 186.
[17]Qin Q,Feng Y W,Ye C.Reliability analysis of door locking based on improved cuckoo algorithm[J].Aeronautical Computing Technique,2014,44(1):23- 26.(秦強,馮蘊雯,葉忱,等.基于改進布谷鳥算法的艙門鎖定可靠性分析[J].航空計算技術,2014,44(1):23- 26.)
Improved cuckoo search algorithm for structural reliability analysis
QIN Qiang,FENG Yun-wen,XUE Xiao-feng
(School ofAeronautics,Northwestern Polytechnical University,Xi’an 710072,China)
In the iterations,the parameters of standard cuckoo search algorithm(CS)are constant,which may affect the convergence and accuracy of the algorithm.To overcome this defection,the variations of the two main parameters which affect the global search and local search capabilities are investigated,and then improvements are made to the parameters.In addition,a modified search equation which aims to further improve the CS local search ability and convergence speed is proposed.The improved CScombined with artificial neural network respond surface method is proposed to solve the structural reliability problem.Comparison with the standard CS,particle swarm algorithm and genetic algorithm,the proposed improved CS reduces the computation and improves the accuracy of the solutions effectively in the process of structural reliability analysis.
improved cuckoo search algorithm(ICS);artificial neural network;respond surface;structural reliability
TH 115;TB 114.3
A
10.3969/j.issn.1001-506X.2015.04.40
秦 強(1986-),男,博士研究生,主要研究方向為飛行器結構機構可靠性與優化設計。E-mail:johnnystyle@126.com
1001-506X(2015)04-0979-06
2014- 07- 07;
2014- 09- 25;網絡優先出版日期:2014- 11- 19。
網絡優先出版地址:http://w ww.cnki.net/kcms/detail/11.2422.TN.20141119.2225.010.html
國家自然科學基金(10577015);航空科學基金(2006ZD53050,2008ZA53006)資助課題
馮蘊雯(1968-),女,教授,博士,主要研究方向為飛行器結構機構可靠性與安全性分析。E-mail:fengyunwen@nwpu.edu.cn
薛小鋒(1982-),男,講師,博士,主要研究方向為航空航天可靠性工程。E-mail:xuexiaofeng@mail.nwpu.edu.cn