陳 艷
(福州軟件職業(yè)技術(shù)學(xué)院,福州 350004)
近年來,混凝土作為土木工程(如水利工程、交通運輸、房屋建造等)基本的澆筑材料,得到了廣泛的關(guān)注及迅猛的發(fā)展。配置混凝土原材料的種類、性質(zhì)與使用量等一系列因素直接影響到混凝土的強度、成本和性能,進而關(guān)系到土木構(gòu)造物的造價、品質(zhì)和壽命〔1〕。因此,明確混凝土的組成材料以及其各成分的用量,使混凝土的性能滿足強度性、耐用性和運作性等要求的配合比設(shè)計已成為當(dāng)代混凝土技術(shù)的關(guān)鍵環(huán)節(jié)〔2〕?,F(xiàn)有的配合比設(shè)計方法主要有5類:傳統(tǒng)經(jīng)驗法、解析式法、計算機控制法、專家系統(tǒng)法和人工神經(jīng)網(wǎng)絡(luò)等〔3〕。其中,傳統(tǒng)經(jīng)驗法的配合比設(shè)計方法耗時較長,造成的資源浪費具有不確定性,很難滿足當(dāng)下信息化、高效性、綠色性的工程要求。解析式法需要相應(yīng)的推算公式與修正方法,而計算機控制法的設(shè)計精度并不是很高。專家系統(tǒng)法則存在學(xué)習(xí)、解釋、推理能力差,相關(guān)知識獲取存在瓶頸,構(gòu)建系統(tǒng)時間很長等問題。人工神經(jīng)網(wǎng)絡(luò)技術(shù)大都存在著泛化能力不理想、隱含層節(jié)點數(shù)不易確定等問題〔4〕。因此,人工神經(jīng)網(wǎng)絡(luò)技術(shù)還有廣泛的研究價值與發(fā)展空間。本文通過構(gòu)建基于海豚算法(dolphin algorithm,DPO)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型(DPO-BP),以期得到更好地解決混凝土配合比設(shè)計問題的方法。本文先對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行優(yōu)化,在確定最優(yōu)權(quán)閾值過程中可以實現(xiàn)對混凝土強度進行預(yù)測,并與傳統(tǒng)的遺傳算法(genetic algorithm,GA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(GA-BP)、粒子群算法(particle swarm optimization,PSO)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(PSO-BP)進行對比,證明了該算法的優(yōu)越性。
1.1 BP神經(jīng)網(wǎng)絡(luò)基本理論BP神經(jīng)網(wǎng)絡(luò)一般都具有3層前饋結(jié)構(gòu),因其在網(wǎng)絡(luò)訓(xùn)練過程中調(diào)整BP網(wǎng)絡(luò)權(quán)值算法的誤差函數(shù)具有反向傳播的特性。在信號向前延伸傳播過程中,輸入信號的傳遞路徑主線為:輸入層—隱含層—輸出層。倘若BP網(wǎng)絡(luò)在輸出層得到的預(yù)測輸出未能達到期望輸出的要求,那么網(wǎng)絡(luò)就會進行反向傳播這個負反饋環(huán)節(jié)。通過不斷地修正BP網(wǎng)絡(luò)的權(quán)閾值,使得BP網(wǎng)絡(luò)預(yù)測結(jié)果逐漸逼近期望輸出。最終,當(dāng)調(diào)整誤差小于網(wǎng)絡(luò)的預(yù)設(shè)值或達到最大迭代步數(shù)時,得到當(dāng)前BP網(wǎng)絡(luò)的最優(yōu)預(yù)測輸出。BP網(wǎng)絡(luò)的基本構(gòu)型見圖1。其中,X1,X2,…,Xn為BP神經(jīng)網(wǎng)絡(luò)的輸入值;Y1,Y2,…,Ym為BP神經(jīng)網(wǎng)絡(luò)的輸出值;ωij,ωjk為BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值。
圖1 BP神經(jīng)網(wǎng)絡(luò)的基本構(gòu)型
1.2 DPO-BP神經(jīng)網(wǎng)絡(luò)的基本理論DPO算法采用海豚覓食過程中從個體到種群的設(shè)計方案和分工明確的互助式探索路徑的結(jié)構(gòu),通過海豚個體對自身位置和食物位置的感知和判斷、群體間的信息共享,自主進行個體的角色定位,選擇首領(lǐng),以期獲得靠近食物的最優(yōu)位置。將DPO算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,運用DPO算法確定一組BP網(wǎng)絡(luò)的最優(yōu)權(quán)閾值,可兼具DPO算法的全局尋優(yōu)及局部細致搜索能力與人工神經(jīng)網(wǎng)絡(luò)的映射泛化能力。DPO-BP算法的基本步驟為:
(1)設(shè)定DPO參數(shù)。初始化海豚群的位置pop=(pop1,pop2,…,popn),海豚種群規(guī)模popsize,搜索維數(shù)為D,最大迭代次數(shù)為Maxgen,海豚個體的伙伴個數(shù)為teamsize。其中,維數(shù)D用BP網(wǎng)絡(luò)權(quán)閾值總數(shù)來表示,即D=m×n+n+n×k+k,m、n、k分別代表輸入層、隱含層、輸出層的節(jié)點數(shù),且按此順序排列海豚的位置坐標(biāo)。
(2)構(gòu)造虛擬團隊。為了達到滿意的尋優(yōu)精度,定義以每只海豚popi(i=1,2,…,n)為自己虛擬團隊的中心,分別計算海豚popj(j=1,2,…,n)到海豚popi的距離dij。一般情況下海豚個體選擇距離相近的m只海豚構(gòu)建虛擬團隊Team,海豚伙伴的距離矩陣采用歐式距離構(gòu)建。
(3)選取合適的適應(yīng)度函數(shù)。在確定一組最優(yōu)的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值過程中,選擇合適的目標(biāo)(適應(yīng)度)函數(shù)fitnessi也是關(guān)鍵的環(huán)節(jié)。一般地,選用訓(xùn)練樣本構(gòu)建及訓(xùn)練BP網(wǎng)絡(luò),為了檢測網(wǎng)絡(luò)的優(yōu)劣,通過測試樣本對當(dāng)前訓(xùn)練好的BP網(wǎng)絡(luò)進行誤差檢測,由sim函數(shù)可以得到網(wǎng)絡(luò)的預(yù)測輸出O=(o1,o2,…,on);若將測試樣本期望輸出記為Y=(y1,y2,…,yn);把預(yù)測輸出和期望輸出之差的均方誤差值作為個體適應(yīng)度值F,計算公式為:
(4)確定海豚群最優(yōu)位置。根據(jù)各海豚團隊中海豚個體的BP預(yù)測仿真值,由適應(yīng)度函數(shù)公式確定每個團隊的最優(yōu)解fxbesti(i=1,2,…,n)和最優(yōu)位置pti(i=1,2,…,n),以及海豚群的最優(yōu)解fxbest和最優(yōu)位置pni。
(5)更新海豚位置。作為團隊的普通成員,海豚個體的位置更新公式。
(6)若迭代尋優(yōu)次數(shù)達到Maxgen,則網(wǎng)絡(luò)訓(xùn)練結(jié)束,得出海豚群最優(yōu)位置(即一組最優(yōu)權(quán)閾值),否則跳轉(zhuǎn)步驟(2)。
(7)用此權(quán)值和閾值構(gòu)建BP用于接下來的樣本評價。
1.3 數(shù)據(jù)來源與處理工程上一般選取混凝土28 d抗壓強度作為評價混凝土質(zhì)量好壞的重要指標(biāo)之一,本文即選用該指標(biāo)作為混凝土抗壓強度預(yù)測及配合比設(shè)計的唯一評價指標(biāo)。以文獻〔5〕的樣本數(shù)據(jù)為研究對象,影響混凝土28 d抗壓強度的因素包括爐石、超增塑劑、水泥、粉煤灰、水、碎石與沙用量等7種〔5〕,樣本數(shù)量共選取90組。本文選取前80組數(shù)據(jù)作為BP網(wǎng)絡(luò)的訓(xùn)練樣本,后10組數(shù)據(jù)作為BP網(wǎng)絡(luò)的測試樣本。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選取為3層,輸入層的節(jié)點數(shù)為5,隱含層的節(jié)點數(shù)選取為10,輸出層的節(jié)點數(shù)為1。設(shè)定海豚群的整體大小為N=20,海豚個體的維數(shù)D=71,海豚群伙伴個數(shù)teamsize=5,最大迭代次數(shù)Maxgen=50。由于這90組數(shù)據(jù)中諸多影響因子之間單位不統(tǒng)一,數(shù)量級相差許多,且數(shù)據(jù)大的話需要的神經(jīng)網(wǎng)絡(luò)神經(jīng)元也較多,可以選擇數(shù)理統(tǒng)計里慣用的歸一化處理方法。另外,把測試樣本的測試誤差的均方誤差和R2值當(dāng)作衡量一個網(wǎng)絡(luò)泛化能力的標(biāo)準(zhǔn)。
2.1 DPO-BP預(yù)測混凝土強度結(jié)果混凝土強度預(yù)測中,DPO-BP算法與BP神經(jīng)網(wǎng)絡(luò)的對比圖見圖2。從圖2中可以看出,DPO-BP算法預(yù)測結(jié)果明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果。另外,從數(shù)據(jù)上可以分析出,在混凝土強度的預(yù)測中DPO-BP算法的均方誤差為0.000 3,遠遠小于BP神經(jīng)網(wǎng)絡(luò)的均方誤差0.027 1。此外,DPO-BP算法的R2=0.997 7較BP神經(jīng)網(wǎng)絡(luò)的R2值更接近于1。
圖2 測試樣本對比圖
2.2 DPO-BP預(yù)測混凝土強度的優(yōu)越性為了判斷及證明DPO-BP算法預(yù)測模型的優(yōu)越性,將文獻〔6-7〕中采用的PSO與GA分別與BP神經(jīng)網(wǎng)絡(luò)的算法結(jié)合并相對比,結(jié)果見圖3。由圖3可以得出,除了第2個樣本的預(yù)測結(jié)果與真實混凝土強度相差0.69之外,DPO-BP較其他兩種算法預(yù)測效果更好。
圖3 不同算法的預(yù)測結(jié)果對比
3種啟發(fā)式算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的性能見表1。在Maxgen的條件下,DPO-BP算法與其他兩種算法誤差相比,前者的收斂速度較快、精度較高;GABP神經(jīng)網(wǎng)絡(luò)的收斂速度與精度次之;PSO-BP算法的精度在三者中最低。其中DPO-BP算法的仿真誤差最小,為0.033 5%,R2=0.998 7較其他兩者更接近于1。但是在算法運行時間上,GA-BP神經(jīng)網(wǎng)絡(luò)的運行時間最短為206.67 s,DPO-BP算法的程序運行時間次之,PSO-BP算法的運行時間最長。
表1 不同算法的性能對比
2.3 混凝土算例驗證為了驗證該DPO-BP算法設(shè)計配合比的可行性和準(zhǔn)確性,以一個算例進行測試。例如,選取混凝土期望強度DesiredValue=39。通過DPO-BP算法,得出最佳的配合比為水泥、粉煤灰、水、碎石、砂用量分別為243.351、260.013、193.548、884.919,901.617 kg/m3。該配合比下的適應(yīng)度值為F=3.126×10-13,誤差較小,再與給出的樣本數(shù)據(jù)相比較,契合度較高。算法的誤差變化曲線見圖4。
圖4 DPO-BP算法誤差變化曲線
本文將DPO算法用于BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化,由于DPO算法具有較高的收斂速度、尋優(yōu)精度,將DPO-BP用于混凝土的強度預(yù)測與配合比設(shè)計上,并與BP、PSO-BP、GA-BP等算法進行對比分析。結(jié)果顯示DPO-BP的尋優(yōu)精度較其他算法更高,收斂速度也更快,預(yù)測、配合比設(shè)計效果較好,泛化能力較強。為了找出混凝土強度的主要影響因素,本文在分析過程中,使用了歸一化、主成分分析等方法,明確了影響混凝土質(zhì)量的主要因素,與其他文獻的混凝土強度影響參數(shù)進行了對比,發(fā)現(xiàn)找出的主要參數(shù)可信度很高。DPO-BP算法求解精度高、可移植性強,還可以用作邊坡穩(wěn)定性判斷、機器故障診斷、空氣水體質(zhì)量評價等諸多領(lǐng)域,具有重要的工程價值。