趙春立 朱 頤 李禹呈 楊 志 周 倩
(1.西南石油大學, 成都 610500; 2.川慶鉆探工程有限公司川西鉆探公司, 成都 610000;3.西南油氣田分公司川中油氣礦, 四川 遂寧 402660; 4.西南油氣田分公司蜀南氣礦,四川 瀘州 642450)
壓縮機組作為氣舉采油的動力源,直接影響氣舉采油系統(tǒng)的規(guī)模。由于維護要求或故障原因,部分壓縮機通常不能正常運轉(zhuǎn),機組總供氣量降低最終影響到壓縮機出口壓力,這時一些井就需要關閉,而且需要判斷關閉哪些井對總產(chǎn)量影響最小。當注氣壓力低于一些井的最小注氣壓力時,可能造成氣舉井的間噴。間噴帶來的壓力和流速振蕩將降低系統(tǒng)總產(chǎn)量,造成設備的嚴重擾動,甚至引發(fā)系統(tǒng)停機。另外,井口壓力峰值還會造成分離器內(nèi)壓力過高、壓縮系統(tǒng)過載以及由于流體壓力振蕩所產(chǎn)生的設備疲勞問題。
為避免以上問題,必須對每口氣舉井的注氣速度進行優(yōu)化,確定每口井最佳氣舉注氣速度是一個組合優(yōu)化問題。遺傳算法作為一種啟發(fā)式搜索方法,其固有特點是優(yōu)化解不依賴初始條件且容易考慮限制條件。此算法廣泛應用于國內(nèi)外油氣田[1-6],非常適合處理帶有壓縮機停機、單井注氣壓力限制等復雜因素的注氣速度優(yōu)化問題。
Ray在2007年就對氣舉最佳注氣速度的優(yōu)化問題進行了分析[7]。但他沒有考慮壓縮機容量的限制問題,而且使用Ray的方法必須事先知道總的可注入氣舉氣量。本文在Ray的研究基礎上,把壓縮機容量限制作為一個重要前提,并對各單井注氣量進行擬合,從而預測總的氣舉可注入氣量。
近些年來,單井氣舉研究取得了長足發(fā)展[8-11]。獲取單井特征曲線的方程表達式是確定氣舉操作區(qū)間的關鍵,按照Ray的方法,單井特征曲線可由冪函數(shù)f(Qg)來計算:
Qo=f(Qg)
(1)
式中:Qg為單井注氣量,104m3d;Qo為單井產(chǎn)油量,m3d。
f(Qg)的次數(shù)由該井特征曲線的擬合情況來確定。Ray方法要求的可注入氣舉總氣量可由單井所需注氣量加和得到。這里使用氣舉軟件(如Pipsim軟件)對單井模擬模型進行敏感性分析并得到各注氣量下的產(chǎn)油量,從而繪出氣舉特性曲線,然后再用冪函數(shù)f(Qg)對氣舉特性曲線進行擬合。圖1是對海上某油氣田X-01井模擬模型進行敏感性分析后得到的氣舉特性曲線。由圖1可知,對于X-01井來說,五次方程能很好地對其氣舉特性曲線進行擬合, 故f(Qg)的次數(shù)為5。
在圖1中,氣舉操作區(qū)間由2條垂直線(L1和L2)來界定,低于區(qū)間的下界時生產(chǎn)井不穩(wěn)定,高于區(qū)間的上界時會導致產(chǎn)量下降。操作區(qū)間的上界(L2)就是X-01井的技術(shù)最優(yōu)生產(chǎn)點。
圖1 X-01井的氣舉特性曲線
將所有井的特征曲線擬合函數(shù)fi(Qgi)計算得到的產(chǎn)量相加得到總產(chǎn)量,然后將總產(chǎn)量取最大值作為目標函數(shù),如公式(2)所示:
(2)
根據(jù)單井注氣速度Qgi應處于氣舉操作區(qū)間之內(nèi)這一限制條件,Qgi應滿足:
Qgimin≤Qgi≤Qgimax
(3)
同時,把壓縮機容量限制作為一個重要前提,即所有井的總注氣量不能大于壓縮機系統(tǒng)用于氣舉的最大輸氣量:
(4)
式中:Qo為總產(chǎn)量;Qgimax指i井的最大氣舉注氣量;Qgimin指i井的最小氣舉注氣量;若openi等于1則表明井是在生產(chǎn);若openi等于0則表明井是關閉的。
由于每個配氣方案包含所有注氣井的全部相關參數(shù),利用枚舉法不可能詳盡評估所有可能的解決方案,遺傳算法等搜索方法的目的就是減少評估次數(shù),從而快速找到足夠接近全局最優(yōu)的配氣方案[12-13]。
根據(jù)圖2所示的結(jié)構(gòu)示意圖,遺傳算法可用來解決上述具有苛刻壓縮機能力極限限制的氣舉優(yōu)化問題。
與Ray研究相同,把與每一口井注入氣相關的參數(shù)編成染色體字符串,染色體的長度等于井的數(shù)目。每口井氣舉注入速度必須在氣舉生產(chǎn)區(qū)間內(nèi),并且通常注氣速度不接近零。受到達爾文的啟發(fā),遺傳算法先是生成配氣方案問題可能解的種群,然后讓種群進行進化,種群規(guī)模設置為200個體(每個種群包含200個體,即200個配氣方案),每個個體用染色體來表示。
圖2 遺傳算法結(jié)構(gòu)圖
為了產(chǎn)生初始種群,采用等概率分布函數(shù)隨機產(chǎn)生一組數(shù),這樣就產(chǎn)生了一系列包含從0到1之間隨機數(shù)的向量,向量的長度等于氣舉井的數(shù)量,向量的數(shù)目等于種群的大小,這些向量組成了一個大矩陣(種群矩陣),矩陣的每一行對應一個單一的個體。由于是隨機產(chǎn)生,種群矩陣具有更大的“生物多樣性”。 配氣方案中最重要的參數(shù)是單井有效氣舉注氣速度,第口井有效氣舉注氣速度Qgi由式(5)表示:
Qgi=Qgimin+ran(Qgimax-Qgimin)
(5)
式中ran函數(shù)用來產(chǎn)生0到1之間的隨機數(shù)。
遺傳算法解決氣舉優(yōu)化問題雖然沒有從數(shù)學上確定出達到收斂的平均迭代次數(shù),但通過案例研究發(fā)現(xiàn),遺傳不超過200代就收斂到足夠接近全局最優(yōu)的配氣方案。
雖然每口井(基因)得到了有效值,但個體本身有可能是無效的,因為所有井的總注氣量不能超過壓縮機機組的總供氣量。如果不滿足這個條件,算法就減少其中一口井的注氣量,該井新的注氣量要是低于自身的最小注氣量,這口井就被關閉。基于此原因,個體生成以后必須先對染色體進行解碼,解碼后由前所述限制條件先行判斷,不合格的個體不進入適應度函數(shù)計算和評價。然后,算法驗證減少后的總注氣量是否小于壓縮機機組總供氣量,如果不能滿足這個條件,另一口井的注氣量也將被減少。如果所有井經(jīng)過減少注氣量的過程后,單口井的值還是無效的,那么算法將重新回到開始選井階段。當然,如果總注氣量低于壓縮機總供氣量時,也可以通過相同的過程來增加注氣量。經(jīng)過減少(或增加)單井注氣量后得到的一系列有效個體(滿足限制條件)組成整個群體,這個過程通常稱為均勻隨機初始化過程。
適應度函數(shù)為每個個體計算適應度Fitness,并以此對每個個體進行排序。遺傳算法一般用目標函數(shù)來計算適應度。在這里,適應度的函數(shù)值等于所有井的總產(chǎn)量。它可以通過氣舉動態(tài)曲線和相關注氣量來計算。
(6)
個體選擇是一個被動過程,個體生存或繁殖依賴于其應對環(huán)境挑戰(zhàn)的能力 —— 基因特征。選擇過程是一個長期反復試誤并積累優(yōu)點的過程,其目的是選擇優(yōu)良個體組為以后交叉繁殖后代做準備。有很多種方法來選擇個體組,傳統(tǒng)的方法是通過輪盤賭來選擇。這種方法首先利用適應度函數(shù)來評價個體,得到的適應度值必須進行歸一化處理,這樣所有適應度函數(shù)值之和就等于一,然后對個體按照其適應度值的高低進行降序排名,每個個體適應度值決定了個體的繁殖概率,最后將每個個體的歸一化后適度值累加起來組成輪盤。傳統(tǒng)的方法在處理情況簡單、個體適應度差異大的種群時效果較好,但氣舉配氣優(yōu)化問題在加入限制條件后情況較復雜,為了保證個體的多樣性,在計算時往往設置很大的備選種群的規(guī)模,如此個體適應度之間的差異開始變小(如圖3(a)),這樣極大影響了計算收斂速度。為了提高收斂速度,這里采用A Morales等人的MiniVar方法對輪盤賭選擇進行改進[14-15]。
圖 3 輪盤賭對比圖
首先對初始的適度值數(shù)據(jù)進行均值和標準方差計算,以此創(chuàng)建一個標準正態(tài)分布種群,并獲取各個體新的適度值數(shù)組:
(7)
式中:x(i)代表i個體的初始適度值,μ和σ表示初始適度值的均值和標準方差,Np代表種群規(guī)模。
然后再用高斯誤差函數(shù)erf()對新的適度值數(shù)組進行處理:
(8)
式中μ0和σ0表示各個體新的適度值數(shù)組的均值和標準方差。
經(jīng)過MiniVar改進的輪盤賭適度值分布如圖3b所示。兩圖對比可以看出,圖3a中的個體2(占比例最小)與其他個體相比所占比例差距不大,在輪盤賭中很難把個體2淘汰出局。經(jīng)過改進后在圖3(b)中,個體2所占比例大大縮小,這就使個體2被選中的幾率大大降低,從而使計算的整體收斂速度大大提高。
接下來就要對新種群中選出的2個個體進行交叉操作,一般的交叉方法有單點交叉、兩點交叉、多點交叉、均勻交叉、融合交叉,方法不同則效果不同。本文采用如圖4所示的單點交叉方式, 交叉點隨機產(chǎn)生。交叉操作要在一定的概率下進行,這個概率稱為交叉率,一般設置為0.5~0.95。按照單點交叉要求,將父代中所有的個體,進行兩兩交叉。如圖4(a)所示,需要隨機選定一個位置作為交叉點,將2個個體劃分成2部分,相互交換后半部分,分別得到2個新的個體。
圖4 交叉運算與變異運算
從父代中隨機選擇的個體要進行變異操作。變異就是對染色體的結(jié)構(gòu)進行變異,使其改變原來的結(jié)構(gòu)(值也就改變),達到突變進化的目的。通過變異可以把搜索范圍擴大到初始種群產(chǎn)生的基因組合之外。這也減少了收斂到局部最優(yōu)的概率。變異操作也要遵從一定的概率來進行,一般設置為0~0.5。如果變異的概率是0.25,那么將有四分之一的個體將進行變異。
如圖4(b)所示,選定一個隨機位置,翻轉(zhuǎn)該位置的二進制字符,從而得到一個新樣本。
本文的變異方法直接采取基因位反轉(zhuǎn)變異法,即0變?yōu)?,1變?yōu)?。要進行變異的基因位的選取也是隨機的。
圖5 優(yōu)化計算迭代過程圖
傳統(tǒng)遺傳算法是在每次迭代后保持種群個體數(shù)量恒定,按照這種方法,新產(chǎn)生的個體數(shù)量等于上一代的個體數(shù)量(完全取代)。本文對傳統(tǒng)遺傳算法進行細微的修改,即以前最好的個體組的一小部分(20%)被保持到下面的迭代過程。這保證了下一代最佳個體不比上一代最佳個體差。新算法可以減少收斂時間和加快優(yōu)化過程。
在此運用遺傳算法對中國海上某油氣田的11口井進行氣舉優(yōu)化。為得到各口井的特征曲線,應用氣舉軟件對這些井進行氣舉敏感性分析,其中一口井(X-01)的特征曲線見圖1。
考慮到氣體輸出及電力條件問題,浮式生產(chǎn)儲油系統(tǒng)配備了2個壓縮機組,2個機組并行時,總排氣量約120×104m3d。遺傳算法參數(shù)設置如下:編碼長度為15;種群規(guī)模為200;選擇方式為輪盤賭(MiniVar);交叉類型為單點交叉;交叉概率為0.5;變異概率為0.1;迭代終止次數(shù)設置為500。
圖5是利用種群中所有個體目標函數(shù)的平均值繪出的優(yōu)化計算迭代過程圖。由圖5可以看出,迭代次數(shù)初步設置為500次,但實際計算顯示遺傳不超過200代計算程序就開始收斂到足夠接近全局最優(yōu)的配氣方案。
表1反映出各井配氣及產(chǎn)量情況??梢钥闯?,由于所研究的井都需要氣舉來維持產(chǎn)量, X-04井和X-09井氣舉速度較小,相對于其他井而言效益較低而被關閉。由表1中的實際產(chǎn)油量和設計產(chǎn)油量對比可以看出,兩者大體一致。這驗證了遺傳算法最基本的特點:雖然無法找到這種問題的全局最優(yōu)解,但能找到可以接受的全局次優(yōu)解。
表1 各井配氣及產(chǎn)量表
(1)在考慮單井注氣速度應處于氣舉操作區(qū)間和總注氣量必須不大于壓縮機總?cè)萘康认拗茥l件的情況下,運用改進的遺傳算法能夠選擇關閉井以及井的關閉順序。
(2)在遺傳算法選擇個體的過程中,本文采用A Morales等人的MiniVar方法對輪盤賭進行了改進,從而極大地提高了遺傳算法的收斂速度。
(3)改進后的遺傳算法在處理帶有壓縮機停機、單井注氣壓力限制等復雜因素的注氣速度優(yōu)化問題時,雖然無法找到全局最優(yōu)解,但能找到可以接受的全局次優(yōu)解。
[1] 崔智敏,王銀鳳.基于遺傳算法的油田注水系統(tǒng)運行優(yōu)化研究[J].科學技術(shù)與工程,2012,12(7):1656-1658.
[2] 黃輝,吳曉東,孫天禮.基于遺傳算法的低滲透氣藏水平井壓裂參數(shù)優(yōu)化[J].天然氣工業(yè),2008,28(5):91~93.
[3] Qin Lu,Graham C Fleming.The Optimization of Continuous Gas Lift Process Using an Integrated Compositional Model[G].SPE 140935,2011.
[4] Sharifa Al-Ruheili,Mathew Angelatos,Sujith Nair,et al.Production Optimization and Zonal Allocation for Auto Gas Lift Wells:A Case Study from Oman[G].SPE 161648,2012.
[5] Artur Posenato Garcia,Vinícius Ramos Rosa.A Genetic Algorithm for Gas Lift Optimization With Compression Capacity Limitation[G].SPE 153175,2012.
[6] Pierre Samier.Comparisons of Various Algorithms for Gas-Lift Optimization in a Coupled Surface Network and Reservoir Simulation[G].SPE 130912,2010.
[7] Ray T,Sarker.R.Genetic Algorithm for Solving a Gas Lift Optimization Problem[J].Journal of Petroleum Science and Engineering,2007,59:84-96.
[8] 于淑珍,胡康,馮朋鑫,等.一種井間互聯(lián)氣舉排水采氣新方法[J].特種油氣藏,2013,20(4):138-140.
[9] 李華鋒,王慶,馮祥.考慮井筒壓降的水平井流速及壓力分布研究[J].斷塊油氣田,2011,18(3):366-368.
[10] 張林,熊友明.水平井筒油水兩相流壓降計算模型[J].斷塊油氣田,2009,16(5):77-80.
[11] 楊帆.氣井多相垂直管流段壓力損失敏感性分析[J].特種油氣藏,2008,15(5):63-65.
[12] 鐘海全,李穎川,劉永輝.用混合罰函數(shù)法求解氣舉區(qū)塊優(yōu)化配氣模型[J].石油學報,2007,28(1):146-150.
[13] 羅銀富,黃炳光,王怒濤,等.改進的非支配排序遺傳算法優(yōu)化氣舉配氣[J].西南石油學院學報,2009,31(2):64-66.
[14] Morales A,Nasrabadi H,Zhu D.A Modified Genetic Algorithm for Horizontal Well Placement Optimization in Gas Condensate Reservoirs[G].SPE 135182,2010.
[15] Morales A N,Nasrabadi H. Zhu D.A New Modified Genetic Algorithm for Well Placement Optimization under Geological Uncertainties[G].SPE 143617,2011.