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