劉 綱,陳 奇,雷振博,熊 軍
(1. 山地城鎮(zhèn)建設(shè)與新技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(重慶大學(xué)),重慶 400045;2. 重慶大學(xué)土木工程學(xué)院,重慶 400045;3. 中鐵十一局集團(tuán)第五工程有限公司,重慶 400037)
有限元分析技術(shù)具有應(yīng)用成本低、計(jì)算過(guò)程直觀等顯著優(yōu)點(diǎn),已廣泛應(yīng)用于各種復(fù)雜機(jī)械、航空及土木工程結(jié)構(gòu)的設(shè)計(jì)、性能分析與損傷識(shí)別[1?2]。但實(shí)際結(jié)構(gòu)的復(fù)雜性、邊界條件等的不確定性,使得有限元計(jì)算結(jié)果與實(shí)際結(jié)構(gòu)響應(yīng)往往存在一定差異[3]。為使有限元模型能夠更為準(zhǔn)確地反映結(jié)構(gòu)實(shí)際狀態(tài),有限元模型修正技術(shù)得到了大力發(fā)展,已成為當(dāng)前重點(diǎn)研究方向和前沿[4]。
目前,有限元模型修正技術(shù)多采用參數(shù)型修正法,即對(duì)有限元模型中的材料特性、截面尺寸等參數(shù)進(jìn)行修正,具有簡(jiǎn)單直觀、物理意義明確等特點(diǎn)[5]。修正步驟主要包括目標(biāo)函數(shù)建立、修正參數(shù)確定及優(yōu)化算法選取等,其中,合理算法的選取是保證修正精度的關(guān)鍵因素[6]。因?yàn)閭鹘y(tǒng)的牛頓法、一階優(yōu)化法等確定性搜索優(yōu)化算法對(duì)初始值較為敏感,且易陷入局部最優(yōu)[7],故而近年來(lái)各類隨機(jī)搜索優(yōu)化算法得到了更多的發(fā)展及應(yīng)用。
李成等[8]提出了基于人工魚群算法的結(jié)構(gòu)模型修正方法,以每層層間剛度為修正參數(shù),完成了實(shí)驗(yàn)室3層框架的模型修正;杜大華等[9]提出一種基于模擬退火算法的有限元模型修正方法,并以火箭發(fā)動(dòng)機(jī)噴管模型為例實(shí)現(xiàn)了7參數(shù)的有限元模型修正;蘇越[10]提出了基于蟻群優(yōu)化算法的有限元模型修正方法,并完成了虎門大橋的有限元模型修正;夏志遠(yuǎn)等[11]提出了基于高斯白噪聲擾動(dòng)的粒子群優(yōu)化有限元模型修正方法,某在役橋梁結(jié)構(gòu)模型修正結(jié)果表明,各階頻率誤差降低至8.86%以下。此外,差分進(jìn)化算法、蜂群算法、遺傳算法等[12?16]也被大量應(yīng)用到結(jié)構(gòu)動(dòng)力學(xué)模型修正中,形成了一系列基于仿生學(xué)的有限元模型修正方法,并在土木、機(jī)械等結(jié)構(gòu)中顯示出良好的修正效果。
螢火蟲算法(firefly algorithm,F(xiàn)A)作為一種新興啟發(fā)式智能仿生算法,具有參數(shù)少、易實(shí)現(xiàn)、全局尋優(yōu)能力強(qiáng)等特點(diǎn),在狀態(tài)預(yù)測(cè)、傳感器優(yōu)化布置、信號(hào)降噪處理等領(lǐng)域得到初步應(yīng)用[17?21]。但標(biāo)準(zhǔn)FA算法存在著后期收斂速度慢、收斂精度低等不足,嚴(yán)重制約了FA在實(shí)際工程中的應(yīng)用。針對(duì)這一問(wèn)題,本文通過(guò)對(duì)隨機(jī)吸引度因子及自適應(yīng)步長(zhǎng)因子的改進(jìn),提升算法收斂效率與精度。并通過(guò)函數(shù)、簡(jiǎn)支梁數(shù)值模擬和某實(shí)際連續(xù)剛構(gòu)橋的有限元模型修正,驗(yàn)證改進(jìn)FA算法有效性,從而為有限元模型修正提供優(yōu)化方法支撐。
螢火蟲算法是一種隨機(jī)搜索算法,其基本思路是借鑒螢火蟲的自然行為,將優(yōu)化問(wèn)題中的迭代搜索看作是螢火蟲相互吸引而自發(fā)聚集的過(guò)程,從而通過(guò)模擬螢火蟲群體行為實(shí)現(xiàn)最優(yōu)化問(wèn)題求解。在自然界中,螢火蟲個(gè)體的吸引力與發(fā)光強(qiáng)度正相關(guān),與它們之間距離的平方負(fù)相關(guān);亮度小的螢火蟲個(gè)體向亮度大的螢火蟲靠近,從而完成螢火蟲種群的自發(fā)式移動(dòng)和聚集[17],如圖1所示。圖1中,每個(gè)黑色原點(diǎn)為一只螢火蟲個(gè)體,代表優(yōu)化問(wèn)題的一個(gè)可能解;螢火蟲周圍的光暈表示其發(fā)光強(qiáng)度,代表該只螢火蟲的適應(yīng)度函數(shù)值大小,適應(yīng)度值越優(yōu),螢火蟲的發(fā)光強(qiáng)度越強(qiáng)、光暈范圍越大;兩只螢火蟲之間的虛線代表吸引力,虛線越粗,代表吸引力越大。
圖1 螢火蟲發(fā)光強(qiáng)度示意圖Fig. 1 Luminous intensity of firefly
螢火蟲的移動(dòng)過(guò)程就是可能解不斷向最優(yōu)解的迭代過(guò)程,下面給出該過(guò)程的數(shù)學(xué)描述。假設(shè)Xi=(x1i,x2i,···,xdi)是群體中的第i只螢火蟲,其中i =1, 2, 3, ···, N。N與d分別表示種群中螢火蟲的個(gè)數(shù)與修正參數(shù)的維度。對(duì)任意兩只螢火蟲Xi與Xj(i≠j),定義兩者之間的歐氏距離rij為:
則兩者之間的吸引度因子為:
式中:β0為兩只螢火蟲距離rij=0時(shí)的吸引力,一般取為1;γ為光在空氣中的衰減系數(shù),一般取為0.01~100。假設(shè)螢火蟲Xj(j≠i)的適應(yīng)度值優(yōu)于Xi,則螢火蟲Xi會(huì)被螢火蟲Xj吸引而更新,有:
式中:j=1, 2,···, i?1, i+1,···, N,上標(biāo)t為當(dāng)前迭代步數(shù);α為步長(zhǎng)因子,取值范圍為0~1;ε為d維隨機(jī)向量,服從正態(tài)分布N(0,1)。若Xi為當(dāng)前最佳,則對(duì)Xi進(jìn)行隨機(jī)移動(dòng):
螢火蟲Xi在第t步的具體更新過(guò)程如圖2所示。
圖2 第i只螢火蟲更新步驟Fig. 2 Updating steps of the ith firefly
在式(3)中,螢火蟲Xi的更新過(guò)程可細(xì)分為跳躍操作dxβ和隨機(jī)游走操作dxα:
因此,該算法的優(yōu)化性能主要取決于吸引度因子βij和步長(zhǎng)因子α,若這兩者設(shè)置不當(dāng),會(huì)導(dǎo)致算法精度下降甚至難以收斂。針對(duì)這一問(wèn)題,本文提出改進(jìn)自適應(yīng)參數(shù)控制算法,以提升計(jì)算效率及精度。
1) 隨機(jī)吸引度因子
吸引度因子βij在不同γ取值下隨著歐氏距離rij的變化規(guī)律如圖3所示。
由圖3知,γ較大時(shí),吸引度因子βij及跳躍距離dxβ均會(huì)隨著距離增加快速趨近于0,致使搜索停滯;γ較小時(shí),βij往往過(guò)早趨近于1,此時(shí),跳躍操作可近似等效為:
圖3 βij迭代過(guò)程Fig. 3 The iterative process of βij
此時(shí),亮度較低的螢火中直接跳轉(zhuǎn)到高亮度的螢火蟲附近,難以對(duì)狀態(tài)空間內(nèi)其他位置進(jìn)行探索、產(chǎn)生有效跳躍,導(dǎo)致發(fā)現(xiàn)率低、易陷入局部最優(yōu)。因此,衰減系數(shù)γ大小決定了螢火蟲的可視范圍,在原螢火蟲算法中,衰減系數(shù)γ為定值,不會(huì)隨著迭代過(guò)程而改變,故無(wú)論γ取值如何,不可能同時(shí)兼顧迭代初期大范圍快速搜索、迭代后期小范圍精細(xì)搜索的需求。
針對(duì)這一現(xiàn)象,本文取γ=0.01,使各螢火蟲的βij大于0.8,擁有較大的初始搜索空間,避免計(jì)算停滯;同時(shí),引入隔代隨機(jī)吸引度因子,如式(7)所示,使βij有機(jī)會(huì)取較小值,解決因γ取值過(guò)小導(dǎo)致βij過(guò)早趨于1而致使解的同質(zhì)化現(xiàn)象,以提升算法遍歷性。
式中:rand表示從均勻分布U(0,1)中抽取隨機(jī)數(shù);mod(t,2)=0表示迭代步數(shù)t為偶數(shù)。通過(guò)設(shè)置隔代隨機(jī)吸引度因子改善算法搜索空間。以某二維函數(shù)優(yōu)化過(guò)程為例,跳躍操作改進(jìn)前后搜索變化如圖4所示。由圖4可知,改進(jìn)前由于βij過(guò)早趨近于1,跳躍距離dxβ沿固定線性路徑分布,搜索范圍單一。而改進(jìn)吸引度因子有效增加算法搜索范圍,擴(kuò)大了算法的搜索路徑,提升了算法遍歷性,提高了計(jì)算精度。
圖4 跳躍操作產(chǎn)生的距離dxβFig. 4 The distance dxβ produced by jump operation
2) 自適應(yīng)步長(zhǎng)因子
在螢火蟲算法迭代初期,隨機(jī)選取的初始值往往離真值較遠(yuǎn),則此時(shí)步長(zhǎng)因子α應(yīng)取較大值以保證獲得較廣的探索空間,而隨著算法不斷迭代優(yōu)化,種群中所有個(gè)體將逐漸聚集,最終收斂到真值,即:
此時(shí),α應(yīng)趨近于0。否則,算法將在最優(yōu)解附近大幅振蕩,影響算法的收斂性能。從以上分析可知,α值應(yīng)隨著迭代演化而逐漸減小,但縮減的速度大小會(huì)影響最終計(jì)算效率與精度??s減速度過(guò)大,會(huì)導(dǎo)致dxα過(guò)早趨于0,迭代過(guò)早停滯,無(wú)法收斂到最優(yōu)值;縮減速度過(guò)小,會(huì)導(dǎo)致迭代后期的dxα過(guò)大,使結(jié)果在最優(yōu)解附近振蕩。因此,本文提出參數(shù)α自適應(yīng)動(dòng)態(tài)更新策略:
式中:α0為步長(zhǎng)因子初始值,建議取為1;T為最大迭代步數(shù);c為常數(shù)縮減因子,可根據(jù)實(shí)際情況取值以獲取適宜的步長(zhǎng)因子自適應(yīng)縮減速度。根據(jù)算例實(shí)際計(jì)算結(jié)果分析,建議自適應(yīng)步長(zhǎng)因子α的縮減系數(shù)c取為15,此時(shí),α及dxα變化規(guī)律如圖5所示。
圖5 α及隨機(jī)游走距離dxα變化曲線Fig. 5 Curves of α and random walk distance dxα
改進(jìn)后的螢火蟲算法如圖6所示,其中,虛線框內(nèi)內(nèi)容為算法改進(jìn)部分。
圖6 算法流程圖Fig. 6 Algorithm flow chart
采用3個(gè)常用的基準(zhǔn)測(cè)試函數(shù)檢驗(yàn)改進(jìn)FA算法的效果(如圖7所示),算式如下:式中:d 為參數(shù)的維數(shù),所有函數(shù)均取為2; f1為單峰函數(shù),用于考察算法的收斂速度; f2雖是單峰函數(shù),但其全局最優(yōu)點(diǎn)隱藏于一條狹長(zhǎng)的通道中不易獲得; f3是典型的非線性多模態(tài)函數(shù),具有大量局部極值,可有效檢驗(yàn)算法的全局搜索性能。f1和 f2的參數(shù)取值范圍為(?10, 10),f3的參數(shù)取值范圍為(?32.768, 32.768),各函數(shù)圖像如圖7所示。改進(jìn)及標(biāo)準(zhǔn)FA算法的螢火蟲總數(shù)均取為60,最大迭代步數(shù)取為1500。
圖7 各測(cè)試函數(shù)3維圖Fig. 7 Graphical model of each test function
因螢火蟲算法是一種隨機(jī)算法,為確定統(tǒng)計(jì)意義上的優(yōu)化效果,式(10)中每個(gè)函數(shù)分別優(yōu)化20次,統(tǒng)計(jì)最終計(jì)算結(jié)果及計(jì)算精度達(dá)到0.01[11]所需平均迭代步數(shù)。計(jì)算結(jié)果如表1所示。限于篇幅,圖8僅給出f1與f3函數(shù)20次平均優(yōu)化迭代過(guò)程函數(shù)值與迭代步數(shù)的關(guān)系。
表1 測(cè)試函數(shù)計(jì)算結(jié)果Table 1 Computed results of test functions
圖8 f1、f3函數(shù)20次平均優(yōu)化迭代過(guò)程Fig. 8 The 20 average iterative processes of f1、f3
由表1知,對(duì)于所有基準(zhǔn)測(cè)試函數(shù),改進(jìn)FA算法在優(yōu)化平均值方面均有較明顯提升,且從標(biāo)準(zhǔn)差來(lái)看,改進(jìn)FA算法具有更強(qiáng)的算法穩(wěn)定性;由圖8知,在優(yōu)化計(jì)算過(guò)程中,標(biāo)準(zhǔn)與改進(jìn)FA算法在計(jì)算初期收斂速率相當(dāng),但迭代50次左右以后,由于參數(shù)沒(méi)有適應(yīng)性功能,標(biāo)準(zhǔn)FA的優(yōu)化速率急劇降低,陷入局部最優(yōu)解,在多峰函數(shù)計(jì)算時(shí),未能收斂。而改進(jìn)FA算法,無(wú)論處理單峰函數(shù)還是復(fù)雜多峰函數(shù),在900步前均能保持較好的收斂趨勢(shì),有效提升了算法中、后期收斂速度,且計(jì)算精度遠(yuǎn)超設(shè)定閾值,擁有較高的收斂精度。
有限元模型修正的3個(gè)主要步驟是:確定目標(biāo)函數(shù)、修正參數(shù)及修正算法。目標(biāo)函數(shù)往往根據(jù)可獲得的實(shí)測(cè)數(shù)據(jù)確定。在土木工程中,結(jié)構(gòu)動(dòng)態(tài)測(cè)試在隨機(jī)激勵(lì)下容易實(shí)現(xiàn),故選取識(shí)別的固有頻率與模態(tài)振型,建立如下目標(biāo)函數(shù):
式中:n、m分別表示頻率ω與振型φ的階數(shù);下標(biāo)e、r分別表示有限元模型計(jì)算值與實(shí)測(cè)值;CV表示測(cè)量變異系數(shù)。通過(guò)變異系數(shù)加權(quán),給予測(cè)量誤差較小的項(xiàng)以較大的權(quán)重,減小測(cè)量誤差對(duì)修正結(jié)果的影響。
其次,選取彈性模量、密度、幾何尺寸等作為修正參數(shù)[5],并用向量X=[x1,x2,···,xd]表示。
最后,使用改進(jìn)FA算法進(jìn)行有限元模型修正。通過(guò)抽樣形成初始螢火蟲種群,每個(gè)螢火蟲代表一個(gè)參數(shù)向量X,將參數(shù)向量代入有限元模型計(jì)算結(jié)構(gòu)響應(yīng),進(jìn)而通過(guò)式(11)確定每個(gè)螢火蟲的適應(yīng)度值,再按照?qǐng)D5中的流程更新螢火蟲位置,直到達(dá)到迭代終止條件。
對(duì)一跨度為10 m的簡(jiǎn)支梁進(jìn)行模型修正。該梁高H=0.6 m,寬B=0.4 m,材料密度為2500 kg/m3,沿長(zhǎng)度方向?qū)⒘壕譃?0個(gè)單元,記為編號(hào)1~10,并設(shè)置9個(gè)振型測(cè)點(diǎn),記為編號(hào)①~⑨,如圖9所示。
圖9 簡(jiǎn)支梁模型Fig. 9 The model of the simple-supported beam
選取10個(gè)單元的彈性模量為修正參數(shù)Ei(i=1,2, ···, 10)。為方便修正,對(duì)修正參數(shù)值進(jìn)行歸一化無(wú)量綱處理,即θi=Ei/E0,其中,E0=3.3×104MPa,則修正參數(shù)為無(wú)量綱量θi??紤]環(huán)境、施工工藝等因素影響,假設(shè)混凝土實(shí)際彈性模量存在一定離散性,隨機(jī)設(shè)置各單元的彈性模量“真值”,如表2所示。
表2 各單元彈性模量真值Table 2 The actual elastic modulus of each element
在實(shí)際問(wèn)題中,由于測(cè)量誤差,每次測(cè)量結(jié)果往往不盡相同,故一般使用多次測(cè)量結(jié)果以減少誤差影響。為模擬這一過(guò)程,首先將預(yù)設(shè)真值代入有限元模型計(jì)算獲取前6階頻率和前3階豎向振型;然后對(duì)各階頻率及振型分別添加1%噪聲以模擬測(cè)量誤差,最終“實(shí)測(cè)”頻率信息如表3所示。
表3 實(shí)測(cè)頻率信息Table 3 The information of measured frequency
基于上述“實(shí)測(cè)”值,分別使用原始FA及改進(jìn)FA對(duì)簡(jiǎn)支梁進(jìn)行有限元模型修正。修正時(shí),各螢火蟲參數(shù)初始值從均勻分布U(0, 2)中隨機(jī)抽取,種群中螢火蟲個(gè)數(shù)N=20,每只螢火蟲包含變量維數(shù)d=10,最大迭代步T=3000。本文僅列出某只螢火蟲迭代收斂情況,如圖10所示。參數(shù)修正結(jié)果如圖11所示。
圖10 某只螢火蟲各維參數(shù)收斂情況Fig. 10 Convergence of parameters of one firefly
圖11 修正前、后參數(shù)及誤差對(duì)比Fig. 11 Comparisons of parameters and errors before and after updating
從圖10可看出,標(biāo)準(zhǔn)FA算法由于參數(shù)不可適應(yīng)性,迭代過(guò)程易陷入停滯,修正效率低,且最終計(jì)算結(jié)果未能全部收斂到真值;所提改進(jìn)算法在1000步左右即可收斂,且均能收斂到真值。從圖11可知,修正前各參數(shù)誤差均大于9%,其中單元4的彈性模量誤差最大,高達(dá)66.7%;標(biāo)準(zhǔn)FA修正后模型的個(gè)別參數(shù)計(jì)算誤差不減反增,修正效果較差;改進(jìn)算法修正后模型各參數(shù)誤差均降低至1.08%以下,其中單元1參數(shù)誤差僅為0.08%。故所提改進(jìn)算法極大地提升了原始算法的計(jì)算性能,具有良好的修正效果。
某三跨預(yù)應(yīng)力混凝土連續(xù)剛構(gòu)橋跨徑組合為140 m+240 m+140 m,根部梁高為15 m,跨中及邊跨直線段梁高均為4.5 m,主梁采用單箱雙室截面,箱梁腹板采用直腹板,主梁材料采用C50混凝土;橋墩主墩采用雙薄壁墩,墩身薄壁截面尺寸為16 m×25 m,兩薄壁間凈距為7 m,墩高為55 m,墩身材料采用C40混凝土。C40、C50混凝土初始彈性模量分別取為3.25×104MPa、3.45×104MPa,初始密度均取為2600 kg/m3。
利用商業(yè)有限元軟件建立該橋模型,所有構(gòu)件均采用歐拉三維梁?jiǎn)卧M。在橋墩底端,樁基礎(chǔ)與承臺(tái)基礎(chǔ)具有很大的剛度且與基巖嵌固良好,故將其視作固端約束;主梁與墩頂采用固接;橋梁兩端為活動(dòng)支座,在有限元中各設(shè)一個(gè)單向支座,提供X、Z(垂直紙面)方向的平移約束與繞Z方向的轉(zhuǎn)動(dòng)約束。初始有限元模型如圖12(a)所示,模型共包含547個(gè)節(jié)點(diǎn),272個(gè)單元。
圖12 初始有限元模型、傳感器布設(shè)及參數(shù)選取示意圖Fig. 12 The initial finite element, the sensor arrangement and the selection of the parameters
傳感器布設(shè)位置如圖12(b)所示,共采用13個(gè)加速度傳感器進(jìn)行實(shí)橋環(huán)境隨機(jī)激勵(lì)測(cè)試,采樣頻率設(shè)為25 Hz,分別進(jìn)行5次采樣以減少隨機(jī)誤差的影響,每次采樣時(shí)間持續(xù)30 min。通過(guò)頻域分解法(frequency domain decomposition)處理測(cè)試數(shù)據(jù)獲得的前4階豎向自振頻率、豎向振型與初始模型計(jì)算結(jié)果對(duì)比如表4所示,除第4階頻率誤差較小之外,其余階頻率誤差均達(dá)到6%以上。
表4 模型修正前后計(jì)算結(jié)果對(duì)比Table 4 Comparisons of the calculation results before and after model updating
該橋主梁施工采用懸臂澆筑工藝,考慮到相鄰節(jié)段梁施工間隔較近、差異較小,為減少計(jì)算參數(shù),將相鄰節(jié)段梁的彈性模量、密度分別視為一個(gè)參數(shù),參數(shù)選取如圖12所示,其中1~10為選取的合并后節(jié)段編號(hào),故全橋共選取20個(gè)修正參數(shù)。修正時(shí),螢火蟲個(gè)數(shù)N=20,最大迭代步數(shù)T=2000。
由表4知,改進(jìn)FA算法修正后有限元模型的各階頻率誤差均明顯下降,均低于3.25%,修正效果較好;而原始FA算法修正后模型的第3階、4階頻率誤差反而略微增大,最大誤差出現(xiàn)在第3階,達(dá)到7.34%,修正效果較差;根據(jù)表中MAC數(shù)值及圖13(限于篇幅,只列出前2階振型)可知,兩種算法修正后各階振型與實(shí)測(cè)振型吻合度均有提升,但總體上改進(jìn)FA計(jì)算精度優(yōu)于原始FA。
圖13 振型對(duì)比圖Fig. 13 Comparisons of mode shapes
綜上所述,改進(jìn)FA算法相較于原始FA算法在實(shí)橋有限元模型修正中表現(xiàn)出更加良好的修正效果。
針對(duì)標(biāo)準(zhǔn)FA算法缺陷,提出了參數(shù)自適應(yīng)改進(jìn)方法,通過(guò)多種單、多峰函數(shù)以及簡(jiǎn)支梁數(shù)值算例與某大橋有限元模型修正,驗(yàn)證了所提方法的有效性。所得結(jié)論如下:
(1) 根據(jù)FA算法更新原理,分析吸引度因子βij與步長(zhǎng)因子α的變化規(guī)律,提出參數(shù)自適應(yīng)方法,并通過(guò)4個(gè)具有不同形式特點(diǎn)的單、多峰測(cè)試函數(shù)驗(yàn)證了改進(jìn)FA算法相較于原始FA算法在尋優(yōu)速率、精度方面的優(yōu)越性。
(2) 分別將改進(jìn)前后的FA算法應(yīng)用于10維簡(jiǎn)支梁模型修正,結(jié)果表明,原始算法在修正中易陷入停滯,修正精度較低,而改進(jìn)算法擁有較好的修正效果。修正前后,簡(jiǎn)支梁參數(shù)最大誤差由初始模型的66.7%降低至修正后的1.08%,且修正后最小誤差降低至0.08%。驗(yàn)證了改進(jìn)FA算法在結(jié)構(gòu)有限元模型修正中的應(yīng)用可行性。
(3) 基于環(huán)境隨機(jī)激勵(lì)測(cè)試與頻域分解法,識(shí)別某連續(xù)剛構(gòu)橋的豎向前4階頻率、振型。結(jié)果表明,修正前頻率最大誤差為14.47%,改進(jìn)算法修正后各階頻率相對(duì)誤差明顯下降,均控制在3.25%以內(nèi)。此外,修正后的各階振型與實(shí)測(cè)振型吻合度均有提升,表明所提方法擁有良好的修正效果。