,, , ,
(中海油煉油化工科學(xué)研究院(北京)有限公司,北京 102200)
常減壓蒸餾裝置作為煉油廠的一次加工裝置,對其整體運行情況和處理量有較大影響。原油中通常含有較多的氯和硫,在一定溫度下容易形成HCl-H2S-H2O腐蝕環(huán)境,對常壓塔頂油氣系統(tǒng)造成腐蝕,因此對現(xiàn)有常壓塔頂油氣管線作出腐蝕預(yù)測,對裝置的生產(chǎn)和維護有重要意義。在實際生產(chǎn)環(huán)境中,各因素對腐蝕的影響很復(fù)雜,難以建立準確的數(shù)學(xué)模型。BP神經(jīng)網(wǎng)絡(luò)可以通過自身較強的學(xué)習能力和多因素協(xié)同作用來確定腐蝕數(shù)學(xué)模型,并對腐蝕速率進行預(yù)測。但在數(shù)據(jù)樣本較少時,該方法預(yù)測精度較低,難以滿足工程實際需要[1],可以通過遺傳算法對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,提高其預(yù)測精度。
某公司常減壓蒸餾裝置主要加工高酸重質(zhì)原油,常壓塔頂管線選用碳鋼材質(zhì)。原油加工量為50 t/h,常壓塔頂溫度為94~112 ℃,壓力為1.9~13.4 kPa。
常減壓蒸餾裝置低溫部分腐蝕原因主要有以下幾點:(1)電脫鹽效果差,原油脫后鹽含量高,大量氯化物進入常壓塔和減壓塔塔頂部位,和塔頂凝出水形成鹽酸溶液對管線造成腐蝕。(2)常壓塔頂注氨設(shè)備不完善,使得塔頂pH值無法準確控制,容易形成塔頂HCl-H2S-H2O腐蝕,導(dǎo)致排除水中Fe2+濃度高。(3)缺乏冷凝水pH值檢測手段,不能及時調(diào)整注氨量,使pH值長期過低,致使常減壓蒸餾裝置塔頂系統(tǒng)長期處于酸性腐蝕狀態(tài)[2]。
因此,選擇常壓塔頂流出污水的pH值、Cl-濃度、Fe2+濃度和硫化物含量作為訓(xùn)練數(shù)據(jù),平均腐蝕速率作為輸出數(shù)據(jù),用來建立預(yù)測模型。
選取的BP神經(jīng)網(wǎng)絡(luò)具有輸入層、隱含層、輸出層3層結(jié)構(gòu)。作為多層前饋神經(jīng)網(wǎng)絡(luò),其主要特點為信號前向傳遞,誤差反向傳遞。輸入信號通過輸入層經(jīng)隱含層逐層處理,通過輸出層輸出。如果輸出值達不到期望值,將輸出值與期望值間的誤差反向傳播,根據(jù)誤差調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,通過反復(fù)多次迭代減小誤差,直至誤差降至容許值,則完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練[3]。
2.1.1 網(wǎng)絡(luò)初始化
以pH值、Cl-濃度、Fe2+濃度和硫化物含量作為輸入數(shù)據(jù),其輸入層節(jié)點數(shù)為4;神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點數(shù)選取關(guān)系到最后的預(yù)測精度,在一定范圍內(nèi)增加隱含層節(jié)點數(shù)會減少訓(xùn)練誤差。由于過擬合等原因,超過一定范圍后訓(xùn)練誤差隨著隱含層節(jié)點數(shù)增加而增大。因此,通過經(jīng)驗公式(1)選擇隱含層節(jié)點數(shù)的大概范圍后,經(jīng)過多次試驗,確定隱含層節(jié)點數(shù)為5時效果最好。最終輸出為腐蝕速率,輸出層節(jié)點數(shù)為1。神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)為4-5-1。將現(xiàn)場測試得到的100組數(shù)據(jù),隨機選擇90組為訓(xùn)練數(shù)據(jù),10組為預(yù)測數(shù)據(jù)進行網(wǎng)絡(luò)訓(xùn)練。
(1)
式中:n為輸入層節(jié)點數(shù);l為隱含層節(jié)點數(shù);m為輸出層節(jié)點數(shù);a為0~10間的常數(shù)。
2.1.2 節(jié)點轉(zhuǎn)移函數(shù)確定
選取tansig函數(shù)為訓(xùn)練函數(shù),其中隱含層輸出函數(shù)H由式(2)確定。
(2)
式中:x為輸入變量,wij為輸入層和隱含層間連接權(quán)值,a為隱含層閾值,權(quán)值和閾值初始化賦值在[0,1]區(qū)間內(nèi)隨機選??;l為隱含層節(jié)點數(shù);f為隱含層激勵函數(shù)。
輸出層函數(shù)為logsig函數(shù),通過式(3)可計算人工神經(jīng)網(wǎng)絡(luò)預(yù)測輸出Ok。
(3)
式中:h為隱含層輸出;Wjk為連接權(quán)值;b為閾值。
2.1.3 誤差計算
網(wǎng)絡(luò)預(yù)測誤差e由式(4)可得。
ek=Yk-Ok,k=1,2,…,m
(4)
式中:O為預(yù)測輸出;Y為期望輸出。
2.1.4 權(quán)值更新
通過式(5)和式(6)更新網(wǎng)絡(luò)連接權(quán)值wij和wjk。
i=1,2,…,n;j=1,2,…,l
(5)
wjk=wj-1,k-1+ηHjek,j=1,2,…,l;k=1,2,…,m
(6)
式中:η為學(xué)習速率。
2.1.5 閾值更新
通過式(7)和式(8)更新網(wǎng)絡(luò)節(jié)點閾值a,b。
j=1,2,…,l
(7)
bk=bk-1+ek,k=1,2,…,m
(8)
式中:e為網(wǎng)絡(luò)預(yù)測誤差。
判斷算法迭代是否結(jié)束,若沒有結(jié)束,返回節(jié)點轉(zhuǎn)移函數(shù)確定步驟。
通過MATLAB語言進行編程,隨機取90組數(shù)據(jù)為訓(xùn)練數(shù)據(jù),10組數(shù)據(jù)為預(yù)測數(shù)據(jù)。圖1是BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出與期望輸出數(shù)據(jù)對比;圖2是BP神經(jīng)網(wǎng)絡(luò)腐蝕速率模型預(yù)測誤差。
圖1 預(yù)測輸出與期望輸出數(shù)據(jù)對比
圖2 腐蝕速率模型預(yù)測誤差
從圖1可以看出,該試驗所建立的BP神經(jīng)網(wǎng)絡(luò)可以預(yù)測常壓蒸餾裝置低溫部位腐蝕情況。從圖2中的絕對誤差可以計算出平均相對誤差為21.4%。選取平均相對誤差即為絕對誤差的平均值,該平均值與真值的平均值的比值,更能反映測量的可信程度。通過計算,其均方誤差為2.57%。均方誤差指參數(shù)估計值與參數(shù)真值之差平方的期望值,均方誤差越小說明預(yù)測模型描述的試驗數(shù)據(jù)具有更高的精確度。
BP神經(jīng)網(wǎng)絡(luò)腐蝕預(yù)測結(jié)果與實際腐蝕速率在整體上符合度較好,體現(xiàn)出BP神經(jīng)網(wǎng)絡(luò)具有較強的學(xué)習能力和預(yù)測能力,但個別預(yù)測值偏差較大。
遺傳算法是模擬自然界遺傳機制和生物進化論而形成的一種并行隨機搜索最優(yōu)化方法。按照所選的適應(yīng)度函數(shù)并通過遺傳中的選擇、交叉和變異對個體進行篩選,保留適應(yīng)度好的個體,淘汰適應(yīng)度差的個體,新的群體繼承了上一代的優(yōu)良信息,這樣反復(fù)循環(huán),直至滿足設(shè)定條件[4]。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)是通過遺傳算法優(yōu)化其權(quán)值和閾值來實現(xiàn)的。種群中的每個個體都包含了一個網(wǎng)絡(luò)的所有權(quán)值和閾值,個體通過適應(yīng)度函數(shù)計算個體適應(yīng)度值,遺傳算法通過選擇、交叉和變異操作找到最優(yōu)適應(yīng)度值對應(yīng)個體。BP神經(jīng)網(wǎng)絡(luò)預(yù)測用遺傳算法優(yōu)化后得到最優(yōu)個體對初始權(quán)值和閾值賦值,網(wǎng)絡(luò)經(jīng)訓(xùn)練后預(yù)測函數(shù)輸出[5]。圖3為遺傳算法流程。
圖3 遺傳算法流程
由于設(shè)置的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為4-5-1,即輸出層有4個節(jié)點,隱含層有5個節(jié)點,輸出層有1個節(jié)點,共有25個權(quán)值,6個閾值,所以遺傳算法個體編碼長度為31。隨機取90組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),10組數(shù)據(jù)為預(yù)測數(shù)據(jù)。
3.2.1 種群初始化
將腐蝕數(shù)據(jù)進行歸一化處理后,得到的數(shù)據(jù)都為實數(shù)串,所以編碼方式選擇實數(shù)編碼,其中包括輸入層與隱含層連接的權(quán)值、隱含層閾值、隱含層與輸出層連接權(quán)值和輸出層閾值4部分。結(jié)合之前建立的神經(jīng)網(wǎng)絡(luò)構(gòu)架,就可以構(gòu)成一個完整的神經(jīng)網(wǎng)絡(luò)[6]。
3.2.2 適應(yīng)度函數(shù)
將神經(jīng)網(wǎng)絡(luò)預(yù)測后的輸出值和期望值之間的誤差絕對值之和E作為個體適應(yīng)度值F,根據(jù)計算公式(9)可以得出其適應(yīng)度值。
(9)
式中:n為網(wǎng)絡(luò)輸出節(jié)點數(shù);yi為BP神經(jīng)網(wǎng)絡(luò)第i個節(jié)點的期望輸出;oi為第i個節(jié)點的預(yù)測輸出;k為系數(shù)。
3.2.3 選擇操作
基于樣本為實數(shù)串,選取適應(yīng)度比例的選擇策略,即輪盤賭法,每個個體i的選擇概率pi為:
(10)
fi=k/Fi
(11)
式中:fi為個體i的適應(yīng)度值;k為系數(shù);N為種群個體數(shù)目。
3.2.4 交叉操作
通過實數(shù)交叉法將第k個染色體ak和第l個染色體al在j位進行交叉操作,方法如下:
akj=ak-1,j-1(1-b)+aljb
alj=al-1,j-1(1-b)+akjb
(12)
式中:b為[0-1]間的隨機數(shù)。
3.2.5 變異操作
將第i個個體的第j個基因aij進行如下變異操作:
(13)
式中:amax為基因aij的上界;amin為基因aij的下界;f(g)定義為f(g)=r2(1-g/Gmax)2;r2為隨機數(shù);g為當前迭代次數(shù);Gmax為最大進化次數(shù);r為[0-1]間的隨機數(shù)。
通過MATLAB軟件實現(xiàn)基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),建立常壓塔頂油氣系統(tǒng)腐蝕預(yù)測模型。通過多次試驗得到遺傳算法參數(shù):種群規(guī)模100,進化次數(shù)250,交叉概率0.3,變異概率0.1。遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出與期望輸出數(shù)據(jù)對比見圖4;圖5是遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)腐蝕速率模型預(yù)測誤差。
圖4 優(yōu)化后預(yù)測輸出與期望輸出數(shù)據(jù)
圖5 優(yōu)化后腐蝕速率模型預(yù)測誤差
從圖4可知,遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)的腐蝕預(yù)測數(shù)據(jù)具有更高的預(yù)測精度。從圖5可以看出,通過絕對誤差計算出平均相對誤差為11.1%,較優(yōu)化前BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差有了大幅度降低;計算出均方誤差為2.29%,也較優(yōu)化前BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差有了一定的降低,說明優(yōu)化后的預(yù)測模型描述試驗數(shù)據(jù)具有更高的精確度。
(1)根據(jù)某公司常頂冷凝水的pH值、Cl-濃度、Fe2+濃度和硫化物含量作為輸入數(shù)據(jù),腐蝕速率作為輸出數(shù)據(jù),建立了BP神經(jīng)網(wǎng)絡(luò)腐蝕速率預(yù)測模型。
(2)BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練樣本較少的情況下,預(yù)測誤差值較大。運用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)腐蝕速率預(yù)測模型進行優(yōu)化,所建立的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)腐蝕速率預(yù)測模型的預(yù)測值與實際值具有良好的吻合度,預(yù)測精度較高。
(3)所建立的優(yōu)化模型對常壓塔頂油氣低溫部位的腐蝕預(yù)測精度較高,對實際生產(chǎn)中的腐蝕檢測具有參考價值。
[1] 張代遠.神經(jīng)網(wǎng)絡(luò)新理論與方法[M].北京:清華大學(xué)出版社,2006:11.
[2] 薛光亭.加工海洋高酸原油常減壓裝置的腐蝕與防護[J].石油化工腐蝕與防護,2013.30(5):50-53.
[3] 王小川,史峰,郁磊,等.MATLAB神經(jīng)網(wǎng)絡(luò)43個案例分析[M].北京:北京航空航天大學(xué)出版社,2013:8.
[4] 李敏強.遺傳算法的基本理論與應(yīng)用[M].北京:科學(xué)出版社,2002:47-96.
[5] 花廣如,李文浩,郭陽陽.基于神經(jīng)網(wǎng)絡(luò)模型的海南變電站接地網(wǎng)Q235鋼腐蝕率預(yù)測[J]. 腐蝕與防護,2017,38(8):573-577,588.
[6] 邱鵬,王登海,鄭欣,等.預(yù)測天然氣水合物生成條件回歸公式的評價[J]. 石油與天然氣化工,2016,45(2):47-49.