周子琪, 查文舒, 李道倫, 劉旭亮
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230601)
油藏反演,即油藏歷史擬合[1-3],是油藏工作人員和地質(zhì)工程師進一步了解油藏地下流體特征、預(yù)測油田生產(chǎn)動態(tài)、制定油田開發(fā)方案的重要手段之一[4-6]。為了使預(yù)測結(jié)果盡可能接近油藏的實際情況,需要進行油藏歷史擬合,即根據(jù)現(xiàn)場實測的實際生產(chǎn)數(shù)據(jù)對油藏參數(shù)進行反演和修改。油藏歷史擬合是獲得多種可靠的油藏模型并進行預(yù)測的有效途徑。油藏反演是指獲得一組油藏參數(shù),如孔隙度、滲透率等,使模擬油藏模型計算的數(shù)據(jù)與實際數(shù)據(jù)相符。油藏歷史擬合有助于發(fā)現(xiàn)和修正油藏描述數(shù)據(jù)中的誤差,改進模型以及驗證油藏描述的可靠性。因此,需要花費時間和精力評估擬合結(jié)果,確定其是否符合預(yù)期。
根據(jù)開發(fā)過程和實現(xiàn)方法,油藏歷史擬合可被分為人工歷史擬合和自動歷史擬合2類。人工歷史擬合采用“試錯法”,即油藏工程師根據(jù)數(shù)值模擬計算值與油藏實際觀測值之間的偏差,對1個或多個油藏參數(shù)進行人工分析和修改,以減少歷史擬合誤差[7-8]。實際油藏一般有很多參數(shù),而高精度油藏模型有大量網(wǎng)格。人工歷史擬合法主觀性強,耗時長,效率低。因此,計算機和優(yōu)化算法被引入到油藏歷史擬合中,完成自動調(diào)整油藏參數(shù)的工作,形成了自動歷史擬合技術(shù)[9-10]。
油藏自動歷史擬合始于20世紀(jì)60年代。文獻[11]首次使用回歸分析代替“試錯法”,由此開創(chuàng)了自動歷史擬合的研究。1973—1992年是自動歷史擬合研究的形成階段,該階段引入了非線性回歸方法、梯度算法和最優(yōu)控制理論[12-13]。1993—2002年是自動歷史擬合研究的發(fā)展階段。自動歷史擬合的基本方法已經(jīng)從直接法、梯度法發(fā)展到隨機法、智能算法,逐步形成了一系列啟發(fā)式的自動歷史擬合方法[14-16]。近年來,集合卡爾曼濾波被用于油藏歷史擬合[17-19]。集合卡爾曼濾波是一種遞歸過濾器,適用于有大量參數(shù)的問題。
自動歷史擬合方法主要包括目標(biāo)函數(shù)[20]和優(yōu)化算法2個部分。目標(biāo)函數(shù)定義為模型的計算值與觀測值之間的偏差,可以通過響應(yīng)面模型、樣條法、克里金法或基于克里金法的多項式加擾動的組合得到[21-22]。響應(yīng)面法[23]出現(xiàn)于20世紀(jì)90年代初。它的基本思想是通過構(gòu)造一個具有明確表達式的多項式來近似真實的函數(shù)關(guān)系,通過對多項式的分析,尋求最優(yōu)工藝參數(shù),解決多變量問題。20世紀(jì)90年代,響應(yīng)面法被引入油藏工程[24]。在響應(yīng)面問題中,通常采用多項式函數(shù)進行逼近。由于響應(yīng)變量與解釋變量之間是非線性關(guān)系,用高階多項式模型近似可能會出現(xiàn)龍格現(xiàn)象,并且隨著變量數(shù)量的增加,計算成本也會以幾何級數(shù)增長。
徑向基函數(shù)(radial basis function,RBF)以空間距離為自變量。由于它的簡單性和各向同性,近年來得到了迅速的發(fā)展,并在分散數(shù)據(jù)處理、微分方程求解等領(lǐng)域得到了廣泛的應(yīng)用。對于多元問題甚至高維問題,它比其他類型的基函數(shù)具有明顯的優(yōu)勢。RBF神經(jīng)網(wǎng)絡(luò)最初是由Moody和Darken在1989年提出的[25]。它屬于前向神經(jīng)網(wǎng)絡(luò)類型,能夠以任意精度逼近任意連續(xù)函數(shù),處理系統(tǒng)中難以處理的分析規(guī)律。此外,該方法具有較好的泛化能力,學(xué)習(xí)收斂速度較快。RBF神經(jīng)網(wǎng)絡(luò)已成功應(yīng)用于非線性函數(shù)的逼近等問題。雖然有一些類似于RBF神經(jīng)網(wǎng)絡(luò)技術(shù)的方法,如支持向量回歸[26],但這些方法復(fù)雜、計算成本高。
優(yōu)化算法主要分為2大類:基于梯度的優(yōu)化算法和進化類算法。梯度算法通過對目標(biāo)函數(shù)中的未知參數(shù)進行微分來尋找最優(yōu)值[27-30]。進化算法是一種基于種群的優(yōu)化算法,如模擬退火算法[31]、神經(jīng)網(wǎng)絡(luò)算法[32]、粒子群(particle swarm optimization,PSO)算法[33]和遺傳算法[34]。相對于基于梯度的算法容易陷入局部極小值,進化算法是一種更穩(wěn)定、適用性更廣的全局優(yōu)化算法。
本文提出一種基于RBF神經(jīng)網(wǎng)絡(luò)和PSO算法的油藏反演方法。首先比較多項式擬合方法和RBF神經(jīng)網(wǎng)絡(luò)方法在相同試算次數(shù)下的擬合結(jié)果;然后減少試算次數(shù)再次比較;最后通過實例驗證了RBF神經(jīng)網(wǎng)絡(luò)方法的有效性。
多項式擬合的原理是找到近似的多項式曲線y=φ(x),使其與y=f(x)的偏差最小,其中f(x)經(jīng)過給定數(shù)據(jù)點pi(xi,yi),i=1,2,…,m。近似曲線在點pi處的偏差為δi=φ(xi)-yi,i=1,2,…,m。最小二乘法是最常用的方法,是根據(jù)偏差的最小二乘原則選擇擬合曲線,即
(1)
多項式擬合通常用二次多項式擬合。給定數(shù)據(jù)點(xi,yi),i=1,2,…,m,用二次多項式φ(x)=a0+a1x+a2x2作為近似曲線,均方誤差為:
(2)
通過求極值得到擬合曲線的正規(guī)矩陣方程:
(3)
RBF的基本思想是將低維線性不可分?jǐn)?shù)據(jù)映射到高維空間,使其在高維空間中線性可分。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法不同的是,RBF神經(jīng)網(wǎng)絡(luò)不需要訓(xùn)練全局連接權(quán)值,只調(diào)整影響輸出值的一些重要權(quán)值,提高了訓(xùn)練速度。
RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是一種3層前饋網(wǎng)絡(luò)。第1層為輸入層,包括信號源節(jié)點;第2層為隱含層,隱含層單元的轉(zhuǎn)換函數(shù)為RBF,是對中心點徑向?qū)ΨQ、衰減的非負(fù)非線性函數(shù);第3層為輸出層,是對輸入模式做出的響應(yīng)。輸入層空間到隱含層空間的變換是非線性的,而隱含層空間到輸出層的空間變換是線性的。
在大多數(shù)情況下,高斯函數(shù)被設(shè)為RBF,具體表達式為:
G(x)=exp(-d2/2σ2)
(4)
其中:d為矢量到各隱含層中心的距離,距離節(jié)點越近,對節(jié)點輸出的影響越大;σ為控制高斯函數(shù)平滑度的平滑因子。
網(wǎng)絡(luò)的輸出層對RBF作用的結(jié)果采用線性加權(quán)和的形式。最后高斯RBF神經(jīng)網(wǎng)絡(luò)的輸出為:
(5)
RBF神經(jīng)網(wǎng)絡(luò)的總體結(jié)構(gòu)如圖1所示。
圖1 典型的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)訓(xùn)練包括2個階段:無監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)。利用無監(jiān)督學(xué)習(xí)方法得到高斯RBF的中心和方差,利用監(jiān)督學(xué)習(xí)方法(即最小均方誤差)得到隱含層對輸出層的權(quán)值。具體內(nèi)容如下。
(1) 選取訓(xùn)練樣本集中的m個樣本作為m個RBF的中心。
(2) 求解方差,公式如下:
(6)
其中:dmax為所選中心之間的最大距離;m為隱含層節(jié)點數(shù)。
(3) 用最小均方誤差計算隱含層與輸出層之間神經(jīng)元的連接權(quán)值。計算公式如下:
W=Φ+d
(7)
Φ+=(ΦTΦ)-1ΦT
(8)
其中,d為期望的輸出值。
在油藏反演中,地層和井筒參數(shù)未知,而壓力已知。油藏反演的目標(biāo)是找到一組地層和井筒參數(shù),使在這組合適的地層和井筒參數(shù)下,模擬的壓力數(shù)據(jù)等于或接近實測的壓力數(shù)據(jù)。因此定義1個目標(biāo)函數(shù)反映模擬值和實際測量值之間的誤差。
目標(biāo)函數(shù)通常以加權(quán)平方和的形式表示,具體表達式為:
(9)
因為油藏反演問題最初被考慮為最優(yōu)控制問題[27],所以一系列優(yōu)化算法被應(yīng)用到油藏反演中,包括基于梯度的算法、進化類算法等;不同的優(yōu)化算法適用于不同的油藏。本文將PSO算法應(yīng)用于油藏反演中。
PSO算法是一種隨機搜索方法,它來自于對鳥類狩獵行為的研究。在PSO優(yōu)化算法中,每個優(yōu)化問題的解都像搜索空間中的1只鳥,稱之為粒子。每個粒子都有1個由優(yōu)化函數(shù)決定的適應(yīng)度值,每個粒子都有1個速度,這個速度決定了它們飛行的方向和距離;然后粒子跟隨當(dāng)前的最優(yōu)粒子搜索解空間。
PSO優(yōu)化算法從一組隨機粒子(隨機解)出發(fā),通過迭代得到最優(yōu)解。在每次迭代中,粒子通過跟蹤2個“極端”來更新自身。第1個是粒子自身找到的最優(yōu)解,稱為個體極值pbest;另一個極值是目前為止所有粒子中的最優(yōu)解,這個極值是全局極值gbest。用變量pbest來記錄個體搜索的最優(yōu)解,用gbest記錄整個群體在一次迭代中搜索的最優(yōu)解。粒子速度和位置的更新公式如下:
vi+1=ωvi+c1rand()[pbest(i)-
zi+c2rand()(gbest-zi)]
(10)
zi+1=zi+vi+1
(11)
其中:vi為第i個粒子的速度;ω為慣性權(quán)重;c1和c2為學(xué)習(xí)參數(shù);rand()為0~1之間的隨機數(shù);pbest(i)為第i個粒子搜索的最優(yōu)值;gbest為搜索整個集群的最優(yōu)值;zi為第i個粒子的當(dāng)前位置。
標(biāo)準(zhǔn)PSO算法的步驟如下。
(1) 初始化PSO,包括種群大小N,每個粒子的位置xi和速度vi。
(2) 計算每個粒子的適應(yīng)度值fi。
(3) 對每個粒子的適應(yīng)度值fi與個體極值pbest(i)進行比較。若fi>pbest(i),則將pbest(i)替換為fi。
(4) 對于每個粒子,將其適應(yīng)度值fi與全局極值gbest進行比較。若fi>gbest,則將gbest替換為fi。
(5) 根據(jù)(10)式和(11)式更新粒子的速度和位置。
(6) 若滿足結(jié)束條件(誤差足夠小或達到最大循環(huán)次數(shù)),則退出算法;否則返回步驟(2)。
油藏反演方法的步驟如下。
(1) 確定油藏反演的不確定參數(shù)及其范圍。
(2) 用拉丁超立方抽樣法確定試算算例。
(3) 利用油藏數(shù)值模擬軟件計算井底壓力、壓力變化及壓力導(dǎo)數(shù)。
(4) 利用步驟(3)中的數(shù)據(jù)構(gòu)造高斯RBF神經(jīng)網(wǎng)絡(luò),并定義目標(biāo)函數(shù)。
(5) 利用PSO算法最小化目標(biāo)函數(shù),得到1組不確定參數(shù)值。
(6) 利用步驟(5)中獲得的不確定參數(shù)值,計算井底壓力、壓力變化和壓力變化導(dǎo)數(shù);然后將計算數(shù)據(jù)與實測數(shù)據(jù)進行比較。
本節(jié)對多項式擬合方法和RBF神經(jīng)網(wǎng)絡(luò)方法進行比較。
矩形油藏中心為一口直井,如圖2所示,其中存在5個不確定參數(shù):油藏滲透率K、區(qū)域滲透率K1、井筒儲量C、井表皮系數(shù)S和復(fù)合半徑R。
圖2 矩形油藏模型
首先,采用拉丁超立方抽樣法確定120組試算算例;然后,將每組試算算例帶入油藏數(shù)值模擬軟件中,計算相應(yīng)的井底壓力值;最后,根據(jù)井底壓力值可以計算壓力變化和壓力導(dǎo)數(shù)數(shù)據(jù)。
將120組試算算例的第1組算例作為實際值。分別進行多項式擬合和運用RBF神經(jīng)網(wǎng)絡(luò)方法。
多項式擬合采用最小二乘法對其余119組試算算例進行擬合,構(gòu)造多項式函數(shù);RBF神經(jīng)網(wǎng)絡(luò)方法將RBF的中心距離值d設(shè)為1,利用其余119組試算算例構(gòu)建有10個隱含層的高斯RBF神經(jīng)網(wǎng)絡(luò)。利用實際數(shù)據(jù)值和多項式函數(shù)或高斯RBF神經(jīng)網(wǎng)絡(luò)定義目標(biāo)函數(shù);在得到目標(biāo)函數(shù)后,利用PSO算法獲得不確定參數(shù)的最優(yōu)值;最后將估計的不確定參數(shù)輸入到油藏數(shù)值模擬軟件中,產(chǎn)生井底壓力、壓力變化和壓力導(dǎo)數(shù)數(shù)據(jù)。
基于多項式的擬合結(jié)果如圖3所示, 基于RBF神經(jīng)網(wǎng)絡(luò)方法的擬合結(jié)果如圖4所示。從圖3、圖4可以看出,基于多項式擬合的壓力導(dǎo)數(shù)在0.5~1.0 d之間擬合效果不佳,而基于RBF神經(jīng)網(wǎng)絡(luò)的擬合結(jié)果較好。結(jié)果表明,RBF神經(jīng)網(wǎng)絡(luò)方法優(yōu)于多項式擬合方法。
圖3 基于多項式的自動擬合結(jié)果
圖4 基于RBF神經(jīng)網(wǎng)絡(luò)的自動擬合結(jié)果
在最小二乘多項式擬合中,為了使得到的多項式具有唯一性,需要保證試算算例數(shù)大于等于多項式項數(shù);否則最小二乘多項式擬合方法將失效。然而用RBF神經(jīng)網(wǎng)絡(luò)方法可以解決多項式擬合方法的這個缺點,RBF神經(jīng)網(wǎng)絡(luò)方法只需要較少的試算算例。為了驗證這一點,逐漸減少試算算例數(shù),分別分析最小二乘多項式擬合和RBF神經(jīng)網(wǎng)絡(luò)方法的擬合結(jié)果。本文考慮2種情況:① 將試算算例數(shù)減少1/2;② 將試算算例數(shù)減少至20組。
為了將試算算例數(shù)減少1/2,采用拉丁超立方抽樣生成了60組試算算例數(shù)。同樣將第1組作為實際值,分別用最小二乘多項式擬合和RBF神經(jīng)網(wǎng)絡(luò)方法反求不確定參數(shù)。對應(yīng)的井底壓力、壓力變化及壓力導(dǎo)數(shù)擬合結(jié)果如圖5和圖6所示。
圖5 算例數(shù)為60時基于多項式的自動擬合結(jié)果
圖6 算例數(shù)為60時基于RBF神經(jīng)網(wǎng)絡(luò)的自動擬合結(jié)果
從圖5、圖6可以看出,最小二乘多項式擬合的壓力導(dǎo)數(shù)在0.1~2.0 d之間擬合得不好,而RBF神經(jīng)網(wǎng)絡(luò)方法擬合結(jié)果較好。結(jié)果表明,當(dāng)樣本數(shù)據(jù)減少1/2時,RBF神經(jīng)網(wǎng)絡(luò)方法仍然可以得到很好的結(jié)果,而最小二乘多項式擬合得到的結(jié)果不好。
當(dāng)試算算例數(shù)減少到20時,最小二乘多項式擬合失效。然而RBF神經(jīng)網(wǎng)絡(luò)方法仍然可以得到很好的結(jié)果,RBF神經(jīng)網(wǎng)絡(luò)方法的結(jié)果如圖7所示。這說明RBF神經(jīng)網(wǎng)絡(luò)方法是一種高效的油藏反演方法。
圖7 算例數(shù)為20時基于RBF神經(jīng)網(wǎng)絡(luò)的自動擬合結(jié)果
在大慶油田某區(qū)塊中選擇1組井群進行油藏反演。大慶油田是我國最大的油田,也是世界上為數(shù)不多的特大砂巖油田之一。它由52個油氣田組成,含油面積約為6 000 km2,自開發(fā)以來,取得了良好的開發(fā)效果。
該區(qū)塊從1965年開始開發(fā),成為大慶地區(qū)的主要油藏[35]。井群如圖8所示,其中共有7口井,平均厚度5.8 m。需要反求的不確定參數(shù)為:層滲透率K、紅色標(biāo)記區(qū)域的滲透率K1和水飽和度sw、生產(chǎn)井7井的井筒儲量C和井表皮系數(shù)S。它們的取值范圍分別為[500 mD,2 000 mD]、[1 000 mD,3 000 mD]、[0.5,0.8]、[0.1 m3/MPa,1.0 m3/MPa]和[0,3]。
根據(jù)1.5節(jié)中的步驟,由拉丁超立方體抽樣生產(chǎn)120組試算算例,然后反求不確定參數(shù)值,不確定參數(shù)值的反求結(jié)果被代入油藏數(shù)值模擬軟件中擬合得到壓力、壓力變化和壓力導(dǎo)數(shù),如圖9所示。
圖9 實際案例的自動擬合結(jié)果對比
由圖9可知,RBF神經(jīng)網(wǎng)絡(luò)方法在該實際案例中得到的曲線擬合結(jié)果良好,由此驗證了該方法的有效性。
本文提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)的油藏反演方法。首先確定不確定參數(shù),將拉丁超立方抽樣生成的試算算例輸入到油藏數(shù)值模擬軟件中生成井底壓力數(shù)據(jù);然后建立RBF神經(jīng)網(wǎng)絡(luò),擬合壓力變化和壓力導(dǎo)數(shù);在此基礎(chǔ)上定義了表示計算值與實際觀測值之間偏差的目標(biāo)函數(shù);最后采用PSO優(yōu)化算法對目標(biāo)函數(shù)進行優(yōu)化,得到不確定參數(shù)的最優(yōu)解。本文還對設(shè)計的油藏模型進行了模擬,比較了最小二乘多項式擬合和RBF神經(jīng)網(wǎng)絡(luò)方法,并將RBF神經(jīng)網(wǎng)絡(luò)方法應(yīng)用于油藏反演,得到了較好的擬合結(jié)果。與最小二乘多項式擬合相比,RBF神經(jīng)網(wǎng)絡(luò)方法具有更高的精度且不需要較多的試算算例數(shù)。在相同試算算例數(shù)下,RBF神經(jīng)網(wǎng)絡(luò)方法的擬合結(jié)果一般優(yōu)于最小二乘多項式擬合。當(dāng)試算算例數(shù)減少到最小二乘多項式擬合失效的數(shù)目時,RBF神經(jīng)網(wǎng)絡(luò)方法仍能得到很好的擬合結(jié)果。通過實際案例驗證了本文方法的有效性,且精度高,所需試算算例數(shù)少,具有比較廣闊的應(yīng)用前景。