王鑫, 張奇志*
(1.西安石油大學(xué)電子工程學(xué)院, 西安 710065; 2.陜西省油氣井重點(diǎn)測(cè)控實(shí)驗(yàn)室, 西安 710065)
在鉆井作業(yè)過(guò)程中,受到復(fù)雜地層、司鉆操作失誤等因素的影響,在鉆井作業(yè)的任何階段都有可能發(fā)生井漏。井漏事故不僅污染環(huán)境,還極有可能造成設(shè)備故障、威脅鉆井人員安全等。如果在出現(xiàn)井漏后沒(méi)有及時(shí)發(fā)現(xiàn)并采取堵漏措施,任憑其發(fā)展下去,嚴(yán)重的會(huì)發(fā)生井噴現(xiàn)象,可能會(huì)引起諸多連鎖反應(yīng),從而導(dǎo)致井眼報(bào)廢[1-2]。因此,在鉆井過(guò)程中,能夠及時(shí)預(yù)測(cè)井漏事故,顯得尤為重要。
早期,針對(duì)井漏事故的預(yù)測(cè),只能靠相關(guān)技術(shù)人員通過(guò)傳感器采集到的實(shí)時(shí)數(shù)據(jù)進(jìn)行人為判斷。但這需要技術(shù)人員有著豐富的經(jīng)驗(yàn)。而且,人為判斷有著較大的主觀因素。近年來(lái),隨著智能算法的不斷發(fā)展,中外學(xué)者提出了許多井漏事故預(yù)測(cè)智能方法。這些方法更加科學(xué),能夠更準(zhǔn)確地預(yù)測(cè)井漏事故。
耿志強(qiáng)等[3]使用移動(dòng)窗稀疏主元分析法對(duì)鉆井事故數(shù)據(jù)進(jìn)行分析并建立了井漏案例庫(kù),將案例庫(kù)中的鉆井?dāng)?shù)據(jù)與實(shí)時(shí)鉆井?dāng)?shù)據(jù)中的異常部分進(jìn)行對(duì)比,從而判斷可能發(fā)生的故障類型;劉彪等[4]使用破裂壓力、孔隙度、原生裂縫方向等鉆井參數(shù)分別建立了基于高斯核函數(shù)和多項(xiàng)式核函數(shù)的支持向量回歸的漏失量預(yù)測(cè)模型。結(jié)果表明,采用高斯核函數(shù)的預(yù)測(cè)模型誤差更小,可以更好地對(duì)井漏的漏失量進(jìn)行預(yù)測(cè);Abbas等[5]分別使用人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)建立了井漏事故預(yù)測(cè)模型。最終,通過(guò)現(xiàn)場(chǎng)數(shù)據(jù)的驗(yàn)證表明,支持向量機(jī)在井漏預(yù)測(cè)方面比傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)表現(xiàn)更優(yōu),預(yù)測(cè)準(zhǔn)確率更高。Agin等[6]建立了自適應(yīng)神經(jīng)模糊推理系統(tǒng)預(yù)測(cè)井漏的模型,并使用數(shù)據(jù)挖掘技術(shù),對(duì)鉆井?dāng)?shù)據(jù)進(jìn)行分析,確定了對(duì)井漏事故發(fā)生有較大影響的特征參數(shù),進(jìn)一步提高了井漏預(yù)測(cè)的準(zhǔn)確率;Aljubran等[7]建立了基于深度學(xué)習(xí)和時(shí)間序列分析的井漏事故預(yù)測(cè)模型。結(jié)果表明,使用一維卷積神經(jīng)網(wǎng)絡(luò)能夠有效地對(duì)井漏事故進(jìn)行預(yù)測(cè)。
麻雀搜索算法受自然界中麻雀覓食過(guò)程的啟發(fā)。已經(jīng)有大量實(shí)驗(yàn)證明,麻雀搜索算法在迭代時(shí)間、尋優(yōu)精度、穩(wěn)定性等方面都優(yōu)于其他智能優(yōu)化算法。因此,現(xiàn)建立改進(jìn)麻雀搜索算法優(yōu)化支持向量機(jī)的井漏預(yù)測(cè)模型,實(shí)現(xiàn)井漏事故的預(yù)測(cè)。
SSA算法主要受到自然界中麻雀捕食和遇到危險(xiǎn)時(shí)做出的反捕食行為的啟發(fā)[8]。麻雀種群中一般包括3種麻雀:發(fā)現(xiàn)者、追隨者和警戒者。發(fā)現(xiàn)者搜尋食物,它為整個(gè)麻雀種群提供食物的位置信息。追隨者通過(guò)發(fā)現(xiàn)者提供的食物位置信息進(jìn)行食物的獲取,并且不斷監(jiān)視發(fā)現(xiàn)者用以爭(zhēng)奪食物。但發(fā)現(xiàn)者和追隨者的身份并不是固定的,它們會(huì)根據(jù)實(shí)際情況的不同,自由地切換身份。在麻雀覓食期間,如果警戒者覺(jué)察到危險(xiǎn)時(shí),就會(huì)向麻雀種群發(fā)出警告,種群則立即做出反捕食的行為。
發(fā)現(xiàn)者按式(1)進(jìn)行位置更新:
(1)
跟隨者按式(2)進(jìn)行位置更新:
(2)
警戒者按式(3)進(jìn)行位置更新:
(3)
針對(duì)線性可分問(wèn)題,使用支持向量機(jī)(support vector machine,SVM)進(jìn)行分類時(shí),旨在找到一個(gè)最優(yōu)超平面將數(shù)據(jù)完全分離,并使得距離該平面最近的數(shù)據(jù)點(diǎn)到該平面距離最大。該過(guò)程可以理解為解決下述最優(yōu)化問(wèn)題。
(4)
式(4)中:i=1,2,…,l;ξi為松弛變量因子,且ξi≥0;ω為垂直于超平面的向量;b為偏移量;xi為第i個(gè)樣本;yi為分類類別,取值為1或-1;C為懲罰因子,當(dāng)出現(xiàn)錯(cuò)誤分類時(shí)C就會(huì)增大。
為求解式(4),首先需要引入拉格朗日函數(shù):
(5)
式(5)中:x為樣本點(diǎn)構(gòu)成的向量;α為拉格朗日方程的系數(shù)因子構(gòu)成的向量;αi為拉格朗日方程的系數(shù)因子。
對(duì)式(5)中的ω和b分別求偏導(dǎo)并令其為0,解得式(4)的對(duì)偶問(wèn)題:
(6)
式(6)中:aj為拉格朗日方程的系數(shù)因子;xj為第j個(gè)樣本。
進(jìn)一步解得,線性情況下的決策函數(shù)為
(7)
式(7)中:
為第i個(gè)拉格朗日乘子。
對(duì)于非線性問(wèn)題,需要使用核函數(shù)將樣本數(shù)據(jù)映射到高維空間中,從而變?yōu)榫€性可分。
核函數(shù)的表達(dá)式為
K(xi,xj)=φ(xi)φ(xj)
(8)
一般常使用徑向基核函數(shù),表達(dá)式為
(9)
式(9)中:g為核函數(shù)的寬度;‖x-y‖2為樣本點(diǎn)x和樣本點(diǎn)y之間的距離。
同理,可以得到對(duì)于非線性情況下的決策函數(shù)為
(10)
綜上,使用SVM解決分類問(wèn)題時(shí),懲罰因子C和核參數(shù)g對(duì)分類結(jié)果有著較大的影響。
SSA算法同樣是群智能優(yōu)化算法,其不可避免地存在群智能優(yōu)化算法的普遍問(wèn)題,即算法搜索到全局最優(yōu)解附近時(shí),種群多樣性減少,容易陷入局部最優(yōu)[9]。
分析發(fā)現(xiàn)者位置移動(dòng)方式可以得出:發(fā)現(xiàn)者在尋找最佳覓食位置的過(guò)程中,移動(dòng)的步長(zhǎng)容易過(guò)大。這種“大步”的移動(dòng)雖然能夠在一定程度上縮短尋找最優(yōu)解的時(shí)間,但這種方式容易錯(cuò)過(guò)全局最優(yōu)解。大量的智能優(yōu)化算法的研究表明,慣性權(quán)重參數(shù)對(duì)于增強(qiáng)全局搜索能力以及跳出局部最優(yōu)解的能力起著較為積極的作用。因此,為了解決上述問(wèn)題,受粒子群算法的啟發(fā),提出了一種自適應(yīng)非線性慣性遞減權(quán)重的策略,并將該策略引入發(fā)現(xiàn)者位置更新公式中。自適應(yīng)非線性慣性遞減權(quán)重ωm的計(jì)算公式為
(11)
式(11)中:ω1和ω2為慣性調(diào)整參數(shù);取ω1=0.9,ω2=0.4。
引入慣性權(quán)重ωm后,發(fā)現(xiàn)者按照式(12)進(jìn)行位置更新。
(12)
式(12)中:tmax為最大迭代次數(shù)。
根據(jù)式(11)可以看出,該自適應(yīng)非線性慣性遞減權(quán)重在迭代初期衰減緩慢,更加有利于進(jìn)行全局搜索,確定最優(yōu)解的位置,而在迭代的后期,衰減較為迅速,這有利于局部搜索并縮短找到最優(yōu)解的時(shí)間。
萊維飛行(Levy)通常以短距離和隨機(jī)較長(zhǎng)距離進(jìn)行隨機(jī)搜索。大量研究表明,自然界中很多動(dòng)物的運(yùn)動(dòng)軌跡都符合萊維分布[10]。正是由于萊維飛行這種隨機(jī)搜索的方式,使得其在智能優(yōu)化算法尋找最優(yōu)解的過(guò)程中,更加充分地進(jìn)行全局搜索和局部搜索,同時(shí)更加容易跳出局部最優(yōu)。
Levy的計(jì)算公式為
L=0.01s
(13)
式(13)中:s為L(zhǎng)evy飛行步長(zhǎng)。
(14)
式(14)中:
且
(15)
σv=1
(16)
引入Levy飛行策略的警戒者按照式(17)進(jìn)行位置更新[11]。
(17)
為驗(yàn)證ISSA算法在求解目標(biāo)函數(shù)的極值問(wèn)題中的可行性及優(yōu)越性,將ISSA與SSA、GWO、GA算法在8個(gè)基準(zhǔn)測(cè)試函數(shù)上進(jìn)行對(duì)比測(cè)試。
測(cè)試函數(shù)表達(dá)式如表1所示。其中f1~f3為高維單峰函數(shù),f4~f6為高維多峰函數(shù),f7~f8為低維多峰函數(shù)。高維單峰函數(shù)只有一個(gè)最優(yōu)解,用于測(cè)試算法的收斂速度。多峰函數(shù)存在多個(gè)局部最優(yōu)解,這種特性容易使算法陷入局部最優(yōu)。因此,從高維和低維不同角度對(duì)算法跳出局部最優(yōu)的性能進(jìn)行測(cè)試。
使用MATLAB R2019a對(duì)4種不同的算法進(jìn)行對(duì)比實(shí)驗(yàn)。為避免單次實(shí)驗(yàn)出現(xiàn)偶然誤差,進(jìn)一步增強(qiáng)實(shí)驗(yàn)結(jié)果的可信度,實(shí)驗(yàn)中對(duì)8種基準(zhǔn)測(cè)試函數(shù)分別獨(dú)立運(yùn)行30次,取平均值和標(biāo)準(zhǔn)差作為評(píng)價(jià)指標(biāo)。本文研究中,統(tǒng)一設(shè)置種群維度為30,最大迭代次數(shù)為1 000。實(shí)驗(yàn)結(jié)果如表2所示。
分析表2的實(shí)驗(yàn)結(jié)果,可以得到:在3個(gè)高峰測(cè)試函數(shù)f1~f3中,ISSA算法的尋優(yōu)精度以及穩(wěn)定性均比其他算法有顯著的提升,并且平均值和標(biāo)準(zhǔn)差相對(duì)于其他算法至少提升了2個(gè)數(shù)量級(jí)。在3個(gè)高維多峰函數(shù)f4~f6中,在求解f5和f6時(shí),ISSA和SSA算法的平均值和標(biāo)準(zhǔn)差均為0,兩種算法的尋優(yōu)能力相同,ISSA相對(duì)于其他2種算法,尋優(yōu)能力還是有顯著提升。對(duì)于f4函數(shù),ISSA算法的平均值最接近函數(shù)的最優(yōu)值,并且標(biāo)準(zhǔn)差也是最小的,算法魯棒性高。在2個(gè)低維多峰測(cè)試函數(shù)f7~f8中,對(duì)于f7的求解,ISSA在尋優(yōu)精度以及穩(wěn)定性方面比其他算法表現(xiàn)優(yōu)異;在f7函數(shù)中,SSA算法在平均值和標(biāo)準(zhǔn)差方面均比ISSA算法表現(xiàn)良好,ISSA算法的優(yōu)越性沒(méi)有體現(xiàn)出來(lái)。但相較于其他算法有著顯著提升。
表1 基準(zhǔn)測(cè)試函數(shù)Table 1 Benchmark functions
表2 基準(zhǔn)函數(shù)優(yōu)化結(jié)果比較Table 2 Comparison of the results of benchmark function optimization
綜上,ISSA算法雖然在某些情況下并不優(yōu)異,但總體來(lái)看,ISSA算法在單峰和多峰、高維和低維函數(shù)上,相對(duì)于其他算法在求解精度上有一定提升,算法穩(wěn)定性也更優(yōu)。
將ISSA算法用于優(yōu)化SVM的懲罰因子C和核參數(shù)g,對(duì)井漏事故進(jìn)行預(yù)測(cè)。其優(yōu)化流程圖如圖1所示。具體優(yōu)化步驟如下。
(1)初始化種群,設(shè)置最大迭代次數(shù)tmax、種群規(guī)模D、發(fā)現(xiàn)者數(shù)量PD、警戒者數(shù)量SD、預(yù)警值R2、安全值ST等初始化參數(shù)。
(2)計(jì)算當(dāng)前每只麻雀的適應(yīng)度數(shù)值并對(duì)其進(jìn)行排序,取適應(yīng)度較好前PD只麻雀作為發(fā)現(xiàn)者。其余作為追隨者。按照SD數(shù)值,在種群中隨機(jī)選擇一些麻雀作為警戒者。同時(shí),記錄每只麻雀的位置。
圖1 ISSA優(yōu)化SVM流程圖Fig.1 ISSA optimized SVM flow chart
(3)根據(jù)式(12)更新發(fā)現(xiàn)者位置。
(4)根據(jù)式(2)更新追隨者位置。
(5)根據(jù)式(17)更新警戒者位置。
(6)更新最佳適應(yīng)度數(shù)值和最優(yōu)位置。
(7)判斷迭代是否完成,若沒(méi)有完成,則重復(fù)步驟(2)。否則,輸出最優(yōu)參數(shù)。按照最優(yōu)參數(shù)C和g構(gòu)建SVM分類預(yù)測(cè)模型,輸出預(yù)測(cè)結(jié)果。
實(shí)驗(yàn)所用的井漏數(shù)據(jù)來(lái)自國(guó)外某大型油田,從每日鉆井報(bào)告(DDR)、每日泥漿報(bào)告(DMRs)和完井報(bào)告(FWRs)中收集了600組數(shù)據(jù)記錄。其中,300組為正常情況的鉆井?dāng)?shù)據(jù),300組為發(fā)生井漏時(shí)的鉆井?dāng)?shù)據(jù)。
這600組數(shù)據(jù)共有10個(gè)特征,它們分別是北向、東向、巖性、孔徑、孔隙壓力、破裂壓力、剪切應(yīng)力、凝膠強(qiáng)度、泵壓和鉆頭轉(zhuǎn)速。部分樣本數(shù)據(jù)如表3所示。其中,巖性(地層類型)1、2、3分別代表Aghajery類型、Mishan類型以及Gachsaran 7類型。需要說(shuō)明的是,這里的地層類型命名均是根據(jù)當(dāng)?shù)氐牡刭|(zhì)構(gòu)造決定的,因此本文不做解釋。
將300組為正常情況的鉆井?dāng)?shù)據(jù),300組為發(fā)生井漏時(shí)的鉆井?dāng)?shù)據(jù),按照7∶3的比例分為訓(xùn)練集和測(cè)試集,進(jìn)行井漏事故的分類預(yù)測(cè)。分別建立ISSA、SSA、GWO和GA算法優(yōu)化SVM的分類預(yù)測(cè)模型。統(tǒng)一設(shè)置最大迭代次數(shù)為100次,種群數(shù)量為20。4種算法優(yōu)化SVM的井漏分類預(yù)測(cè)的適應(yīng)度曲線以及分類準(zhǔn)確率結(jié)果分別如圖2和圖3所示。
由圖2和圖3可知,使用ISSA算法僅需要迭代6次,就可以達(dá)到分類準(zhǔn)確率的最佳適應(yīng)度。而SSA、GWO和GA算法分別需要迭代12次、10次和95次才可以達(dá)到各自對(duì)應(yīng)的最佳適應(yīng)度數(shù)值,并且均沒(méi)有ISSA算法的最佳適應(yīng)度數(shù)值高。這說(shuō)明了ISSA相較于其他優(yōu)化算法更加能夠快速、準(zhǔn)確地找出SVM的懲罰參數(shù)C和核參數(shù)g。
表3 部分樣本數(shù)據(jù)Table 3 Part of the sample data
紅色實(shí)線表示每次進(jìn)化迭代過(guò)程中最佳適應(yīng)度值;藍(lán)色虛線表示每次進(jìn)化迭代過(guò)程中種群的平均適應(yīng)度值圖2 4種算法優(yōu)化SVM適應(yīng)度曲線圖Fig.2 Four algorithms to optimize SVM fitness curve
將4種算法分別用于優(yōu)化SVM的懲罰參數(shù)C和核參數(shù)g,構(gòu)建井漏分類預(yù)測(cè)模型,結(jié)果如表4所示。通過(guò)4種算法的對(duì)比分析,可以得出:ISSA-SVM的預(yù)測(cè)效果最好,預(yù)測(cè)準(zhǔn)確率(Accuracy)可達(dá)到97.765 4%,相比于SSA-SVM、GWO-SVM和GA-SVM模型的預(yù)測(cè)準(zhǔn)確率分別提高了0.558 7%、1.676%以及2.234 7%。結(jié)果表明,ISSA算法不僅在尋找最優(yōu)參數(shù)方面速度快,結(jié)合SVM之后,它的分類預(yù)測(cè)準(zhǔn)確率也比其他智能優(yōu)化算法更高,ISSA算法效果顯著。
圖3 4種算法優(yōu)化SVM分類結(jié)果圖Fig.3 Four algorithms to optimize the SVM classification result graph
表4 4種算法對(duì)比Table 4 Comparison of four algorithms
提出了一種ISSA算法并將其和SVM結(jié)合起來(lái),建立了井漏事故的預(yù)測(cè)模型,得到以下結(jié)論。
(1)將ISSA算法與其他智能優(yōu)化算法使用基準(zhǔn)測(cè)試函數(shù)進(jìn)行尋優(yōu)性能分析,結(jié)果表明ISSA算法在收斂速度、尋優(yōu)精度方面效果顯著。
(2)提出的ISSA-SVM井漏預(yù)測(cè)模型,對(duì)于井漏的預(yù)測(cè)準(zhǔn)確率可達(dá)到97.765 4%,相對(duì)于SSA-SVM、GWO-SVM以及GA-SVM井漏預(yù)測(cè)模型,在預(yù)測(cè)準(zhǔn)確率和運(yùn)算時(shí)間方面有較大的提升,魯棒性更好。同時(shí),為鉆井過(guò)程中及時(shí)、準(zhǔn)確的發(fā)現(xiàn)井漏事故,減少不必要的損失,提出了一種可行的方案,具有一定意義的參考價(jià)值。