肖 斌, 張恒賓, 劉宏偉
(西南石油大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610500)
管道輸送在石油和天然氣的運(yùn)輸中起著重要的作用,但隨著管道服役時(shí)間的增長(zhǎng),管道會(huì)出現(xiàn)不同程度的腐蝕缺陷,在腐蝕嚴(yán)重的情況下,會(huì)引起管道泄漏或爆炸,不僅影響油氣管道正常運(yùn)輸,甚至?xí):θ嗣裆?cái)產(chǎn)安全和生態(tài)環(huán)境。因此,研究腐蝕管道的剩余強(qiáng)度具有重要意義。
目前,許多專家已經(jīng)采用實(shí)驗(yàn)、數(shù)值分析或經(jīng)驗(yàn)方法對(duì)腐蝕管道的剩余強(qiáng)度進(jìn)行了深入研究。Abdalla等[1]分析了孤立點(diǎn)腐蝕缺陷的應(yīng)力分布;Wang等[2]考慮管道幾何形狀等因素分析了管道強(qiáng)度極限狀態(tài);臧雪瑞等[3]分析了X100等級(jí)輸氣管道的失效壓力模型。通過(guò)相關(guān)研究結(jié)果可以發(fā)現(xiàn),腐蝕管道剩余強(qiáng)度預(yù)測(cè)的最常用方法是公式計(jì)算和有限元分析。但是公式計(jì)算方法的準(zhǔn)確率較低,且無(wú)法適用于所有管道,而有限元分析過(guò)程又較為復(fù)雜[4],比如常規(guī)的有限分析過(guò)程包括確定邊界條件,建立模型,設(shè)計(jì)變量、公式和求解方程,整個(gè)過(guò)程需要進(jìn)行大量假設(shè),并且需要耗費(fèi)大量時(shí)間。
近年來(lái),由人工神經(jīng)網(wǎng)絡(luò)建立的非線性映射關(guān)系預(yù)測(cè)模型受到眾多學(xué)者的關(guān)注,三層的神經(jīng)網(wǎng)絡(luò)理論上可以擬合任意的非線性函數(shù),相比起有限元分析和回歸模型可以更加精確地?cái)M合實(shí)驗(yàn)數(shù)據(jù),實(shí)現(xiàn)更高質(zhì)量的預(yù)測(cè),具有非常廣闊的應(yīng)用前景。但傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)仍然存在容易陷入局部最優(yōu)等問(wèn)題,而啟發(fā)式搜索算法不要求目標(biāo)函數(shù)連續(xù)、可微等信息,具有較好的全局尋優(yōu)能力[5],所以啟發(fā)式搜索算法可對(duì)神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行初始化。
本文提出了一種新的非線性遞減慣性權(quán)重粒子群算法,以解決其存在的局部最優(yōu)和易早熟問(wèn)題;然后使用改進(jìn)的粒子群算法對(duì)神經(jīng)網(wǎng)絡(luò)的初始權(quán)重和閾值進(jìn)行優(yōu)化,以解決神經(jīng)網(wǎng)絡(luò)本身的局限性,從而建立了預(yù)測(cè)模型;最后使用模型在2個(gè)真實(shí)的管道爆破數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,相比其他模型,所提算法可以更準(zhǔn)確地預(yù)測(cè)腐蝕管道的剩余強(qiáng)度。
粒子群優(yōu)化算法(PSO)是一種群體智能優(yōu)化算法[6],粒子群優(yōu)化算法的數(shù)學(xué)描述如下。
假設(shè)在一個(gè)D維的目標(biāo)搜索空間中,有m個(gè)代表問(wèn)題潛在解的粒子組成一個(gè)種群。第i個(gè)粒子的位置記為Xi=[xi1,xi2,…,xiD]T,其速度記為Vi=[vi1,vi2,…,viD]T。首先隨機(jī)初始化m個(gè)粒子,然后迭代找到最優(yōu)解。每一次迭代中,粒子通過(guò)跟蹤2個(gè)極值Pi=[pi1,pi2,…,piD]T、Pg=[pg1,pg2,…,pgD]T進(jìn)行信息交流。即根據(jù)式(1)和式(2)更新自己的速度和位置:
(1)
(2)
為了提高原始粒子群算法的收斂性能,Shi等[7]提出了一種改進(jìn)的粒子群算法:在速度更新過(guò)程中引入慣性權(quán)重,新的速度迭代式如下所示:
(3)
式中:w為慣性權(quán)重,決定了粒子當(dāng)前速度對(duì)下次迭代時(shí)速度的影響。
多年來(lái),文獻(xiàn)中報(bào)道了自適應(yīng)慣性權(quán)重[8]、隨機(jī)慣性權(quán)重[9]、線性減少慣性權(quán)重[10]、非線性減少慣性權(quán)重[11]等多種權(quán)重變化策略。
交叉主要用于遺傳算法中增加后代種群多樣性,隨著研究深入,已有很多學(xué)者將交叉思想引入粒子群算法來(lái)增加粒子的多樣性[12]。
在標(biāo)準(zhǔn)粒子群優(yōu)化算法中,慣性權(quán)重為固定值,后來(lái)發(fā)現(xiàn)動(dòng)態(tài)變化的慣性權(quán)重尋優(yōu)結(jié)果比固定值好。在許多研究中,通常選擇線性遞減慣性權(quán)重[7],其算法如式(4)所示:
(4)
式中:t為當(dāng)前迭代次數(shù);tmax為粒子的最大迭代次數(shù);wmax為慣性權(quán)重的最大值,wmin為慣性權(quán)重的最小值,通常取值為wmax=0.9,wmin=0.4。
為了更好地保持全局和局部搜索能力之間的平衡,Saxena等[13]提出了一種非線性遞減慣性權(quán)重,但是使用時(shí)慣性權(quán)重會(huì)長(zhǎng)時(shí)間保持在0.7,從而使粒子喪失局部尋優(yōu)能力。本文在文獻(xiàn)[13]的基礎(chǔ)上提出了一種新的非線性遞減慣性權(quán)重,如式(5)、(6)所示:
Δ=(wstart)2-(wend)2。
(5)
w=
(6)
式中:wstart為慣性權(quán)重的迭代的初始值,wend為慣性權(quán)重的迭代的結(jié)束值,通常取值為wstart=0.7,wend=0.4。
該權(quán)重在迭代的前期能快速下降,使得粒子能夠快速拉進(jìn)與最低點(diǎn)之間的距離,同時(shí)避免陷入局部最優(yōu)解,在后期下降較為緩慢從而得到最優(yōu)解。如圖1所示,權(quán)重的遞減速度在迭代過(guò)程中呈現(xiàn)出先快后慢的非線性模式。
圖1 非慣性權(quán)重值下降曲線Figure 1 Non-linear inertia weight value decreasing curve
同時(shí),基于引入的交叉思想[12],在每次迭代中,根據(jù)雜交概率選擇一定數(shù)量的粒子,放入雜交池中,然后池中的粒子成對(duì)隨機(jī)交叉生成相同數(shù)量的后代粒子,最后使用子粒子替換父粒子以增強(qiáng)粒子多樣性。子粒子的位置和速度通過(guò)父粒子的位置和速度交叉獲得。位置交叉公式如下:
qx=λpx(1)+(1-λ)px(2)。
(7)
式中:px為父粒子的位置;qx為子粒子的位置;λ為0到1之間的隨機(jī)數(shù)。
子粒子的速度計(jì)算式如下:
(8)
式中:pv為父粒子速度;qv為子粒子速度。
針對(duì)神經(jīng)網(wǎng)絡(luò)收斂緩慢且容易陷入局部最優(yōu)問(wèn)題,本文使用改進(jìn)的PSO算法(IPSO)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,提高神經(jīng)網(wǎng)絡(luò)尋找全局最優(yōu)解的能力。IPSO-BPNN算法步驟如下。
Step1建立3層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),確定輸入層、隱藏層和輸出層的節(jié)點(diǎn)個(gè)數(shù)。
Step2初始化粒子群參數(shù)。
Step3進(jìn)行IPSO算法訓(xùn)練,計(jì)算每個(gè)粒子適應(yīng)度值,根據(jù)式(3)、(2)更新粒子的速度和位置,根據(jù)式(6)更新粒子權(quán)重,更新Pi和Pg。
Step4進(jìn)行交叉。根據(jù)雜交的概率選擇一定數(shù)量的顆粒進(jìn)行雜交,根據(jù)式(7)和(8)計(jì)算子粒子的位置和速度。
Step5重復(fù)Step 3和Step 4,直到算法誤差滿足要求或訓(xùn)練次數(shù)達(dá)到最大迭代次數(shù)。
Step6使用Step 5得到的全局最優(yōu)值優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)重和閾值。訓(xùn)練神經(jīng)網(wǎng)絡(luò),輸出網(wǎng)絡(luò)的預(yù)測(cè)值,計(jì)算網(wǎng)絡(luò)誤差,將誤差傳播回輸出層并調(diào)整權(quán)重和閾值。重復(fù)上述過(guò)程,直到滿足算法的終止條件或達(dá)到最大迭代次數(shù)為止。
在IPSO算法中,對(duì)于n個(gè)樣本,使用兩層循環(huán)尋優(yōu),第1層循環(huán)為最大迭代次數(shù)j,第2層循環(huán)為種群粒子數(shù)k,由于k和j都是常量,因此得到粒子群算法的時(shí)間復(fù)雜度為O(1)。而對(duì)于一個(gè)l層的全連接神經(jīng)網(wǎng)絡(luò),如果在輸出層通過(guò)激活函數(shù)輸出最后結(jié)果,則P輪訓(xùn)練進(jìn)行了2(l-1)mn次計(jì)算,由于l和m為常量,因此整個(gè)算法的時(shí)間復(fù)雜度可以近似為O(n)。
在有限元分析中重要的步驟是聯(lián)立方程組求解,其主要方法包括Gauss消元法、共軛梯度法等。Gauss消元法的時(shí)間復(fù)雜度為O(n3),共軛梯度法和其他迭代法的時(shí)間復(fù)雜度為O(n2)。而且在實(shí)際應(yīng)用中,F(xiàn)EA方法通常還需要花費(fèi)大量的時(shí)間來(lái)建模,此步驟花費(fèi)的時(shí)間通常多于求解計(jì)算的時(shí)間。因此IPSO-BPNN算法能有效提高預(yù)測(cè)效率,節(jié)省時(shí)間。
實(shí)驗(yàn)選擇了如表1所示的4個(gè)基準(zhǔn)函數(shù)作為測(cè)試函數(shù)。其中F1,F(xiàn)2是單峰函數(shù)編號(hào),只有一個(gè)最優(yōu)值,F(xiàn)3和F4則是多峰函數(shù)編號(hào),具有多個(gè)局部最優(yōu)值。同時(shí),還對(duì)IPSO算法與標(biāo)準(zhǔn)粒子群算法(PSO)、線性遞減慣性權(quán)重粒子群算法(LPSO)、自適應(yīng)權(quán)重粒子群算法(APSO)和隨機(jī)權(quán)重粒子群算法(RPSO)[14]進(jìn)行了對(duì)比分析。
3.1.1 實(shí)驗(yàn)設(shè)置
為了對(duì)5種使用不同權(quán)重策略的粒子群算法進(jìn)行公正和客觀的比較,慣性權(quán)重的最小值和最大值分別設(shè)為0.4和0.9,算法最大迭代次數(shù)設(shè)為1 000,學(xué)習(xí)因子c1和c2的取值均為2,粒子種群規(guī)模大小為40,交叉池大小比例為0.1,交叉概率為0.8,對(duì)每個(gè)基準(zhǔn)函數(shù)進(jìn)行了30次重復(fù)實(shí)驗(yàn),并記錄了實(shí)驗(yàn)過(guò)程中的最優(yōu)值、平均值用于評(píng)估算法的優(yōu)化精度,使用標(biāo)準(zhǔn)差(SD)評(píng)估優(yōu)化穩(wěn)定性。
表1 4個(gè)基準(zhǔn)測(cè)試函數(shù)Table 1 Four benchmark test functions
3.1.2 結(jié)果分析
仿真結(jié)果如表2所示。從表2中可以看出,IPSO在前2個(gè)測(cè)試函數(shù)中的平均值、標(biāo)準(zhǔn)差優(yōu)于PSO、LPSO、APSO和RPSO,而在后2個(gè)函數(shù)中也表現(xiàn)出了較好的效果。
表2 4種算法仿真結(jié)果Table 2 Simulation results of five algorithms
圖2是5種算法對(duì)30維的4個(gè)測(cè)試函數(shù)的平均適應(yīng)度曲線,縱軸為每一次迭代中適應(yīng)度函數(shù)值的平均值,橫軸為迭代次數(shù),因?yàn)楹瘮?shù)值波動(dòng)較大,對(duì)函數(shù)的適應(yīng)度值取對(duì)數(shù)[15]。從圖2中可以看出,相比其他幾種算法,IPSO具有更快的收斂速度和更好的平均適應(yīng)度,表明該算法有更好的魯棒性和適用性。
圖2 5種算法在4個(gè)測(cè)試函數(shù)上的平均適應(yīng)度曲線(30維)Figure 2 Average fitness curve of five algorithms for four test functions (30D)
3.2.1 數(shù)據(jù)來(lái)源
為了驗(yàn)證本文提出的IPSO-BPNN模型的預(yù)測(cè)性能,從文獻(xiàn)[16-21]中收集了161組真實(shí)管道爆破數(shù)據(jù)用于管道剩余強(qiáng)度預(yù)測(cè)。數(shù)據(jù)集1有79組數(shù)據(jù),其中66組數(shù)據(jù)參與訓(xùn)練,13組數(shù)據(jù)用于驗(yàn)證;數(shù)據(jù)集2有82組數(shù)據(jù),其中66組數(shù)據(jù)參與訓(xùn)練,16組數(shù)據(jù)用于驗(yàn)證。本文選擇了5個(gè)因素作為輸入變量,分別為管線鋼級(jí)(取值X42~X100,包含了常用的高等級(jí)管線的主要鋼級(jí))、管道直徑(取值323~1 320 mm)、管道壁厚(取值4.67~22.9 mm)、缺陷深度(取值0~15 mm)、缺陷長(zhǎng)度(取值0~1 110 mm)。爆破壓力是輸出變量,單位為MPa。
3.2.2 數(shù)據(jù)預(yù)處理
首先對(duì)數(shù)據(jù)里的非數(shù)值數(shù)據(jù)如管線鋼級(jí)進(jìn)行處理,轉(zhuǎn)換成數(shù)值類型。由于數(shù)據(jù)集中的5個(gè)變量分別對(duì)應(yīng)于不同的綱度和數(shù)量范圍,有必要對(duì)數(shù)據(jù)進(jìn)行規(guī)范化處理。這里采用歸一化操作,歸一化表示如式(9)所示:
(9)
3.2.3 評(píng)估標(biāo)準(zhǔn)
評(píng)估該模型預(yù)測(cè)性能的指標(biāo)是平均絕對(duì)誤差(MAE)、均方根誤差(RMSE)和平均絕對(duì)百分比誤差(MAPE)[22],其定義為
(10)
(11)
(12)
式中:yir為第i個(gè)樣本的真實(shí)值;yip為第i個(gè)樣本的預(yù)測(cè)值;n為樣本數(shù)量。
3.2.4 參數(shù)設(shè)置
本文選擇3層神經(jīng)網(wǎng)絡(luò),包括5個(gè)輸入層節(jié)點(diǎn)和1個(gè)輸出層節(jié)點(diǎn)。隱藏層中的節(jié)點(diǎn)數(shù)根據(jù)式(13)為3~13個(gè):
(13)
式中:nin為輸入層節(jié)點(diǎn)的個(gè)數(shù);nout為輸出層節(jié)點(diǎn)的個(gè)數(shù);α為0~10的常數(shù)。
根據(jù)計(jì)算得到的節(jié)點(diǎn)范圍進(jìn)行測(cè)試,選擇均方根誤差最小的節(jié)點(diǎn)數(shù)作為隱藏層節(jié)點(diǎn)的最終數(shù)目。由圖3可知,當(dāng)隱藏層中的節(jié)點(diǎn)數(shù)為9時(shí),神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的均方根誤差最小。
圖3 均方根誤差與隱藏層節(jié)點(diǎn)之間的關(guān)系Figure 3 Relationship between root mean square error and hidden layer notes
IPSO參數(shù)設(shè)置:種群大小為40,粒子維度為64,學(xué)習(xí)因子c1和c2均為2;慣性權(quán)重的最小值和最大值分別為0.4和0.9;粒子速度值為[-1,1];粒子位置值為[-4,4];雜交池的大小比為0.1,雜交的概率為0.8。
3.2.5 結(jié)果分析
為了更好地對(duì)比和評(píng)價(jià)模型的準(zhǔn)確性,將IPSO-BPNN與線性回歸(LR)、有限元分析(FEA)、前饋神經(jīng)網(wǎng)絡(luò)(BPNN)和粒子群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)(PSO-BPNN)在2個(gè)數(shù)據(jù)集中的預(yù)測(cè)結(jié)果進(jìn)行了對(duì)比,各項(xiàng)指標(biāo)如表3所示,預(yù)測(cè)結(jié)果的相對(duì)誤差對(duì)比如圖4所示。
表3 5種模型測(cè)試結(jié)果 Table 3 Test result of five models
圖4 數(shù)據(jù)集相對(duì)誤差變化曲線Figure 4 Relative error curve of the dataset
從表3可以看出,在2個(gè)數(shù)據(jù)集中,本文提出的IPSO-BPNN預(yù)測(cè)模型的各項(xiàng)指標(biāo)均優(yōu)于其他對(duì)比模型,顯示出了更高的準(zhǔn)確性。從圖4可以看出,IPSO-BPNN在測(cè)試集中的相對(duì)誤差都保持在10%以內(nèi),表明該模型對(duì)數(shù)據(jù)的整體擬合效果較好,顯示出了較高的穩(wěn)定性。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)腐蝕管道的剩余強(qiáng)度時(shí)波動(dòng)很大,很容易陷入局部最優(yōu)狀態(tài)。本文使用PSO-BPNN算法來(lái)預(yù)測(cè)腐蝕管道的殘余強(qiáng)度,通過(guò)非線性遞減慣性權(quán)重和雜交增加粒子的多樣性,克服了神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)的缺點(diǎn)。與LR、FEA、BPNN和PSO-BPNN模型相比,IPSO-BPNN模型可以提高腐蝕管道殘余強(qiáng)度的預(yù)測(cè)精度。所提算法適用于各個(gè)鋼級(jí)的單腐蝕輸油管線的剩余強(qiáng)度預(yù)測(cè),可以為管道檢查提供較為準(zhǔn)確的依據(jù)。本文只考慮了單一腐蝕缺陷管道的剩余強(qiáng)度情況,下一步的研究重點(diǎn)是對(duì)復(fù)合型腐蝕缺陷管道進(jìn)行分析和評(píng)價(jià)。