姜封國, 郭 威, 王路曈, 裴廷瑞
(黑龍江科技大學(xué) 建筑工程學(xué)院, 哈爾濱 150022)
結(jié)構(gòu)可靠性優(yōu)化設(shè)計是結(jié)構(gòu)優(yōu)化設(shè)計領(lǐng)域中的一個重要方向。結(jié)構(gòu)可靠性優(yōu)化設(shè)計是以可靠性指標作為約束條件,對結(jié)構(gòu)進行優(yōu)化設(shè)計。目前,計算結(jié)構(gòu)可靠性指標的方法有驗算點法、寬界限法、窄界限法、蒙特卡羅法、概率網(wǎng)絡(luò)估算值技術(shù)等[1-4]。結(jié)構(gòu)可靠性優(yōu)化方法有乘子法、罰函數(shù)法、復(fù)合形法等,這些方法可以得到很高的精度,但計算過程復(fù)雜。為了解決傳統(tǒng)優(yōu)化方法存在的困難,學(xué)者們將啟發(fā)式智能優(yōu)化方法應(yīng)用于結(jié)構(gòu)可靠性優(yōu)化設(shè)計中。姜封國等[5]將混合遺傳算法應(yīng)用到隨機結(jié)構(gòu)可靠性優(yōu)化設(shè)計中。程躍等[6]采用混沌粒子群算法研究結(jié)構(gòu)可靠性優(yōu)化設(shè)計。鄭燦赫等[7]構(gòu)造了PSO-DE混合算法,將該算法應(yīng)用到可靠性優(yōu)化設(shè)計中。龍周等[8]將SMOTE算法與BP神經(jīng)網(wǎng)絡(luò)模型相結(jié)合,提出了改進的BP神經(jīng)網(wǎng)絡(luò)模型,對船舶的可靠性優(yōu)化結(jié)果表明,該方法提高了優(yōu)化效率和優(yōu)化精度。以上學(xué)者都是將兩種算法進行混合,這是由于單一算法的不足,造成優(yōu)化結(jié)果不理想。
教與學(xué)算法(Teaching-learning-based optimization,TLBO)是印度學(xué)者Rao等[9]提出的一種新的啟發(fā)式優(yōu)化算法。與其他優(yōu)化算法相比,教與學(xué)算法具有收斂性能好,算法中參數(shù)較少,數(shù)學(xué)模型簡單等優(yōu)點。目前,在函數(shù)優(yōu)化,工程參數(shù)優(yōu)化等問題中得到了廣泛應(yīng)用[10-12],但教與學(xué)算法存在搜索過程中容易陷入局部最優(yōu)以及收斂速度慢等不足。禁忌搜索算法(Tabu search,TS)最早是由Glover[13]在1986年提出的,該算法具有局部搜索能力強及收斂速度快等優(yōu)點,但存在對初始解有依賴性強的缺點。
針對結(jié)構(gòu)系統(tǒng)可靠性優(yōu)化問題,筆者將TLBO-TS混合算法與結(jié)構(gòu)可靠性分析方法相結(jié)合,提出了基于結(jié)構(gòu)可靠性TLBO-TS混合算法的優(yōu)化設(shè)計模型。該模型的特點是以結(jié)構(gòu)質(zhì)量最小化為單目標函數(shù),以可靠性指標和截面面積為約束條件,通過六桿桁架結(jié)構(gòu)算例,驗證該混合算法在可靠性優(yōu)化設(shè)計方法的可行性與適用性。
教與學(xué)算法模擬了以班級為單位老師向?qū)W生教授知識和學(xué)生之間相互學(xué)習的兩個過程。在算法中,每個班級就是一個種群,每個班級的學(xué)生人數(shù)就是種群的規(guī)模,學(xué)生學(xué)習的科目就是種群的維度,學(xué)生就是種群的個體,教師就是當中最優(yōu)的個體。TLBO算法分為兩個階段,教師對學(xué)生的教階段和學(xué)生之間的相互學(xué)習階段。
初始化種群是通過式(1)初始化每個個體,計算個體的適應(yīng)度值。
(1)
式中:rand(x)——0和1之間的隨機數(shù);
教階段是通過式(2)得到新個體然后計算其目標函數(shù)值,與舊的個體進行比較,如果優(yōu)于舊的個體則新個體取代舊的個體。
xn=xo+rand(xt-TFxm),
(2)
式中:xt——當前群體的全局最優(yōu)個體;
TF——教學(xué)因子,TF=round(1+rand(0.1));
round——取整符號;
xm——群體的平均值。
學(xué)生階段是學(xué)生們?yōu)檫M一步提高自己的知識,學(xué)生之間會相互學(xué)習。這一階段的過程表示為
(3)
式中,f(x)——每個學(xué)生的適應(yīng)度函數(shù)。
在教與學(xué)算法中,教學(xué)因子是群體平均值的參數(shù),它的取值只能是1或者是2。在結(jié)構(gòu)優(yōu)化問題中,適應(yīng)度值較小為最優(yōu)值。通過式(1)表明,取較大值,得到的新個體較小,其適應(yīng)度值也較小,說明學(xué)生學(xué)到的知識就多,反之,取較小值,說明學(xué)生學(xué)到的知識較少。體現(xiàn)到優(yōu)化算法中,取較小值,表明算法的局部搜索能力強,但是全局搜索能力弱;取較大值,表明算法的全局搜索能力強,但是局部搜索能力弱。
學(xué)生得到的知識過程是經(jīng)過一段的學(xué)習時間后,學(xué)生知識水平就會提高,與老師的知識水平差距就會縮小,但是得到的知識也會越來越少。在基本的教與學(xué)算法中,教學(xué)因子隨機取值,不能真正體現(xiàn)學(xué)生得到知識的過程,為了解決此問題,文中借鑒文獻[14]對TLBO算法中的教學(xué)因子做了非線性遞減的改進,其表達式為
(4)
式中:TFmax、TFmin——教學(xué)因子的最大值與最小值;
r——調(diào)節(jié)參數(shù),控制TF的變化率,文中取值r=1;
t、tmax——當前的迭代次數(shù)、最大迭代次數(shù)。
由式(4)可以看出,隨著迭代次數(shù)的增加,教學(xué)因子由最大值向最小值靠近。說明在迭代前期取值較大,即表明在前期算法全局搜索能力強;在迭代后期取值較小,即表明在后期算法局部搜索能力強,在算法搜索后期可以得到較高精度的解,體現(xiàn)學(xué)生得到知識的過程。
該算法的基本思想是,首先根據(jù)優(yōu)化問題的初始解,選擇一個鄰域結(jié)構(gòu),然后在初始解的鄰域結(jié)構(gòu)中隨機選擇出候選解。將最佳候選解與初始解的適應(yīng)度進行比較,若最佳候選解的適應(yīng)度比初始解的適應(yīng)度更優(yōu),則最佳候選解將取代初始解。在此基礎(chǔ)上,引入了禁忌表,該禁忌表記錄了最近搜索過程中出現(xiàn)的解,禁止這些解在最近搜索過程中再次出現(xiàn),避免陷入局部最優(yōu)解。同時,增加一個特赦準則,若禁忌表中的適應(yīng)度值優(yōu)于當前解,則將該解從禁忌表中釋放出來并代替當前解繼續(xù)進行迭代計算,這樣可以增加種群的多樣性。禁忌表的長度隨優(yōu)化問題而異,筆者將禁忌表的長度設(shè)置為5。禁忌搜索算法的基本流程分為6步。
步驟1根據(jù)問題設(shè)置初始解,置空禁忌表,設(shè)置禁忌表長度等。
步驟2將初始解作為當前解,判斷是否滿足收斂準則。若滿足收斂準則,輸出最優(yōu)結(jié)果,終止計算,若不滿足繼續(xù)步驟3。
步驟3構(gòu)造鄰域函數(shù),利用當前解產(chǎn)生候選解集,隨機選取候選解。
步驟4選取適應(yīng)度最優(yōu)的候選解。
步驟5判斷候選解是否滿足藐視準則,若滿足,將候選解作為當前解,并將原來的當前解替換最早進入禁忌表中的變量,若不滿足,則放入到禁忌表中。
步驟6繼續(xù)步驟2。
TLBO-TS混合算法流程分為5步。
步驟1初始化種群,設(shè)置種群數(shù)量,確定優(yōu)化問題的維度,以及迭代次數(shù)及變量的取值范圍。
步驟2通過式(2)更新個體,其中式(2)中的教學(xué)因子用式(4)取代,根據(jù)適應(yīng)度最優(yōu)值進行選擇。
步驟3通過式(3)在學(xué)階段更新個體,根據(jù)適應(yīng)度最優(yōu)值進行選擇。
步驟4進入禁忌搜索階段。
步驟5判斷是否滿足最大迭代次數(shù),若沒有,則返回步驟2;若達到終止條件,則輸出結(jié)果。
TLBO-TS混合算法利用了改進教與學(xué)算法全局搜索能力強和禁忌搜索算法局部搜索能力強的特點,提高了該混合算法跳出局部最優(yōu)解的能力。
結(jié)構(gòu)可靠性優(yōu)化設(shè)計方法是,在可靠性指標的約束條件下,選取各元件合理的截面使結(jié)構(gòu)系統(tǒng)的質(zhì)量最小。求解該結(jié)構(gòu)系統(tǒng)最小質(zhì)量的優(yōu)化模型可以表示為
(5)
式中:ρi、Li、Ai——元件i的密度、長度、截面面積;
Al和Au——截面面積的上限與下限。
首先,將結(jié)構(gòu)系統(tǒng)近似成為一個串聯(lián)系統(tǒng),將每個元件作為一個失效單元,然后,計算各元件的失效概率,最后,將各元件的失效概率之和作為系統(tǒng)的失效概率。雖然計算的結(jié)果有誤差,但是在大于容許可靠性指標的情況下是可行的,這樣既避免了尋找失效模式,又大大減少了計算量。
假設(shè)元件i的功能函數(shù)可表示為
Zi=g(xi)=R(xi)-S(xi),
(6)
式中:R(xi)——元件i上所有抗力因素的集合;
S(xi)——元件i上承受所有荷載的集合。
可靠性指標為
(7)
式中:μZi——元件i功能函數(shù)的均值;
σZi——元件i功能函數(shù)的標準差。
元件失效概率Pfi與元件可靠性指標βi的關(guān)系為
Pfi=φ(-βi),
(8)
式中,φ(-βi)——標準正態(tài)分布函數(shù)。
(9)
βs=-φ-1(Pf)。
(10)
結(jié)構(gòu)系統(tǒng)的可靠性分析及優(yōu)化設(shè)計問題通常是復(fù)雜和困難的,為了提高可靠性優(yōu)化的穩(wěn)定性和收斂速度,文中將下列收斂準則[15]應(yīng)用于TLBO-TS的可靠性優(yōu)化設(shè)計中:
(11)
(12)
(13)
其中,ε1、ε2、ε3都是遠小1的數(shù)值,在10-4~10-3范圍內(nèi)。
將混合的教與學(xué)算法與結(jié)構(gòu)可靠性優(yōu)化設(shè)計理論相結(jié)合,充分利用改進的教與學(xué)算法和禁忌搜索算法的優(yōu)點,對結(jié)構(gòu)進行可靠性優(yōu)化設(shè)計。其具體的優(yōu)化步驟分為8步。
步驟1設(shè)定參數(shù),最大迭代次數(shù),設(shè)置班級人數(shù)即種群數(shù)量,搜索的空間,置空禁忌表等。
步驟2初始化種群,通過式(1)初始化每個個體,計算個體的適應(yīng)度值。尋找班級中最優(yōu)的個體,計算班級同學(xué)平均水平。
步驟3對結(jié)構(gòu)進行可靠性分析,分析各個個體是否滿足式(5)的約束條件。若滿足約束條件,則進行步驟4,否則,將該個體的適應(yīng)度值分配一個較大的值,在優(yōu)化過程中會自動丟棄。
步驟4由式(2)、(3)更新個體,其中式(2)中的教學(xué)因子用式(4)取代。
步驟5將改進教與學(xué)算法獲得的最優(yōu)解設(shè)置為禁忌搜索算法的初始解。
步驟6進行禁忌搜索并獲得候選解集,求出各個候選解的適應(yīng)度值,找到最優(yōu)解。
步驟7更新最優(yōu)解,從候選解集中獲得最優(yōu)解,若最優(yōu)解不在禁忌表中,則更新最優(yōu)解,否則用次優(yōu)解代替,更新禁忌表。
步驟8若滿足式(11)~(13)收斂準則,則搜索結(jié)束,輸出優(yōu)化結(jié)果,否則返回到步驟3。
基于混合教與學(xué)算法的結(jié)構(gòu)可靠性優(yōu)化流程圖1所示。
圖1 基于TLBO-TS的結(jié)構(gòu)可靠性優(yōu)化流程 Fig. 1 Flow of structural reliability optimization based on TLBO-TS
圖2 桿桁架結(jié)構(gòu)Fig. 2 Structure of 6-bar truss
在兩種不同荷載情況下,對6桿桁架結(jié)構(gòu)進行優(yōu)化計算。工況Ⅰ:F1=46.225 3 kN,F(xiàn)2=28.224 7 kN、F3=16.099 5 kN;工況Ⅱ:F1=53.803 4 kN,F(xiàn)2=23.945 3 kN,F(xiàn)3=16.099 5 kN。文中的初始種群數(shù)量為10,問題的維數(shù)是6。
基于TLBO-TS算法對結(jié)構(gòu)可靠性的進行優(yōu)化設(shè)計,在相同的條件下,對6桿桁架結(jié)構(gòu)分別結(jié)合TLBO算法和TLBO-TS算法進行可靠性優(yōu)化,情況1、2的優(yōu)化曲線如圖3所示,與文獻[7]的優(yōu)化結(jié)果進行對比,結(jié)果如表1所示。
圖3 不同荷載狀態(tài)下的優(yōu)化曲線Fig. 3 Optimization curve under different load conditions
由圖3a可知,TLBO-TS算法迭代20次后達到目標的函數(shù)值6.373 4 kg,而TLBO算法迭代20次后才達到目標的函數(shù)值6.827 kg。由圖3b可知,TLBO-TS算法迭代20次后達到目標的函數(shù)值6.407 0 kg,而TLBO算法迭代20次后才達到目標的函數(shù)值6.782 0 kg??傊?,在不同的荷載情況下,TLBO-TS混合算法的優(yōu)化結(jié)果優(yōu)于基本的TLBO算法,優(yōu)化結(jié)果比較理想。
從表1可知,工況Ⅰ,TLBO算法、PSO-DE算法、TLBO-TS算法的目標函數(shù)分別為6.827 0、6.452 7、6.373 4 kg,表明TLBO-TS算法優(yōu)化的結(jié)果較好,較TLBO算法減少6.64%,較PSO-DE算法減少1.2%。工況Ⅱ,TLBO算法、PSO-DE算法、TLBO-TS算法 目標函數(shù)分別為6.782 0、6.459 4、6.407 0,表明TLBO-TS算法優(yōu)化的結(jié)果較好,較TLBO算法減少5.85%,較PSO-DE算法減少0.82%,說明TLBO-TS算法具有搜索效率高的特點。
表1 桁架結(jié)構(gòu)的優(yōu)化結(jié)果
(1)在基本的教與學(xué)算法基礎(chǔ)上,通過基本教與學(xué)算法中的教學(xué)因子進行非線性遞減改進,提高了教與學(xué)算法的收斂速度,將改進的教與學(xué)算法與禁忌搜索算法進行混合,提出了混合的TLBO-TS算法。
(2)針對結(jié)構(gòu)系統(tǒng)的優(yōu)化設(shè)計,將混合的教與學(xué)算法應(yīng)用于結(jié)構(gòu)可靠性的優(yōu)化設(shè)計中,算例結(jié)果表明,TLBO-TS混合算法比基本的TLBO算法和PSO-DE混合算法能取得更優(yōu)的計算結(jié)果,在兩種模擬工況下目標函數(shù)較TLBO算法分別減少6.64%和5.53%,說明該優(yōu)化設(shè)計方法可以應(yīng)用于復(fù)雜結(jié)構(gòu)系統(tǒng)的可靠性優(yōu)化設(shè)計中。