王盼鋒,王壽喜,馬 鋼,全 青
(西安石油大學(xué)石油工程學(xué)院,陜西 西安 710065)
隨著我國海底石油的不斷開發(fā),海底管道建設(shè)也在不斷增長,據(jù)能源局?jǐn)?shù)據(jù)統(tǒng)計,截止2017年底,目前中國海底管道長度已超過8 000 km,已然成為了海上油氣運輸?shù)摹吧€”[1-2]。一旦海底管道發(fā)生失效或者破裂,不僅影響正常作業(yè),更會導(dǎo)致生物多樣性被嚴(yán)重破壞,造成極大的經(jīng)濟損失。查閱相關(guān)資料發(fā)現(xiàn),海底管道失效事件主要由腐蝕造成,其占總事故數(shù)的40%。因此,通過對海底多相流管道內(nèi)腐蝕速率的預(yù)測,可以了解管道內(nèi)腐蝕情況,為預(yù)防海底管道腐蝕提供合理的措施與建議,以減少管道失效事件的發(fā)生。
目前,針對管道內(nèi)腐蝕的預(yù)測已有大量的研究,如劉威等[3]根據(jù)實際海洋材料,將灰色模型GM(1,1)與神經(jīng)網(wǎng)絡(luò)模型相結(jié)合對海底管道海水腐蝕進(jìn)行了預(yù)測,但并未將預(yù)測結(jié)果與實際數(shù)據(jù)作對比,因此模型的準(zhǔn)確性還有待商榷;張國安等[4]通過對油氣田中CO2腐蝕速率的3種預(yù)測模型即半經(jīng)驗?zāi)P?、?jīng)驗?zāi)P秃蜋C理模型進(jìn)行了分析,結(jié)果表明這三種預(yù)測模型均存在不完整性,需要進(jìn)行深入的探討;Haque等[5]應(yīng)用人工神經(jīng)網(wǎng)絡(luò)研究了管材的腐蝕疲勞性能;Kamrunnahar等[6]將神經(jīng)網(wǎng)絡(luò)作為數(shù)據(jù)挖掘工具進(jìn)行腐蝕行為預(yù)測,結(jié)果表明神經(jīng)網(wǎng)絡(luò)存在一些缺點,如缺乏邏輯推理能力;鄧志安等[7]、李響等[8]通過建立新的預(yù)測模型,對海洋管線腐蝕速率進(jìn)行了研究,但是該模型只能在影響因素較少的前提下才有較高的預(yù)測精度;孫哲[9]通過建立BP神經(jīng)網(wǎng)絡(luò)算法對南海某多相流海底管段內(nèi)腐蝕速率進(jìn)行了預(yù)測,并編制了腐蝕速率預(yù)測程序,但是該程序預(yù)測誤差偏大,預(yù)測結(jié)果不盡人意;Haque等[10]、Jimēnez-come等[11]、Vapnik[12]、Kaveh等[13]基于支持向量機算法對不同條件(氯離子濃度、酸度和溫度)下的不銹鋼對氯化鈉溶液的耐蝕性進(jìn)行了分析,并建立了腐蝕點蝕預(yù)測模型,結(jié)果表明支持向量機算法也僅適用于小樣本問題。
綜上所述,針對管道內(nèi)腐蝕速率的預(yù)測研究目前均存在一定的缺陷,且針對海底多相流管道的內(nèi)腐蝕速率預(yù)測研究相對較少[14]。面對大數(shù)據(jù)下人工智能的日益強大,本文提出了一種基于PCA-PSO-SVM組合模型的海底多相流管道內(nèi)腐蝕速率預(yù)測的新方法,該方法采用部分實際管道內(nèi)腐蝕速率及其相關(guān)影響因素數(shù)據(jù)對模型進(jìn)行訓(xùn)練學(xué)習(xí),對另一部分?jǐn)?shù)據(jù)進(jìn)行預(yù)測,并將預(yù)測結(jié)果與實際管道內(nèi)腐蝕速率進(jìn)行對比,以此驗證模型的準(zhǔn)確性。該研究可為海底多相流管道內(nèi)腐蝕失效計算方法提供可靠的理論依據(jù),為海底管道完整性風(fēng)險評價提供科學(xué)的指導(dǎo)[15]。
海底多相流管道內(nèi)的流動和流態(tài)極其復(fù)雜,輸送介質(zhì)基本為油、氣、水三相介質(zhì),與單相流管道內(nèi)的流動相比,海底多相流管道內(nèi)經(jīng)常會出現(xiàn)嚴(yán)重的內(nèi)腐蝕問題[1,12]。其中,CO2腐蝕(sweet corrosion)是海底多相流管道內(nèi)腐蝕最為常見的腐蝕機理。深海中CO2遇水會形成碳酸溶液,存在H+,鋼制材料遇酸性溶液會發(fā)生電化學(xué)反應(yīng),其反應(yīng)式如下:
CO2+H2O→H2CO3
(1)
(2)
陽極反應(yīng):
Fe-2e-→Fe2+
(3)
陰極反應(yīng):
2H++2e-→H2
(4)
總反應(yīng):
Fe+H2CO3→FeCO3+H2↑
(5)
從上述反應(yīng)式可以看出,CO2腐蝕每時每刻都會發(fā)生,H+的不斷產(chǎn)生也會加劇電化學(xué)腐蝕的發(fā)生。
已有研究表明,影響海底多相流管道內(nèi)腐蝕的因素主要有溫度、pH值、流體流速、壓力、CO2分壓和持液率等。
(1) 溫度:查閱相關(guān)文獻(xiàn)可以了解到溫度在60℃左右時鋼管CO2腐蝕動力學(xué)有質(zhì)的飛躍變化:當(dāng)溫度大于60℃時,鋼管表面易形成一種腐蝕性的保護(hù)膜,阻礙了鋼材與介質(zhì)的反應(yīng),從而使鋼管內(nèi)腐蝕速率變得緩慢;而當(dāng)溫度低于60℃以下時,隨著溫度的升高,由于沒有保護(hù)膜的存在,鋼管內(nèi)腐蝕速率會明顯加快,出現(xiàn)點蝕、坑蝕的程度較為嚴(yán)重,且當(dāng)溫度在60~70℃之間時出現(xiàn)鋼管內(nèi)腐蝕速率峰值。
(2) pH值:CO2在水中形成一種弱酸H2CO3,使得溶液pH值減小,不斷出現(xiàn)H+之后會加劇陽極的反應(yīng)。已有文獻(xiàn)研究表明,當(dāng)pH值處于4~6時,電化學(xué)反應(yīng)會劇烈發(fā)生,管道內(nèi)腐蝕現(xiàn)象嚴(yán)重。
(3) 流體流速:管道內(nèi)腐蝕速率會因流體流速的增加而變大,這是因為流體流速的增加會加速管道內(nèi)腐蝕過程的進(jìn)行,并且當(dāng)流體流動劇烈時,產(chǎn)生的切向力會破壞鋼管表面形成的保護(hù)膜,加快Fe的化學(xué)反應(yīng),導(dǎo)致出現(xiàn)嚴(yán)重的局部腐蝕。
(4) 壓力:壓力對管道內(nèi)腐蝕也有較為明顯的影響。當(dāng)壓力較大時,管道受到了與腐蝕面相互垂直的應(yīng)力作用,同時伴隨著化學(xué)腐蝕,管道內(nèi)腐蝕速率變大,管道壽命縮短;相反,當(dāng)壓力較小時,管道內(nèi)產(chǎn)生的應(yīng)力作用小,管道內(nèi)腐蝕速率會大大降低
(5) CO2分壓:CO2分壓與溫度類似,當(dāng)溫度低于60℃時,隨著CO2分壓的增大,管道內(nèi)腐蝕速率加快;當(dāng)溫度大于60℃時,隨著CO2分壓的增大,管道內(nèi)表面形成了腐蝕產(chǎn)物膜,阻礙了腐蝕反應(yīng)的發(fā)生,管道內(nèi)腐蝕速率變慢。
(6) 持液率:在多相流體系中,持液率對于何時何地發(fā)生管道內(nèi)腐蝕以及腐蝕程度具有重要的作用。在多相流體系中,當(dāng)液相占比較大時,金屬表面易形成水膜,酸性氣體較快溶解在液相中,此時會提供一種酸性介質(zhì),將有利于管道內(nèi)腐蝕的發(fā)生;當(dāng)液相占比較小時,鋼管的潤濕性受阻,水完全從金屬表面去除,不易形成腐蝕環(huán)境,從而使管道內(nèi)腐蝕速率明顯降低。
通過以上分析可以發(fā)現(xiàn),溫度、pH值、流體流速、壓力、CO2分壓和持液率是海底多相流管道產(chǎn)生內(nèi)腐蝕的重要影響因素,本研究中將著重考慮這六種因素的影響。
主成分分析(Principal Factor Analysis,PCA)算法是一種數(shù)據(jù)壓縮和數(shù)據(jù)降維的分析技術(shù)[16-18]。PCA算法通過構(gòu)造一系列線性組合新變量,并在彼此不相關(guān)的前提下反映原始數(shù)據(jù)的信息,且在不影響預(yù)測結(jié)果的條件下,對海底多相流管道內(nèi)腐蝕速率的影響因素進(jìn)行簡化,從而提升預(yù)測效率。PCA算法的計算步驟如下:
(6)
(2) 建立相關(guān)系數(shù)矩陣Rm×n。按下式建立相關(guān)系數(shù)矩陣Rm×n:
(7)
(8)
(3) 計算主成分的貢獻(xiàn)率和累計貢獻(xiàn)率。依據(jù)|R-λE|求解特征根λ1≥λ2≥…≥λm,求出齊次線性方程組(R-λiE)u=0的特征向量u1,u2,…,um,并計算主成分Fi的貢獻(xiàn)率ei和累計貢獻(xiàn)率P,其計算公式如下:
(9)
(10)
一般情況下,當(dāng)p個影響因素的累計貢獻(xiàn)率超過80%時,就可以使用p個影響因素代替所有的影響因素。在本研究中,為了保障預(yù)測結(jié)果的準(zhǔn)確性,將選擇累計貢獻(xiàn)率超過90%的影響因素數(shù)據(jù)代替所有的影響因素數(shù)據(jù)進(jìn)行研究。
2.2.1 粒子群優(yōu)化(PSO)算法
粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法是一種通過群體之間相互合作和信息共享,利用迭代方法尋求最優(yōu)值的優(yōu)化算法,它是最為常見的尋優(yōu)算法模型[19-21]。
PSO算法假定每個尋優(yōu)問題均為在搜索空間的粒子,其主要是通過速度、位置和適應(yīng)度三個變量表示其特征的。假設(shè)搜索空間是N維,群體中有M個粒子,第i個粒子表示一個N維向量,在尋優(yōu)搜索過程中,每個粒子通過不斷跟蹤兩個最優(yōu)解(一個是自身最優(yōu)解Pbesti,另一個是全局最優(yōu)解Gbestg)進(jìn)行更新,其關(guān)系式如下:
(11)
(12)
2.2.2 支持向量機(SVM)算法
支持向量機(Support Vector Machine,SVM)算法對于解決小樣本、非線性和高維模式識別具有明顯的優(yōu)越性,是一種具有良好性能的分類算法,并且其還能推廣應(yīng)用到人工智能、機器學(xué)習(xí)方面[22]。
SVM算法首先給定樣本數(shù)據(jù)集D={(xi,yi)|i=1,2,…,l},其中xi∈Rn,yi∈R。SVM算法數(shù)據(jù)預(yù)測模型通過引進(jìn)松弛變量約束η和η*,并且引進(jìn)從輸入空間Rn到Hibbert空間H的變換φ,將數(shù)據(jù)集D(xi,yi)(i=1,2,…,l,xi∈Rn,yi∈R)映射為f(φ(xi),yi,b)=0(i=1,2,…,l),將原始的回歸問題轉(zhuǎn)化為優(yōu)化函數(shù)問題,如下式:
(13)
式中:ω為權(quán)重向量;C為懲罰因子,且C>0。
優(yōu)化函數(shù)的約束條件為
ωT=φ(xi)+b-yi≤ε+ηi
(14)
式中:ε為損失函數(shù),且ε>0;b為映射的參數(shù)。
若對應(yīng)的變換φ的核函數(shù)為K(xi,xj),上述問題則轉(zhuǎn)化為
(15)
式中:α為拉格朗日乘子。
最終得到優(yōu)化后的回歸函數(shù)為
(16)
其中,SVM算法回歸的核函數(shù)K(xi,xj)主要包括以下幾種(可取任意值):
多項式核函數(shù)為
K(xi,xj)=(γxixj+fcoe)d
(17)
徑向基核函數(shù)為
K(xi,xj)=exp(-γ|xi-xj|2)
(18)
Sigmoid核函數(shù)為
K(xi,xj)=tanh(γxixj+fcoe)
(19)
式中:d為冪參數(shù)。
在上述三種核函數(shù)中,徑向基核函數(shù)的應(yīng)用相對較廣,因此本研究將選擇徑向基核函數(shù)作為SVM算法的核函數(shù)。
在PCA-SVM預(yù)測模型中,先輸入溫度、pH值、流體流速、壓力、CO2分壓、持液率6項影響因素,經(jīng)過PCA算法處理后得到SVM模型預(yù)測的主要因素PC1,PC2,…,PCm;然后將海底多相流管道內(nèi)腐蝕速率的主要影響因素數(shù)據(jù)和部分管道內(nèi)腐蝕速率數(shù)據(jù)作為PSO-SVM預(yù)測模型的輸入數(shù)據(jù),對剩余部分的管道內(nèi)腐蝕速率進(jìn)行預(yù)測。PCA-PSO-SVM組合模型對海底多相流管道內(nèi)腐蝕速率進(jìn)行預(yù)測的流程見圖1。
圖1 PCA-PSO-SVM組合模型對海底多相流管道內(nèi)腐蝕 速率的預(yù)測流程Fig.1 Flow chart of prediction of internal corrosion rate of submarine multiphase flow pipelines based on PCA-PSO-SVM prediction model
本研究對我國某海域4條海底多相流管道進(jìn)行了內(nèi)腐蝕檢測[7],并對4條海底管道54個位置點的內(nèi)腐蝕速率進(jìn)行了計算,同時通過實時仿真設(shè)備對4條管道54個位置點處的溫度、pH值、流體流速、壓力、CO2分壓、持液率6項影響因素數(shù)據(jù)進(jìn)行了模擬仿真,得到某海域海底多相流管道這些位置點處的內(nèi)腐蝕速率及其影響因素數(shù)據(jù),部分?jǐn)?shù)據(jù)見表1。將某海域海底多相流管道這54個位置點的數(shù)據(jù)分為集合,分別為學(xué)習(xí)數(shù)據(jù)集和預(yù)測數(shù)據(jù)集,其中學(xué)習(xí)數(shù)據(jù)集包含海底管道44個位置點的數(shù)據(jù),用于模型訓(xùn)練;預(yù)測數(shù)據(jù)集包含海底管道10個位置點的數(shù)據(jù),用于模型預(yù)測和模型誤差檢驗。
表1 某海域海底多相流管道部分位置點的內(nèi)腐蝕速率及其影響因素數(shù)據(jù)
根據(jù)上述的PCA算法原理,使用MATLAB編程軟件,依據(jù)對某海域海底多相流管道內(nèi)腐蝕影響因素的分析結(jié)果,將溫度、pH值、流體流速、壓力、CO2分壓和持液率輸入至PCA算法中,并按照公式(6)至(10)計算,得到PCA算法的處理結(jié)果,見表2。
表2 PCA算法的處理結(jié)果
由表2可知,溫度對于該海域海底管道內(nèi)腐蝕速率的影響相對較大,這與文獻(xiàn)中的分析結(jié)果一致,而壓力對該海域海底管道內(nèi)腐蝕速率的影響相對較小。通過本研究可以發(fā)現(xiàn),溫度、pH值、流體流速、CO2分壓和持液率這五項影響因素對海底多相流管道內(nèi)腐蝕速率的累計貢獻(xiàn)率已經(jīng)超過了90%,因此為了減少模型的數(shù)據(jù)訓(xùn)練與預(yù)測時間,可以忽略壓力對海底多相流管道內(nèi)腐蝕速率的影響,只將溫度、pH值、流體流速、CO2分壓和持液率這五項影響因素作為海底多相流管道內(nèi)腐蝕速率的影響因素展開下一步的研究。
在使用PSO算法對參數(shù)進(jìn)行尋優(yōu)的過程中,搜索空間的維度N設(shè)置為2,權(quán)重因子ω設(shè)置為2,加速度因子c1和c2分別設(shè)置為0.9和0.4,為了得到最優(yōu)的參數(shù),尋優(yōu)過程中的迭代次數(shù)設(shè)置為1 000次,通過使用MATLAB編寫PSO算法對SVM算法中的參數(shù)C和ε進(jìn)行尋優(yōu)。
除PSO算法以外,常見的SVM算法參數(shù)尋優(yōu)主要有三種,分別是遺傳算法(GA算法)、最小二乘算法(LS算法)和交叉驗證算法(CV算法),本文分別使用這三種尋優(yōu)算法對SVM算法公式(13)、(14)中的參數(shù)C和ε進(jìn)行優(yōu)選,尋優(yōu)計算結(jié)果見表3。
表3 不同算法對參數(shù)C和ε的優(yōu)選結(jié)果
只從尋優(yōu)的結(jié)果角度出發(fā),無法檢驗PCA-PSO-SVM組合模型的優(yōu)越性,因此需要將PCA-PSO-SVM模型與PCA-GA-SVM模型、PCA-LS-SVM模型和PCA-CV-SVM模型預(yù)測的誤差進(jìn)行對比。
根據(jù)PCA算法影響因素分析結(jié)果和PSO算法參數(shù)尋優(yōu)結(jié)果,在MATLAB軟件中建立SVM模型,依據(jù)SVM算法原理和公式(13)~(16),將溫度、pH值、流體流速、CO2分壓和持液率這五項影響因素作為海底多相流管道內(nèi)腐蝕速率的影響因素,使用某海域海底管道44個位置點的數(shù)據(jù)對PCA-PSO-SVM組合預(yù)測模型進(jìn)行訓(xùn)練,并對剩余的管道10個位置點的內(nèi)腐蝕速率進(jìn)行了預(yù)測,計算每個位置點處的預(yù)測誤差和所有預(yù)測結(jié)果的平均絕對誤差,同時將該組合預(yù)測模型與PCA-GA-SVM模型、PCA-LS-SVM模型、PCA-CV-SVM模型的預(yù)測結(jié)果進(jìn)行了對比。在應(yīng)用這些算法的過程中,輸入數(shù)據(jù)的維度為6維,輸出數(shù)據(jù)的維度為1維,SVM算法中核函數(shù)選擇徑向基核函數(shù),參數(shù)C和ε的選擇來源于表3,通過MATLAB程序分別進(jìn)行預(yù)測,最終得到不同預(yù)測模型的預(yù)測結(jié)果見圖2,不同預(yù)測模型的絕對誤差變化見圖3,不同預(yù)測模型的平均相對誤差以及模型訓(xùn)練所需要的時間見表4。
圖2 不同預(yù)測模型的預(yù)測結(jié)果對比Fig.2 Comparison of prediction results of different models
圖3 不同預(yù)測模型的絕對誤差對比Fig.3 Comparison of absolute errors of different models
表4 不同預(yù)測模型的平均相對誤差和模型訓(xùn)練時間
由圖2、圖3和表4可以看出:PCA-PSO-SVM組合模型預(yù)測結(jié)果的變化趨勢與管道實際內(nèi)腐蝕速率變化趨勢基本一致,管道10個位置點內(nèi)腐蝕速率的預(yù)測相對誤差均沒有超過5%,且與其他3種預(yù)測模型相比,該組合預(yù)測模型的平均相對誤差僅有1.848%,遠(yuǎn)低于其他預(yù)測模型;在模型訓(xùn)練時間方面,組合預(yù)測模型僅需要3.17 s,也小于其他3種預(yù)測模型的學(xué)習(xí)時間。因此,針對海底多相流管道內(nèi)腐蝕速率的預(yù)測問題,本文所提出的PCA-PSO-SVM組合預(yù)測模型具有可靠性和可行性。
本文對海底多相流管道內(nèi)腐蝕速率的影響因素進(jìn)行分析,對PCA算法、PSO算法和SVM算法進(jìn)行了理論介紹,并提出了可用于海底多相流管道內(nèi)腐蝕速率預(yù)測的PCA-PSO-SVM組合模型。該組合模型先使用PCA算法對海底多相流管道內(nèi)腐蝕速率的影響因素進(jìn)行降維,再使用PSO算法對SVM算法的參數(shù)進(jìn)行尋優(yōu),并在此基礎(chǔ)上使用SVM算法對44組海底多相流管道內(nèi)腐蝕的影響因素數(shù)據(jù)和管道內(nèi)腐蝕速率數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,對10組海底多相流管道內(nèi)腐蝕速率數(shù)據(jù)進(jìn)行預(yù)測,同時計算該組合模型預(yù)測的平均相對誤差和模型訓(xùn)練時間,將其與其他預(yù)測模型進(jìn)行了對比,以驗證模型的可靠性。通過本次研究可以得出以下結(jié)論:
(1) 海底多相流管道內(nèi)腐蝕速率受溫度、pH值、流體流速、壓力、CO2分壓和持液率6項因素的影響,其中溫度對海底多相流管道內(nèi)腐蝕的影響相對較大,壓力對其影響相對較小,因此為了簡化模型、縮短高模型訓(xùn)練時間,可以忽略壓力對海底多相流管道內(nèi)腐蝕的影響。
(2) 使用PCA-PSO-SVM組合模型對海底多相流管道內(nèi)腐蝕速率進(jìn)行預(yù)測時,該組合模型的相對誤差最大不超過5%,平均相對誤差僅有1.848%,而在模型訓(xùn)練時間方面,該組合預(yù)測模型僅需要3.17 s,這兩項數(shù)據(jù)均小于其他預(yù)測模型,表明針對海底多相流管道內(nèi)腐蝕速率的預(yù)測問題,PCA-PSO-SVM組合預(yù)測模型具有可靠性和可行性。