黃 雷,俞阿龍
(1.南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,南京 211800;2.淮陰師范學(xué)院物理與電子電氣工程學(xué)院,淮安 223300)
工程調(diào)查表明,一般情況下鋼筋混凝土結(jié)構(gòu)的使用年限約為50~100 a,然而很多鋼筋混凝土結(jié)構(gòu)在使用20 a左右便提前進(jìn)入老化期[1],其主要原因是混凝土中的鋼筋發(fā)生腐蝕。因此,設(shè)計(jì)一種綜合多種混凝土結(jié)構(gòu)內(nèi)部環(huán)境和鋼筋腐蝕影響因素的鋼筋腐蝕預(yù)測模型具有重要意義。
鋼筋腐蝕程度是衡量鋼筋混凝土結(jié)構(gòu)服役情況的重要參數(shù),鋼筋腐蝕檢測技術(shù)一直受到國內(nèi)外學(xué)者的廣泛關(guān)注。WU等[2]基于Texas大學(xué)提出的將鋼筋等效物與射頻技術(shù)相結(jié)合的方案,設(shè)計(jì)了一種無源腐蝕檢測傳感器,開發(fā)了相應(yīng)的腐蝕監(jiān)測系統(tǒng),并在江蘇省連云港徐圩港區(qū)的一期工程中得到應(yīng)用。張冉[3]在傳統(tǒng)光纖光柵高溫(FBG)傳感器監(jiān)測的基礎(chǔ)上,提出了一種適用于全壽命期鋼筋銹蝕監(jiān)測的光柵傳感器,實(shí)現(xiàn)了單一應(yīng)變變量的測量,最后通過回歸分析方法建立了鋼筋腐蝕程度預(yù)測模型,消除了溫度對(duì)傳統(tǒng)光柵傳感器的影響,提高了預(yù)測準(zhǔn)確度。XU等[4]利用超聲波對(duì)混凝土中的鋼筋棱柱進(jìn)行檢測,并采用人工神經(jīng)網(wǎng)絡(luò)模型,選取混凝土強(qiáng)度、超聲波速等相關(guān)變量作為輸入層,對(duì)混凝土中鋼筋腐蝕程度進(jìn)行預(yù)測,具有較高的預(yù)測精度。近年來,通過智能算法來初始化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以達(dá)到更好的精度是目前研究的主流方向,該方法具有較好的非線性能力,同時(shí)也可避免BP神經(jīng)網(wǎng)絡(luò)的過度擬合。任舒蕊等[5]利用天牛須搜索(BAS)算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的算法(以下簡稱BAS-BP算法)來估算電池SOC,克服了BP神經(jīng)網(wǎng)絡(luò)收斂速率慢、穩(wěn)定性差等缺點(diǎn),提高了估算的準(zhǔn)確度。
由于BAS算法中初始方向隨機(jī)性強(qiáng)和步長自衰減的限制,初始參數(shù)設(shè)置對(duì)優(yōu)化結(jié)果影響較大,為了減少初始參數(shù)的影響,避免陷入局部極小值,本工作提出改進(jìn)的BAS-BP算法(以下簡稱IBAS-BP算法),將BAS算法中尋優(yōu)的單只天牛改為天牛群,并對(duì)步長和自衰減系數(shù)進(jìn)行設(shè)置,將改進(jìn)的算法用于鋼筋混凝土中鋼筋腐蝕程度的預(yù)測,選取溫度、濕度、CO2含量、pH、氯離子含量和腐蝕電位6個(gè)鋼筋腐蝕特征量與腐蝕程度的對(duì)應(yīng)關(guān)系作為預(yù)測模型的訓(xùn)練樣本,建立鋼筋混凝土中鋼筋腐蝕程度的預(yù)測模型,通過試驗(yàn)證明算法的有效性和優(yōu)越性。
混凝土是由水泥凈漿、骨料、空氣、水等物質(zhì)組成的復(fù)合材料,其孔隙液實(shí)際上是氫氧化物的飽和溶液,pH可達(dá)12~14。在這種高堿性的環(huán)境中,混凝土中的鋼筋會(huì)與水和氧氣發(fā)生反應(yīng),形成一層大約只有1 μm的鈍化膜,其較好的致密性可以隔絕空氣、水與鋼筋表面接觸,保障鋼筋不會(huì)發(fā)生腐蝕。但是,當(dāng)外界環(huán)境pH<11.5時(shí),鈍化膜的生成就變得困難,當(dāng)pH<9.8時(shí),鈍化膜幾乎完全破壞。此時(shí),鋼筋會(huì)發(fā)生局部腐蝕,鋼筋表面可劃分為鈍化區(qū)和腐蝕區(qū)兩部分,由于這兩部分存在電位差,形成了鋼筋大陰極-小陽極的宏電池,加快了鋼筋的腐蝕速率。所以,鋼筋開始發(fā)生腐蝕的必要條件是表面鈍化膜被破壞,而造成鈍化膜破壞的因素較多,其中碳化和氯化物侵蝕是最主要的兩個(gè)因素。
1.1.1 碳化作用
(1)
(2)
1.1.2 氯化物侵蝕
氯化物對(duì)混凝土中鋼筋腐蝕的作用往往比碳化更加明顯。氯離子半徑較小,大約為1.81 pm,具有較強(qiáng)的穿透性,容易穿透鈍化膜并吸附在鋼筋表面。由于氯離子活性較大,當(dāng)其接觸到鈍化膜受損的鋼筋表面時(shí),可與鋼筋直接發(fā)生反應(yīng),形成小陽極-大陰極的腐蝕電池,陽極為鋼筋受到氯離子侵蝕的部位,陰極為鋼筋表面鈍化膜尚未被破壞的部位,這種現(xiàn)象稱為坑蝕現(xiàn)象。同時(shí)氯離子還具有局部酸化的性質(zhì),當(dāng)他吸附于局部鈍化膜處時(shí),可使該處的pH迅速降低到4以下,從而使得鈍化膜溶解、破壞。氯化物侵蝕原理如圖1所示。
圖1 氯化物侵蝕原理示意圖
圖2 IBAS-BP預(yù)測模型
由混凝土中鋼筋的腐蝕機(jī)理可知,碳化和氯離子侵蝕是鋼筋腐蝕最主要的兩個(gè)因素,而這兩個(gè)因素均會(huì)降低鋼筋周圍環(huán)境的pH,使鋼筋表面鈍化膜遭到破壞,且混凝土內(nèi)部的濕度也會(huì)影響碳化速率。因此選取溫度、濕度、CO2含量、pH、氯離子含量和腐蝕電位6個(gè)指標(biāo)作為鋼筋腐蝕特征量。
BP神經(jīng)網(wǎng)絡(luò)模型可以看作是基于復(fù)雜多樣的因素預(yù)測某一變量的黑箱模型。BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層和輸出層組成。他是一種采用誤差反向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),采用梯度下降方式優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值[7],可以提高估算的準(zhǔn)確度,但BP神經(jīng)網(wǎng)絡(luò)具有迭代速率慢、過度擬合和易陷入局部最優(yōu)等缺點(diǎn),而通過智能算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)可以有效地避免這些缺點(diǎn)。
BAS算法是SONG[8]提出的一種發(fā)展起來的元啟發(fā)式優(yōu)化算法,該算法源于自然界天牛的隨機(jī)行走。受天牛的生物學(xué)行為啟發(fā),BAS算法通過模擬天牛的兩條長須在相鄰的田野中尋找氣味來實(shí)現(xiàn)優(yōu)化過程。具體來說,當(dāng)長須檢測到一側(cè)的氣味濃度高于另一側(cè)時(shí),天牛就會(huì)向一側(cè)移動(dòng),否則就會(huì)轉(zhuǎn)向另一側(cè)。由于BAS算法尋優(yōu)過程的簡單性和有效性,對(duì)于單目標(biāo)函數(shù)尋優(yōu)速率更為快速[9],算法步驟如下。
(1) 由于天牛頭部的方向是任意的,所以從天牛的右天線到左天線的矢量方向須是任意的。標(biāo)準(zhǔn)化隨機(jī)向量b見式(3)。
(3)
式中:rand(·)為隨機(jī)函數(shù);k為搜索維數(shù);M、N、L分別為輸入層、隱含層和輸出層的神經(jīng)元個(gè)數(shù)。
(2) 天牛下一步的位置xt+1見式(4)。
xt+1=xt-δtbsing[f(xr)-f(xl)]
(4)
式中:xt為t次迭代后天牛所在的位置;δt為天牛在第t次迭代后的步長;b為;sing(·)為符號(hào)函數(shù);f(xr)和f(xl)為天牛右須和左須的適應(yīng)度函數(shù)。
(3) 天牛左右須空間坐標(biāo)更新見式(5)。
(5)
(4) 感知長度和步長的更新。為了使天牛在搜索過程更加精確,采用步長δ和感知長度d是一個(gè)由大到小的過程,如式(6)所示。
(6)
式中:reta為自衰減系數(shù),幅值為(0,1)。
(5) 最優(yōu)解生成。在迭代過程中,每次迭代后的天牛位置更新后放入xbest集中,計(jì)算出左右須的適應(yīng)度函數(shù)并進(jìn)行比較,然后放入fbest集中。迭代完成后,對(duì)xbest集和fbest集進(jìn)行比較,得到最優(yōu)解fbest和與之對(duì)應(yīng)的xbest,并放入Fbest和Xbest中。Xbest就是BAS算法搜索到的最優(yōu)解。
由于BAS算法中初始方向隨機(jī)性強(qiáng)和步長自衰減的限制,初始參數(shù)設(shè)置對(duì)優(yōu)化結(jié)果影響較大,為了減小初始參數(shù)的影響,避免陷入局部極小值,提高預(yù)測模型的精確度,對(duì)BAS算法做出如下改進(jìn)。
(1) 搜索單位的改進(jìn)。將原先算法尋優(yōu)的單只天牛改進(jìn)為天牛種群,可以有效減小初始參數(shù)對(duì)試驗(yàn)結(jié)果的影響,避免陷入局部極小值,在迭代過程中天牛群各只天牛位置如式(7)所示。
(7)
式中:xir和xil是天牛群中第i只天牛經(jīng)過t次迭代后右天線和左天線的位置;dit為天牛天線的感知長度,感知長度應(yīng)足夠大,以覆蓋適當(dāng)?shù)乃阉鲄^(qū)域,然后隨著時(shí)間的推移逐漸衰減。
(2) 步長和自衰減系數(shù)的改進(jìn)。在BAS 算法中[10],初始步長獲得最優(yōu)的搜索范圍,并可以使算法的漸進(jìn)收斂概率為1。所以,通過設(shè)置步長δ和自衰減系數(shù)reta兩個(gè)參數(shù),提高IBAS算法的迭代速率。為進(jìn)一步提高IBAS-BP算法的預(yù)測精度,對(duì)不同的步長和自衰減系數(shù)進(jìn)行仿真。將[2,8]范圍內(nèi)的步長δ依次代入并進(jìn)行訓(xùn)練。由訓(xùn)練結(jié)果可知,當(dāng)步長取4時(shí),此時(shí)模型的迭代速率最快。將[0.55,0.99]范圍內(nèi)的自衰減系數(shù)reta依次代入并進(jìn)行訓(xùn)練。由訓(xùn)練結(jié)果可知,當(dāng)0.55 選用6個(gè)鋼筋腐蝕特征量作為輸入層,輸出層為鋼筋腐蝕程度。在鋼筋混凝土內(nèi)部環(huán)境因素與鋼筋腐蝕程度映射關(guān)系不明的情況下,可通過選取鋼筋腐蝕特征量的數(shù)據(jù),實(shí)現(xiàn)對(duì)鋼筋混凝土中鋼筋腐蝕程度的預(yù)測。本工作中預(yù)測模型選取6個(gè)輸入節(jié)點(diǎn)以及一個(gè)輸出節(jié)點(diǎn),由BP神經(jīng)網(wǎng)絡(luò)隱含層的經(jīng)驗(yàn)公式(8)可得隱含層個(gè)數(shù)。 (8) 式中:M、m、n分別為隱含節(jié)點(diǎn)數(shù)、輸入層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù);a為[1,10]范圍的正整數(shù)。由式(8)可得最佳隱含層個(gè)數(shù)的范圍為[4,13]。 將取值范圍內(nèi)的隱含層個(gè)數(shù)依次代入BP 神經(jīng)網(wǎng)絡(luò),通過對(duì)比不同隱含層個(gè)數(shù)訓(xùn)練集的均方誤差確定隱含層個(gè)數(shù)。結(jié)果表明,當(dāng)本工作中預(yù)測模型的隱含層個(gè)數(shù)為8時(shí),訓(xùn)練集均方誤差最小。 IBAS-BP算法的具體步驟如下,其流程圖如圖3所示。 圖3 IBAS-BP算法流程圖 (1) 對(duì)實(shí)測選取的6個(gè)鋼筋腐蝕特征量和與之對(duì)應(yīng)的鋼筋腐蝕程度的數(shù)據(jù)進(jìn)行歸一化。 (2) 初始化天牛群參數(shù),天牛群中各只天牛的初始位置都應(yīng)設(shè)置在 [-0.5,0.5]范圍內(nèi)的k維隨機(jī)向量,設(shè)置感知長度d為30,步長δ為4,自衰減系數(shù)reta為0.95,最大迭代次數(shù)為200,設(shè)定適應(yīng)度函數(shù)值為0.001。 (3) 確定適應(yīng)度函數(shù)對(duì)天牛左右須進(jìn)行氣味判斷,通過式(9)得出最優(yōu)解Xbest。 (9) 式中:tsim(j)和yj分別為第j個(gè)樣本的預(yù)測值和真實(shí)值。 (4) 根據(jù)式(3)和式(5)~(7)更新天牛群中各只天牛位置以及各天牛左右須位置,并得到與之對(duì)應(yīng)的適應(yīng)度函數(shù),當(dāng)?shù)螖?shù)達(dá)到預(yù)設(shè)的最大迭代數(shù)或者適應(yīng)度函數(shù)值小于設(shè)定精度時(shí),停止迭代,得到的Xbest就是利用改進(jìn)后的算法求得的BP神經(jīng)網(wǎng)絡(luò)最優(yōu)的初始權(quán)值和閾值。 (5) 將IBAS算法尋優(yōu)結(jié)果,即最優(yōu)的BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值代入,進(jìn)行二次訓(xùn)練。 混凝土中鋼筋腐蝕是一個(gè)非常復(fù)雜的過程。為了能盡可能多的考慮不同工程環(huán)境和影響因素,選取了溫度、濕度、CO2含量、pH、氯離子含量和電極電位作為腐蝕影響參數(shù),根據(jù)標(biāo)準(zhǔn)JGJ/T 98-2010《砌筑砂漿配合比設(shè)計(jì)規(guī)程》和GB/T 27690-2011《砂漿和混凝土用硅灰》,以1…2…6的水灰沙比制備混凝土測試試塊[11],在試塊澆筑并養(yǎng)護(hù)完成后進(jìn)行電化學(xué)加速腐蝕試驗(yàn)。對(duì)不同鋼筋腐蝕程度的試塊進(jìn)行破壞性試驗(yàn),得到試塊中的鋼筋,并根據(jù)鋼筋酸洗堿洗前后的質(zhì)量差,計(jì)算鋼筋的腐蝕程度。 對(duì)不同量級(jí)的訓(xùn)練數(shù)據(jù)進(jìn)行歸一化處理不僅可以消除數(shù)據(jù)本身造成的不良影響,還能加速梯度下降,找到最優(yōu)解并提高算法精度。本工作通過MATLAB軟件中的歸一化函數(shù),將數(shù)據(jù)歸一化在[0,1],歸一化后的數(shù)據(jù)如表1所示。 表1 歸一化后的訓(xùn)練樣本數(shù)據(jù) 將試驗(yàn)數(shù)據(jù)依次代入PSO-BP、GA-BP、BAS-BP和IBAS-BP 4種模型中,得到4種模型驗(yàn)證均方誤差曲線。 由圖4可見,GA-BP模型需要58步收斂,PSO-BP模型需要37步收斂,BAS-BP模型需要13步收斂,IBAS-BP模型只需要4步就已經(jīng)收斂,在收斂速率上是4種模型中最快的。測試集的試驗(yàn)結(jié)果和預(yù)測結(jié)果對(duì)比如圖5和表2所示。 表2 預(yù)測結(jié)果對(duì)比 圖4 4種模型驗(yàn)證均方誤差曲線 圖5 4種模型的試驗(yàn)結(jié)果 為合理評(píng)價(jià)和改進(jìn) IBAS-BP 模型對(duì)于鋼筋混凝土中鋼筋腐蝕程度的預(yù)測精度,以測試樣本數(shù)據(jù)的相對(duì)誤差、收斂速率和決定系數(shù)為評(píng)估標(biāo)準(zhǔn)。決定系數(shù)R2的計(jì)算公式見式(10)。 (10) 式中:NSSR為回歸平方和;NSSE為誤差平方和;NSST為總平方和;tsim(j)和yj是第j個(gè)樣本的預(yù)測值和真實(shí)值;y為測試集樣本真實(shí)值的平均值。 R2在0到1之間,當(dāng)R2越靠近1時(shí),表明模型的擬合度越高。不同模型的性能對(duì)比結(jié)果如表3所示。 表3 不同模型的性能對(duì)比 由表2和表3可見,PSO-BP模型的預(yù)測值與實(shí)際鋼筋混凝土中鋼筋的腐蝕程度定值基本吻合,但當(dāng)鋼筋腐蝕程度低于6%和高于13%時(shí),預(yù)測結(jié)果較期望值相差較大。性能指標(biāo)方面,PSO-BP模型的最大相對(duì)誤差為0.147,決定系數(shù)R2為0.867 7,在預(yù)測精度和擬合能力上是4種模型中表現(xiàn)最不理想的。當(dāng)鋼筋腐蝕程度大于13%時(shí),GA-BP模型預(yù)測結(jié)果的誤差變大。性能指標(biāo)方面,GA-BP模型的最大相對(duì)誤差為0.084,決定系數(shù)R2為0.891 3,預(yù)測精度和擬合能力低于BAS-BP模型,并且遺傳算法步驟繁雜,收斂速率是4種模型中較慢的。BAS-BP模型的預(yù)測值與期望值的誤差相對(duì)較小,但當(dāng)腐蝕程度在13%以上和在6%以下時(shí),出現(xiàn)誤差。性能指標(biāo)方面,BAS-BP模型的最大絕對(duì)誤差為0.070,決定系數(shù)R2為0.905 1,由于BAS算法尋優(yōu)速率快,BAS-BP模型的收斂速率相對(duì)于前兩種模型較快,但初始參數(shù)設(shè)置對(duì)試驗(yàn)結(jié)果影響較大。IBAS-BP模型的預(yù)測值和期望值基本吻合,誤差是4種模型中最小的,其最大相對(duì)誤差僅為0.025,決定系數(shù)R2為0.943 3,IBAS-BP模型僅需4步就能收斂,收斂速率比BAS-BP模型更快。 通過將混凝土內(nèi)部溫度、濕度、CO2含量、pH、氯離子含量和腐蝕電位作為模型輸入層,鋼筋腐蝕程度作為輸出層,利用改進(jìn)IBAS-BP算法建立預(yù)測模型,對(duì)混凝土內(nèi)部鋼筋腐蝕程度進(jìn)行預(yù)測。試驗(yàn)結(jié)果表明,IBAS-BP模型對(duì)于鋼筋混凝土中鋼筋腐蝕速度的預(yù)測精度得到提高。通過調(diào)整天牛的步長和自衰減系數(shù),預(yù)測模型不斷優(yōu)化,模型預(yù)測結(jié)果的誤差也隨之減小。將試驗(yàn)數(shù)據(jù)代入4種模型中進(jìn)行訓(xùn)練,并比較試驗(yàn)結(jié)果和模型性能指標(biāo),得出 IBAS-BP模型在預(yù)測精度、收斂速率和決定系數(shù)方面的表現(xiàn)都優(yōu)于BAS-BP模型、GA-BP模型和PSO-BP模型,表明了基于IBAS-BP算法的鋼筋混凝土中鋼筋腐蝕程度預(yù)測模型具有更好的預(yù)測效果。3 IBAS-BP算法在鋼筋腐蝕程度預(yù)測中的應(yīng)用
3.1 IBAS-BP模型
3.2 試驗(yàn)數(shù)據(jù)
3.3 試驗(yàn)結(jié)果
4 結(jié) 論