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