,,
(1.長江大學(xué) 石油工程學(xué)院,武漢 430100;2.湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,武漢 430068)
為了提高油田開發(fā)效果以及采收率,許多技術(shù),如注水驅(qū)油、二氧化碳驅(qū)油以及化學(xué)驅(qū)油等被陸續(xù)開發(fā)出來,這些技術(shù)都有利于于從油田儲層中提取更多的石油,在開采技術(shù)的提高創(chuàng)新之外,適當(dāng)?shù)木慌c合理的井?dāng)?shù)也是盡可能地提取石油并提高采收率的重要途徑,因此,為了應(yīng)對不斷增長的世界能源需求,布井優(yōu)化一直是行業(yè)內(nèi)眾多研究的焦點(diǎn)。
井位的優(yōu)劣受油藏地質(zhì)條件、流體特性以及開發(fā)時機(jī)等一系列復(fù)雜因素的影響,傳統(tǒng)的井位選擇方式是由人為制定若干并網(wǎng)方案,再采用數(shù)值模擬的方法選出一個較優(yōu)的方案,該方案在理論上十分簡便,但十分依賴方案制定者的經(jīng)驗(yàn),且從方案的制定到評價(jià)過程都十分耗時。布井的另一個問題是確定合理的井?dāng)?shù),作為產(chǎn)油的直接渠道,油井的多少直接決定了油田的經(jīng)濟(jì)效益,油井太少,會使油田開發(fā)速度低下,無法滿足生產(chǎn)任務(wù);井?dāng)?shù)太多,油田的建設(shè)與維護(hù)成本也隨之增加,且大密度的布井會造成油井間的相互干擾,降低油田經(jīng)濟(jì)效益。所以布井的優(yōu)化問題往往是非線性且多模態(tài)的[1]。針對這種復(fù)雜的優(yōu)化問題,建立合適的數(shù)學(xué)模型通過智能優(yōu)化算法來進(jìn)行求解是一種主流的處理方法。
目前,研究者們采用了許多各具特色的優(yōu)化算法來解決布井優(yōu)化問題。2010年,Bukhamsin[2]等,提出了一種多段井井位的優(yōu)化方法,并采用了連續(xù)遺傳算法(CGA);2011年,Morales[3]等在利用遺傳算法對井網(wǎng)優(yōu)化的同時,引入了風(fēng)險(xiǎn)約束,使井位的分布更加合理;2013年,安瑤[6]等人運(yùn)用了一種改進(jìn)的粒子群算法對井位進(jìn)行優(yōu)化,并與遺傳算法做了比較,證明了在速度方面PSO優(yōu)于GA;同年,Lyons[4]等,將卡爾曼濾波與遺傳算法相結(jié)合,在考慮了時間不確定性的情況下對井位進(jìn)行了優(yōu)化2015年,為了進(jìn)一步提高優(yōu)化效率,Sampaio[5]等提出一種混合算法,該算法將GA與共軛梯度算法(CC)相結(jié)合,算法參數(shù)設(shè)計(jì)合適的條件下,該算法具有良好的全局與局部最優(yōu)的性能。從上述研究進(jìn)程可以看出,在加速井位優(yōu)化進(jìn)程方面,結(jié)合多種機(jī)制的混合算法極具競爭力。
量子遺傳算法(QGA)作為量子計(jì)算與進(jìn)化算法結(jié)合的產(chǎn)物,量子理論中量子態(tài)相干、疊加與糾纏等特性大大 了傳統(tǒng)算法中欠缺的并行計(jì)算能力,其計(jì)算速度與收斂效果均優(yōu)于傳統(tǒng)遺傳算法,目前已逐步替代傳統(tǒng)遺傳算法應(yīng)用于許多工程領(lǐng)域。因此本文在利用Matlab建立油藏?cái)?shù)值模擬軟件建立模型,將井?dāng)?shù)和井位作為變量,以油田凈現(xiàn)值為目標(biāo)函數(shù)結(jié)合QGA對井位進(jìn)行優(yōu)化研究。
為了精細(xì)描述油藏資源,本文利用Matlab軟件在20×20網(wǎng)格上建立了一個非均質(zhì)油藏模擬模型,該模型為一層,且厚度為50 m,X,Y方向上的網(wǎng)絡(luò)步長為100 m。該油藏在開采時主要依靠其中所儲存的油、水的彈性驅(qū)動,在沒有外界能量供給的條件下將原油從地層驅(qū)至井底。本文在該模型的基礎(chǔ)上以油田累計(jì)凈現(xiàn)值最大化為目標(biāo),通過算法運(yùn)算選取合適的布井位置及數(shù)量。油藏模擬模型如圖1所示。
圖1中油藏滲透率的變化范圍為100~400 md,其分布場中各節(jié)點(diǎn)的滲透率值由Kriging(克里金)插值法生成。
圖1 油藏地址模型
在地質(zhì)模型的基礎(chǔ)上,布井優(yōu)化的數(shù)學(xué)模型將以井位及井?dāng)?shù)為變量并結(jié)合合理的目標(biāo)函數(shù)共同構(gòu)成。
本文的目標(biāo)函數(shù)模型根據(jù)油田累計(jì)凈現(xiàn)值建立。凈現(xiàn)值(NPV)指在項(xiàng)目建設(shè)以及一定的生成年限內(nèi)的現(xiàn)金流量根據(jù)折現(xiàn)率、通貨膨脹率折算后得到的具體數(shù)值。本文中建立的NPV表達(dá)式為:
(1)
式(1)中,T為生產(chǎn)年限;δ為通貨膨脹率;η為基準(zhǔn)折現(xiàn)率;Cin(t)、Cout(t)為第t年的總收入及支出(元),二者相減則為油田在第t年的凈現(xiàn)金流量。其中:
Cin=PoQ(φ,k,x,y,n)
(2)
式(2)中,Po為原油價(jià)格;Q原油產(chǎn)量,根據(jù)油田實(shí)際開發(fā)過程中的影響因素,原油產(chǎn)量的決策變量主要由孔隙度φ、滲透率k、井位坐標(biāo)x,y以及井?dāng)?shù)n構(gòu)成。
Cout=nPm(Pinit,Pop,Pre)
(3)
式(3)中,Pm為總成本,其中包括建設(shè)成本Pinit、操作成本Pop以及維護(hù)成本Pre,為簡化問題的數(shù)學(xué)描述,本文以單個井為單位計(jì)算各類成本。
通過上述分析,本文設(shè)立的目標(biāo)函數(shù)最終形式為:
(4)
同時為了提高油田的安全性,消除油田生產(chǎn)工作時井間的相互影響,在布井時應(yīng)當(dāng)保持一定的安全距離。故本文將井距限制作為井位優(yōu)化的約束條件,以井泄油半徑作為井距限制,則有:
(5)
其中:dij為任意兩井i、j之間的距離,Rj、Ri分別為井i、j的泄油半徑。
QGA作為量子計(jì)算與遺傳算法相融合的產(chǎn)物,是一種結(jié)合了量子進(jìn)化算法的多樣性和遺傳算法的全局尋優(yōu)能力的混合啟發(fā)式算法。
在QGA中,染色體不再由傳統(tǒng)的二進(jìn)制數(shù)或浮點(diǎn)數(shù)來表示,而是采用了量子比特的方式來表示,其特點(diǎn)在于該方法能同時表達(dá)任意疊加態(tài),即單個量子位并不表示一個確定的數(shù)值,而是可以同時表示0和1以及他們之間任意的疊加狀態(tài)。量子比特的染色體結(jié)構(gòu)可以表示為:
(6)
量子旋轉(zhuǎn)門作為QGA中的個體進(jìn)化策略,可根據(jù)具體問題進(jìn)行選擇,目前學(xué)者們針對不同的問題設(shè)計(jì)了許多量子選擇門,其基本工作原理如下:
(7)
式中,αi和βi表示第t代染色體上第i量子比特通過旋轉(zhuǎn)門更新前后的概率幅;θi為旋轉(zhuǎn)角,其值根據(jù)算法策略事先設(shè)定,在算法進(jìn)行時,將根據(jù)當(dāng)前解與當(dāng)前最優(yōu)解之間相對應(yīng)的部分基因的關(guān)系以查表的形式來選擇合適的值替換。
與傳統(tǒng)GA相比,量子比特的概率幅表示使得QGA更具并行性,在增加種群多樣性的同時加快了算法的求解速度;量子門的種群更新方式也能在保持種群多樣性的同時避免選擇壓力問題,提高了算法的搜索效率,使算法擁有更好的收斂特性。
為了使量子遺傳算法更好地解決所研究的問題,本文在標(biāo)準(zhǔn)量子遺傳算法的基礎(chǔ)上做出了改進(jìn)。
量子遺傳算法是進(jìn)化算法與量子計(jì)算的結(jié)合,它對于初始數(shù)據(jù)的生成、數(shù)據(jù)的處理等方面偏向于進(jìn)化算法的處理方式,而進(jìn)化算法對于數(shù)據(jù)的處理方面具有一定的隨機(jī)性,就本文數(shù)學(xué)模型的約束條件而言,對于隨機(jī)生成的多個坐標(biāo),很難制定一條簡便規(guī)則來保持它們兩兩之間的距離在一個定值之外。所以,為了簡化算法,加快算法的計(jì)算速度,本文采取的改進(jìn)方案受到蟻群算法的啟發(fā),將禁忌表策略與量子遺傳算法相結(jié)合,使算法更好的處理井位的優(yōu)化問題。
禁忌表是禁忌搜索的一個重要應(yīng)用領(lǐng)域,其主要思想是在算法進(jìn)程中,標(biāo)記已搜索的局部里被約束條件所限制的對象,并在進(jìn)一步的迭代搜索中避開這些對象。這種策略在本文中將嵌入到井位優(yōu)化算法的初始種群生成以及種群進(jìn)化的過程里,其方法如下步驟如下:
1)算法根據(jù)預(yù)設(shè)井?dāng)?shù)n,依次隨機(jī)生成n個井位坐標(biāo)。當(dāng)?shù)谝粋€井位坐標(biāo)生成時,將位于該坐標(biāo)井距限制內(nèi)的其余坐標(biāo)全部納入禁忌表Tabu;
2)當(dāng)生成下一個井位坐標(biāo)時,算法將自動排除掉禁忌表Tabu中的點(diǎn),在剩余坐標(biāo)點(diǎn)中繼續(xù)隨機(jī)生成。當(dāng)?shù)诙€井位坐標(biāo)產(chǎn)生后,根據(jù)步驟1)的方法,繼續(xù)擴(kuò)充禁忌表Tabu;
3)重復(fù)步驟2)直到井位數(shù)為n。
以上步驟是禁忌表策略在初始種群生成時的應(yīng)用,在種群進(jìn)化時,該步驟同樣適用,只不過由于算法需要根據(jù)適應(yīng)度函數(shù)(目標(biāo)函數(shù))朝著求解的最優(yōu)的方向進(jìn)行,故步驟2)中的坐標(biāo)點(diǎn)不再是隨機(jī)生成,而是改為在進(jìn)化更新后的坐標(biāo)向量中,以第一坐標(biāo)點(diǎn)為基準(zhǔn)建立禁忌表,其余不符合約束條件的坐標(biāo)在禁忌表以外的坐標(biāo)點(diǎn)中選取最近的坐標(biāo)進(jìn)行替換。
本文利用改進(jìn)后的量子遺傳算法優(yōu)化井位及數(shù)量的流程如圖2所示。
圖2 改進(jìn)后算法流程圖
1)算法中的參數(shù)設(shè)置包括油藏參數(shù)、算法參數(shù)設(shè)置。油藏參數(shù)主要包括油藏?cái)?shù)據(jù)以及預(yù)設(shè)油井個數(shù),油藏?cái)?shù)據(jù)主要在目標(biāo)函數(shù)的計(jì)算中使用,通過計(jì)算得數(shù)來判斷井位坐標(biāo)的優(yōu)劣,預(yù)設(shè)油井個數(shù)則決定了算法生成初始坐標(biāo)的個數(shù);算法參數(shù)則主要決定了算法迭代次數(shù)與運(yùn)算速度。
2)針對本問題是以NPV最大為目的進(jìn)行優(yōu)化,故算法中的全局最優(yōu)解即為特定井?dāng)?shù)下一組NPV最大的井位坐標(biāo),算法每經(jīng)過一次迭代都會通過NPV對當(dāng)代種群進(jìn)行評價(jià),并選取其中NPV最大的解與歷史全局最優(yōu)解進(jìn)行比較,選擇其中較大的值作為當(dāng)前全局最優(yōu)解,不斷循環(huán),直到算法停止迭代時輸出該解。
本文在算法運(yùn)行時涉及到的計(jì)算參數(shù)有以下幾種:
生產(chǎn)年限T:T= 5 (年);
孔隙度φ:φ=[12.0156+2.2613logk(x,y)]/100
壓縮系數(shù)Cp:Cp=φ×10-3+10-6(MPa-1);
油層厚度h:h= 50(米);
油層粘度μ:μ= 5.0(mPa·s);
生產(chǎn)壓差ΔP:ΔP=10(MPa);
泄油半徑R:R=100(m)
主要經(jīng)濟(jì)參數(shù)有:建設(shè)成本Pinit100萬元;操作成本Pop200萬元;維護(hù)成本Pre50萬元;原油價(jià)格Po500元/m3;折現(xiàn)率η=0.1;通貨膨脹率δ=0.04。
主要算法參數(shù)有:種群大小100;進(jìn)化代數(shù)100。
本文在分別在擬定的生產(chǎn)井?dāng)?shù)n={1 2 3…10}的條件下,對模型進(jìn)行了多次運(yùn)算,分別計(jì)算出了不同的擬定井?dāng)?shù)下,5年時間后的NPV值以及最佳井位坐標(biāo)。其中不同井?dāng)?shù)與其對應(yīng)的最優(yōu)NPV值如圖2所示。根據(jù)圖2曲線可以看出,針對該油藏模型通過算法優(yōu)化后的合理井?dāng)?shù)為5口。當(dāng)井?dāng)?shù)小于5時,NPV隨著井?dāng)?shù)的增加而增加;當(dāng)井?dāng)?shù)超過5口時,NPV隨著井?dāng)?shù)的增加而減小,這是因?yàn)殡S著井?dāng)?shù)的增加,雖然油田的累積產(chǎn)量會增加但其增長幅度小于成本的增長幅度,因此會導(dǎo)致NPV的減小。
部分井?dāng)?shù)最優(yōu)坐標(biāo)如圖3所示。可以看出最優(yōu)的布井位置與油田滲透率的分布有密切聯(lián)系,滲透率大的坐標(biāo)區(qū)域內(nèi)井?dāng)?shù)較多,而滲透率小的坐標(biāo)區(qū)域內(nèi)井?dāng)?shù)很少。通過圖4(a)、(b)、(c)、(d)的對比可以發(fā)現(xiàn),在優(yōu)化布井時滲透率高的坐標(biāo)點(diǎn)總是被優(yōu)先考慮,例如,在坐標(biāo)(11,16)附近的區(qū)域內(nèi)點(diǎn),無論總井?dāng)?shù)多少均會被選中。同時也可以發(fā)現(xiàn),當(dāng)井?dāng)?shù)較多時優(yōu)化后的井位較為分散,這是由于本文所研究的油藏模型的非均質(zhì)程度較大,滲透率分布不均勻。對于該種地質(zhì)區(qū)塊,算法優(yōu)化布井比常規(guī)布井更具優(yōu)勢,下面將具體說明。
圖3 井?dāng)?shù)-NPV關(guān)系曲線
圖4 部分井?dāng)?shù)對應(yīng)的最優(yōu)井位
為了進(jìn)一步說明算法優(yōu)化布井的優(yōu)勢,本文將傳統(tǒng)布井方式與優(yōu)化后的布井方式進(jìn)行了對比,以井?dāng)?shù)為5、6為例,傳統(tǒng)布井方式如圖4所示。
圖5 傳統(tǒng)布井方法
通過優(yōu)化前后的NPV來說明優(yōu)化效果,NVP的計(jì)算年限同樣為5年,在不同預(yù)設(shè)井?dāng)?shù)下,傳統(tǒng)布井方式的NPV與優(yōu)化后的NPV如表1所示。
由表1可以看出,使用優(yōu)化布井在五年內(nèi)所獲得的收益在任何井?dāng)?shù)上均優(yōu)于常規(guī)布井,尤其在最佳布井?dāng)?shù)(井?dāng)?shù)為5)時,增幅達(dá)到最大。同時,從常規(guī)布井的NPV值隨井?dāng)?shù)變化可以看出,當(dāng)井?dāng)?shù)達(dá)到6口時,繼續(xù)開井反而會使NPV值降低,這從說明了另一方面說明了無論采取任何布井方式,合理規(guī)劃井?dāng)?shù)都是一定年限內(nèi)取得最佳收益的重要途徑。
表1 常規(guī)布井與優(yōu)化布井NPV比較
本文研究將改進(jìn)量子遺傳算法應(yīng)用到油田井位數(shù)量及位置優(yōu)化中,其中目標(biāo)函數(shù)為凈現(xiàn)值。并通過數(shù)值模擬的方法在Matlab上建立仿真模型進(jìn)行實(shí)驗(yàn),通過優(yōu)化實(shí)驗(yàn)可知,基于量子遺傳算法的井位及數(shù)量優(yōu)化能在知曉油藏模型的前提下確定油田最優(yōu)井位及數(shù)量,不僅克服了常規(guī)布井對經(jīng)驗(yàn)的依賴性,還通過優(yōu)化NPV前后的NPV值體現(xiàn)了優(yōu)化方案良好的經(jīng)濟(jì)性。
由于本次研究是通過模擬油藏模型來驗(yàn)證優(yōu)化方案的可行性,為了簡化問題的數(shù)學(xué)描述,本次研究的約束條件僅為井間距離,但在實(shí)際應(yīng)用中,許多因素例如:地質(zhì)條件、驅(qū)動方式、流體特殊特性等等都會對油田的NPV值造成影響。因此進(jìn)一步結(jié)合實(shí)際情況,提升優(yōu)化方案的泛化性是本次研究的主要后繼工作,需要繼續(xù)深入研究。