周書敬,楊貝貝,程芳萌,鄭建明
(1.河北工程大學(xué)土木工程學(xué)院,河北邯鄲056038;2.開灤集團(tuán)有限公司錢營礦業(yè)分公司,河北唐山063301)
結(jié)構(gòu)可靠度是結(jié)構(gòu)可靠性的一個數(shù)值指標(biāo),是結(jié)構(gòu)在規(guī)定的時間和條件下,保證結(jié)構(gòu)可靠性的概率。常用的可靠度分析方法有蒙特卡羅法、一次二階矩法(FOSM)、JC法和幾何法等[1],其中蒙特卡羅法在計算時,為了得到一定的精度,需要較多的抽樣次數(shù),而大大增加計算量;后幾種方法則僅限于對線性方程的、變量服從正態(tài)分布的計算進(jìn)行求解,當(dāng)功能函數(shù)比較復(fù)雜時,容易陷入局部極值而無法得到全局極值[2]。
美國學(xué)者Holland提出的遺傳算法(Genetic Algorithm,GA)具有求解能力局限性較小、對目標(biāo)函數(shù)和約束條件的要求少、全局搜索能力好等優(yōu)點(diǎn),但也存在易產(chǎn)生早熟收斂現(xiàn)象以及局部搜索能力較差等缺陷[3-5]。本文引入魚群算法中具有加快尋優(yōu)速度的追尾行為和克服局部極值能力較好的聚群行為對其進(jìn)行改進(jìn),并以門式框架結(jié)構(gòu)為例,分別采用JC法與改進(jìn)遺傳算法對其可靠度指標(biāo)進(jìn)行對比分析。
假設(shè)結(jié)構(gòu)的抗力用R來表示,作用在結(jié)構(gòu)上的荷載效應(yīng)用S來表示,其中R和S是相互獨(dú)立的隨機(jī)變量,二者的概率密度函數(shù)分別為fR(r)和fS(s),Z=R-S為結(jié)構(gòu)的功能函數(shù),則結(jié)構(gòu)狀態(tài)如圖1 所示[6]。
X1,X2,...,Xn為隨機(jī)分布的 n 個獨(dú)立隨機(jī)變量,結(jié)構(gòu)極限狀態(tài)方程為 Z=g(X1,X2,…,Xn)=0,采用拉科維茨-菲斯萊法將變量由非正態(tài)當(dāng)量正態(tài)化,從而得到等效正態(tài)分布的均值 μ'xi、標(biāo)準(zhǔn)差σ'xi和可靠指標(biāo)β。
其中:Φ(x)-標(biāo)準(zhǔn)正態(tài)分布的概率密度函數(shù);Φ-1(x)-標(biāo)準(zhǔn)正態(tài)分布函數(shù)的反函數(shù);f(x)-概率密度函數(shù);F(x)-概率分布函數(shù)。
由可靠度指標(biāo)的幾何意義可知,在標(biāo)準(zhǔn)正態(tài)坐標(biāo)系中,極限狀態(tài)曲面上驗(yàn)算點(diǎn)是與坐標(biāo)原點(diǎn)距離最近的點(diǎn),可靠度指標(biāo)β是其最小距離。鑒于最初驗(yàn)算點(diǎn)位置未知,可以將β看成點(diǎn)P(x1,x2,…,xn)的函數(shù),則求解可靠度指標(biāo)可以歸結(jié)為求解以下約束優(yōu)化模型:
由于可靠度的模型受約束條件限制,而遺傳算法一般對無約束模型的優(yōu)化比較簡便。所以需要從變量X1,X2,…,Xn中選變異最大的變量 Xj,將其轉(zhuǎn)化為 Xj=f(X1,…,Xj-1,Xj+1,…,Xn)。
因此框架結(jié)構(gòu)的可靠度指標(biāo)數(shù)學(xué)模型可表示為
(1)編碼:遺傳算法的表現(xiàn)方式是以設(shè)置參數(shù)來選擇編碼方式。將設(shè)計分量分別編碼,在將其合為一個二進(jìn)制串,從而得到優(yōu)化問題的一個可行解,這就是二進(jìn)制編碼。例如二進(jìn)制代碼串1000/1001/1100A/B/C可以表示自變量A,B,C一組取值。
河道管理范圍劃界確權(quán)是依法管理河道的重要基礎(chǔ)和依據(jù)。重慶市水利局依據(jù)水法、防洪法和重慶市河道管理?xiàng)l例等,2012年完成了378.2km試點(diǎn)河段劃界工作,取得了良好的社會效果。河道劃界能夠確定河道管理范圍,保障河道不被侵占,行洪安全得到了有力保證。
(2)初始群體的生成:隨機(jī)產(chǎn)生一定量的初始串結(jié)構(gòu)數(shù)據(jù),每個串結(jié)構(gòu)數(shù)據(jù)叫做一個個體,這些個體構(gòu)成了一個種群。
(3)適應(yīng)度值評價檢測:適應(yīng)度函數(shù)可以代表解的好壞。
(4)選擇:在群體中,通過選擇算子的作用,可以決定進(jìn)入下一代的個體。通常個體的適應(yīng)度越大,則越容易被選擇。
(5)交叉:在群體中,選擇的兩個作為父代的個體,通過交叉算子的作用,形成兩個子代個體。交叉的方法是隨機(jī)選取一個(或兩個)點(diǎn),將兩個父代的二進(jìn)制代碼串在這個點(diǎn)處截斷,交換兩者中間(或尾部)從而產(chǎn)生新一代。如:a 1001 0110和b 1100 1001交叉后變?yōu)閍'10011001和b'1100 0110。
(6)變異:在群體中,通過變異算子的作用,一個父代產(chǎn)生一個子代。對于二進(jìn)制基因串就是把1變?yōu)?或把0為1如:a 110001101變異a'110101101。
(7)終止條件判斷:若進(jìn)化代數(shù)未達(dá)到最大值,轉(zhuǎn)到步驟(2);若進(jìn)化代數(shù)達(dá)到最大值,則以進(jìn)化過程中所得到的具有最大適應(yīng)度的個體作為最優(yōu)解輸出,從而計算終止。
遺傳算法經(jīng)過選擇、交叉和變異后產(chǎn)生新的個體,每個個體在進(jìn)入下一代群體之前要經(jīng)歷一個隨機(jī)進(jìn)化的過程,這個過程計算量較大,算法容易局部震蕩。魚群算法具有較強(qiáng)的搜索能力和跳出局部極值的能力,其中追尾行為可加快尋優(yōu)速度,使算法快速的向某個極值前進(jìn),避免解的局部震蕩而停滯不前[7];聚群行為可以使算法跳出局部極值,從而得到其它極值,最終得到全局極值[8]。具體實(shí)現(xiàn)如下。
在遺傳算法經(jīng)過選擇、交叉和變異后,首先引入追尾行為,若當(dāng)前狀態(tài)Z(Xj)<Z(Xi),說明Xj的附近不擁擠且有較多食物,則向Xmin的位置移動一步,否則,再重新隨機(jī)選擇Xj;其次引入聚群行為,若nf/N<δ(0<δ<1),說明中心有較多的食物并且不太擁擠,若此時Z(Xc)比Z(Xi)優(yōu),則向中心位置Xc前進(jìn)一步,否則,人工魚隨機(jī)移動一步。如此,利用改進(jìn)遺傳算法不僅加快了尋優(yōu)速度,而且克服了遺傳算法容易陷入局部最優(yōu)的缺陷,改進(jìn)的遺傳算法優(yōu)化程序如圖2。
表1 框架結(jié)構(gòu)的截面尺寸及分布情況Tab.1 Section size and distributions of frame structures
采用3個9位二進(jìn)制編碼串表示框架結(jié)構(gòu)的3 個設(shè)計變量 A1,A2,P。其中,A1的取值為 0.200~ 0.400 m2,A2的取值為 0.100 ~ 0.300 m2,P 的取值為10.00~50.00 kN,均用二進(jìn)制編碼串000000000~111111111對應(yīng)表示。將編碼串連成一個27位長的二進(jìn)制編碼串,構(gòu)成了框架結(jié)構(gòu)的染色體編碼,則解空間和遺傳算法的搜索空間具有一一對應(yīng)關(guān)系。
解碼和編碼的過程是互逆的。所以解碼時,應(yīng)先將二進(jìn)制編碼串根據(jù)編碼時所表示的設(shè)計變量個數(shù)切斷為若干個二進(jìn)制編碼串,然后將其轉(zhuǎn)換為十進(jìn)制代碼yi,最后用解碼公式算出變量X。
編碼為 X=bibi-1bi-2…b2b1的個體,十進(jìn)制代碼為其解碼公式為 X=Umin+分別表示參數(shù)的最大值和最小值。
因此,結(jié)構(gòu)的設(shè)計變量 A1,A2,P(i=1,2,3,…9)的解碼公式分別為
利用MATLAB根據(jù)改進(jìn)遺傳算法的優(yōu)化程序?qū)蚣芙Y(jié)構(gòu)的可靠度進(jìn)行編程,所得結(jié)果與文獻(xiàn)9中JC算法的結(jié)果見表2。
表2 JC法與改進(jìn)遺傳算法計算荷載對可靠度影響的比較Tab.2 Comparison of effect from load to the reliability between JC method and improved genetic algorithm
從表2中可以得出,在同一驗(yàn)算點(diǎn)處對門式框架結(jié)構(gòu)施加不同的荷載值,分別用JC法與改進(jìn)遺傳算法對結(jié)構(gòu)可靠度指標(biāo)β進(jìn)行計算結(jié)果非常相近,證明了改進(jìn)遺傳算法對結(jié)構(gòu)的可靠度分析是合理可行的。然而,JC法對結(jié)構(gòu)可靠度的分析過程受多個約束條件限制,計算量較大,改進(jìn)的遺傳算法與JC法相比對約束條件的限制很小,能更好的處理離散、非線性等問題,計算過程相對簡單,證明改進(jìn)遺傳算法對結(jié)構(gòu)的可靠度分析是簡單高效的。
1)通過追尾行為和聚群行為對遺傳算法的改進(jìn),在一定程度上防止了遺傳算法的早熟收斂,提高了收斂速度。
2)改進(jìn)的遺傳算法在對框架結(jié)構(gòu)可靠度指標(biāo)分析過程中受到的約束條件較少,而計算結(jié)果與JC算法的相近,合理可行且簡單高效。
[1] 桂勁松,康海貴.結(jié)構(gòu)可靠度計算的最優(yōu)化方法及其Matlab實(shí)現(xiàn)[J] .四川建筑科學(xué)研究,2004(6):18-20.
[2] 魏錦輝,董笑慧,董寶麗.遺傳算法及其在結(jié)構(gòu)可靠度計算中的應(yīng)用[D] .鄭州:鄭州航空工業(yè)管理學(xué)院,2009.
[3] HOLLAND J H.Adaptation in natural and artificial systems[M] .Ann Arbor,Michigan:University of Michigan Press,1975.
[4] 曹蘭,梁梁,全秀祥.遺傳算法在負(fù)載均衡系統(tǒng)中的應(yīng)用研究[J] .四川理工學(xué)院學(xué)報:自然科學(xué)版,2011,24(1):82-85.
[5] 王紅霞,高瑞貞,張京軍.基于不動點(diǎn)理論的改進(jìn)遺傳算法[J] .河北工程大學(xué)學(xué)報:自然科學(xué)版,2010,27(3):56-59.
[6] 徐 欽.基于遺傳算法的復(fù)雜網(wǎng)絡(luò)節(jié)點(diǎn)匹配問題[J] .黑龍江科技學(xué)院學(xué)報,2011,21(2):244-248.
[7] 貢金鑫,魏巍巍.工程結(jié)構(gòu)可靠性設(shè)計原理[M] .北京:機(jī)械工業(yè)出版社,2007.
[8] 李曉磊.一種新型的智能優(yōu)化方法-人工魚群算法[D] .杭州:浙江大學(xué),2003.
[9] 王闖.人工魚群算法的分析及改進(jìn)[D] .大連:大連海事大學(xué),2008.
[10] 吳懿,林建華.遺傳算法和人工神經(jīng)網(wǎng)絡(luò)在分析框架結(jié)構(gòu)可靠度中的應(yīng)用[D] .福建:國立華僑大學(xué),2004.