煤層氣集輸系統(tǒng)新增產(chǎn)能規(guī)劃問題*
李曉平 張思琦 周軍 鄧濤 成夢婭 宮敬
中國石油大學(xué)(北京)機(jī)械學(xué)院
煤層氣田的集輸系統(tǒng)是生產(chǎn)開發(fā)過程的重要組成部分,隨著煤層氣田的不斷開發(fā),如何合理地規(guī)劃煤層氣集輸系統(tǒng)成為研究者需要思考的問題之一。針對煤層氣集輸系統(tǒng)新增產(chǎn)能的分配問題在總結(jié)前人研究成果的基礎(chǔ)上,提出一種通用性強(qiáng)的啟發(fā)式算法,解決煤層氣井網(wǎng)劃分、井網(wǎng)加密和新增產(chǎn)能劃分的問題。應(yīng)用Java語言開發(fā)相應(yīng)程序驗(yàn)證啟發(fā)式算法的正確性,計(jì)算結(jié)果表明此方法在滿足生產(chǎn)要求的前提下,得到了符合預(yù)期目的的最優(yōu)產(chǎn)能分配方案,該算法對煤層氣集輸系統(tǒng)的規(guī)劃具有一定的參考價(jià)值。
煤層氣田;集輸系統(tǒng);啟發(fā)式算法;產(chǎn)能規(guī)劃
煤層氣田的集輸系統(tǒng)是生產(chǎn)開發(fā)過程的重要組成部分,隨著煤層氣田的不斷開發(fā),如何合理地規(guī)劃煤層氣集輸系統(tǒng)成為研究者需要思考的問題之一?,F(xiàn)有的煤層氣管網(wǎng)系統(tǒng)是根據(jù)早期設(shè)計(jì)參數(shù)建設(shè)的,傳統(tǒng)算法只適用解決某一特定情況,對于多種情況的組合問題沒有進(jìn)行研究,而煤層氣田由于產(chǎn)量小,壓力低等特點(diǎn),現(xiàn)有的研究成果并不能很好地解決此類問題,在總結(jié)前人研究成果的基礎(chǔ)上,提出一種通用性強(qiáng)的啟發(fā)式算法,用于解決煤層氣地面集輸系統(tǒng)新增產(chǎn)能的規(guī)劃問題。
啟發(fā)式算法的定義是一種基于直觀或者經(jīng)驗(yàn)構(gòu)造的算法,在可接受的花費(fèi)下給出組合優(yōu)化的一個(gè)可行解。
由于煤層氣“低壓,低產(chǎn),多井”的特點(diǎn),造成煤層氣的井網(wǎng)規(guī)模大,節(jié)點(diǎn)數(shù)量多,而新增產(chǎn)能的分配問題本身又是NP類難題,這便增加了使用傳統(tǒng)優(yōu)化算法求解的難度,因?yàn)閭鹘y(tǒng)優(yōu)化算法的計(jì)算時(shí)間極有可能讓人無法忍受,或因問題的難度使計(jì)算時(shí)間隨問題規(guī)模的增加以指數(shù)速度增長,所以采用啟發(fā)式算法對煤層氣新增產(chǎn)能的規(guī)劃問題進(jìn)行研究。
1.1 新增產(chǎn)能區(qū)塊的處理方法
煤層氣田滾動(dòng)開發(fā)的模式使得新增氣井出現(xiàn)在不同區(qū)域,這使得新增氣井的屬性有所不同,因此在進(jìn)行產(chǎn)能分配時(shí),可利用此屬性將新增氣井劃分為不同的區(qū)域進(jìn)行滾動(dòng)計(jì)算。具體的操作方法如下:首先根據(jù)新增氣井的屬性將其劃分成不同的區(qū)塊,然后通過新增區(qū)塊的數(shù)量設(shè)定滾動(dòng)計(jì)算的次數(shù),最后依次將每個(gè)新增區(qū)塊內(nèi)的氣井進(jìn)行產(chǎn)能分配計(jì)算。
對新增產(chǎn)能區(qū)塊中氣井進(jìn)行處理有兩個(gè)方面的原因,一方面是在實(shí)際生成過程中,工程師會(huì)將氣井劃分為不同區(qū)塊進(jìn)行生產(chǎn)管理;另一方面,直接處理錯(cuò)綜復(fù)雜且毫無特征的大量數(shù)據(jù)會(huì)降低算法的運(yùn)算效率和計(jì)算精度。
1.2 啟發(fā)式算法的流程
啟發(fā)式算法有3個(gè)基本約束:集氣閥組與氣井的距離不超過規(guī)定長度;與集氣閥組連接的氣井?dāng)?shù)量不超過規(guī)定數(shù)量;集氣閥組的集氣量達(dá)到規(guī)定集輸范圍。但煤層氣集輸系統(tǒng)在開發(fā)的初始階段為了節(jié)省成本,在一定程度上忽略井式約束原則[1],所以本算法對此模式進(jìn)行了修正,嚴(yán)格要求產(chǎn)能分配方案遵守3個(gè)約束原則,當(dāng)出現(xiàn)不滿足井式約束的情況時(shí),通過增加集氣閥組的數(shù)量來保證算法的完整性和連續(xù)性。算法的主要流程如圖1所示。
1.2.1 算法初始化
算法初始化階段是指通過已知條件對產(chǎn)能數(shù)據(jù)進(jìn)行預(yù)處理,進(jìn)而生成一組初始產(chǎn)能分配方案的過程。該階段包含4部分內(nèi)容。
數(shù)據(jù)預(yù)處理:通過設(shè)定的參數(shù)和相應(yīng)的原始生產(chǎn)數(shù)據(jù),得到新增區(qū)塊數(shù)量,各區(qū)塊中氣井的最小產(chǎn)氣量和各區(qū)塊新增集氣閥組的數(shù)量等參數(shù)。
確定計(jì)算區(qū)塊:啟發(fā)式算法是以滾動(dòng)開發(fā)形式對多個(gè)新增區(qū)塊進(jìn)行產(chǎn)能分配,所以在進(jìn)行產(chǎn)能分配前需要確定區(qū)塊信息。當(dāng)所有區(qū)塊都分配完畢后,可以得到最終的產(chǎn)能分配方案。
圖1 啟發(fā)式算法流程圖
篩選集氣閥組:集氣閥組的篩選條件如公式(1)所示
式中QOldGroupN為第N個(gè)已建集氣閥組的集氣量;Qnmin為第n個(gè)區(qū)塊中的最小產(chǎn)氣量;Qmax為集氣閥組的集氣量上限值;NOldGroupN為與第N個(gè)集氣閥組連接的氣井?dāng)?shù)量;Nmax為井式約束。
該公式表明,當(dāng)已建設(shè)的集氣閥組的富余集氣量在Qnmin和Qmax之間,且與之連接的氣井?dāng)?shù)量小于Nmax時(shí),則該集氣閥組可以被繼續(xù)利用。
需要說明的是,如果已建集氣閥組無法連接當(dāng)前區(qū)塊內(nèi)采氣量最小的氣井,則該閥組肯定無法容納區(qū)塊內(nèi)其他的新增氣井。
生成初始分配方案:分配方案以氣井到各個(gè)集氣閥組的距離為參考值,將氣井分配到與其距離最近的閥組中。
1.2.2 檢查井式約束
檢查各集氣閥組的連接情況時(shí),按照井式約束的要求,將集氣閥組中超出連接數(shù)量的氣井篩選出來,然后通過氣井與集氣閥組的距離為參考值,將氣井分配到與其次近且不超出井式約束的閥組中,從而保證各集氣閥組能夠滿足井式約束的要求。
1.2.3 檢查集輸半徑約束
檢查各集氣閥組與其所屬氣井的距離時(shí),如果該距離值超出最大集輸半徑,則認(rèn)為該氣井不應(yīng)當(dāng)連入到此閥組中。由于在檢查井式約束的環(huán)節(jié)中,氣井是依照最短距離依次分配,所以出現(xiàn)距離不符合要求的情況時(shí),可以認(rèn)為該氣井分配到其他集氣閥組中也不滿足距離約束。
1.2.4 檢查集氣量約束
檢查各集氣閥組的集氣量時(shí),如果閥組的集氣量超出設(shè)定范圍,則認(rèn)為該閥組不符合集氣量約束,需要對其進(jìn)行調(diào)整。集氣量約束的調(diào)整過程主要由兩個(gè)步驟組成:
(1)尋找集氣閥組在約束范圍內(nèi)的最佳組合形式。假如某個(gè)集氣閥組中有n口氣井,且閥組不滿足集氣量約束,則該集氣閥組應(yīng)當(dāng)還有M種組成方式。集氣閥組的M種組合方式各不相同,尋找集氣量QM與Qmax最接近的組合,且QM<Qmax。如果出現(xiàn)偏差值相同,則選取氣井?dāng)?shù)量多的組合方式;如果氣井?dāng)?shù)量相同,則選取與集氣閥組距離值之和最小的組合方式。
(2)將篩選出來的氣井分配到合適的集氣閥組中。假如在第一個(gè)步驟中篩選出N口氣井,則以氣井采氣量為基準(zhǔn),從大到小依次分配這N口氣井。當(dāng)氣井?dāng)M分配給某個(gè)集氣閥組后,根據(jù)相關(guān)數(shù)據(jù),重新按照幾何平均的方法確定閥組坐標(biāo),并在此基礎(chǔ)上檢查集氣閥組的井式約束、集輸半徑約束和集氣量約束。
1.2.5 收斂集氣閥組的坐標(biāo)
在啟發(fā)式算法的流程中,有兩個(gè)迭代循環(huán)流程,分別安置在完成井式約束的計(jì)算后和完成集氣量約束的計(jì)算后,該流程是用來收斂集氣閥組的坐標(biāo),加權(quán)平均法的收斂函數(shù)如式(2)所示
其中i∈Sj表示第j集氣閥組所轄氣井i;(xij,yij)表示第j閥組所轄氣井i的坐標(biāo)。x,y為氣井坐標(biāo),p,q為閥組坐標(biāo),Q為氣井產(chǎn)氣量。
1.2.6 更新產(chǎn)能數(shù)據(jù)
當(dāng)某個(gè)新增區(qū)塊的氣井分配完畢后,得到相應(yīng)的分配方案,將該區(qū)塊的集氣閥組信息與已建集氣閥組信息整合,由此完成煤層氣集輸系統(tǒng)的滾動(dòng)開發(fā)。
根據(jù)啟發(fā)式算法編寫相應(yīng)的Java程序,并以仿真算例進(jìn)行試算。算例中有已建氣井23口,已建集氣閥組3個(gè),新增氣井73口,井式約束為9,集氣量上限為40000,集氣量下限為14400,最大集輸半徑為35,允許誤差精度為0.01,計(jì)算的收斂函數(shù)采用算術(shù)平均數(shù)的方法,將氣井和集氣閥組的信息繪制在二維坐標(biāo)系中,如圖2所示。
圖2 算例示意圖
黑色方塊為已建集氣閥組,算例中集氣閥組的編號格式為OldGroupXXX,XXX代表第N個(gè)閥組;紅色圓點(diǎn)為已建氣井。算例中已建氣井的編號格式為OldWellXXX,XXX代表第N口氣井;其余顏色的圓點(diǎn)代表新增氣井,不同顏色代表不同區(qū)塊。算例中新建氣井的編號格式為NewWellXYY,XYY代表第M個(gè)新增區(qū)域中的第N口氣井。
該算例具有以下特點(diǎn):
(1)新增區(qū)塊有若干個(gè),符合多區(qū)域滾動(dòng)開發(fā)的特點(diǎn)。
(2)新增氣井出現(xiàn)在已建區(qū)塊的內(nèi)部,符合井網(wǎng)加密的開發(fā)特點(diǎn)。
(3)新增氣井出現(xiàn)在離已建區(qū)塊較遠(yuǎn)的區(qū)域,符合井網(wǎng)劃分的開發(fā)特點(diǎn)。
(4)新增氣井出現(xiàn)在已建區(qū)塊的邊緣區(qū)域,符合檢驗(yàn)算法是否能夠利用已建集氣閥組處理能力。
(5)區(qū)域內(nèi)會(huì)出現(xiàn)只滿足集氣量約束、井式約束和集輸半徑約束中任意一種或者任意兩種的情況,符合用檢驗(yàn)算法驗(yàn)證是否能夠滿足煤層氣管網(wǎng)建設(shè)中的3個(gè)約束條件。
通過開發(fā)的Java軟件進(jìn)行計(jì)算后,得到該區(qū)塊的產(chǎn)能分配方案,計(jì)算結(jié)果如表1所示。新增集氣閥組的格式為XNewGroupYY,代表第M個(gè)區(qū)域內(nèi)的第N個(gè)新增集氣閥組,相應(yīng)的二維坐標(biāo)圖如圖3所示。
圖3 多區(qū)域滾動(dòng)開發(fā)的計(jì)算結(jié)果示意圖
通過計(jì)算結(jié)果可以看出,當(dāng)前分配方案符合集氣量約束、最大集輸半徑約束和井式約束,且通過該啟發(fā)式算法的處理,充分利用了已建集氣閥組的處理能力,達(dá)到了節(jié)省管網(wǎng)投資,合理利用現(xiàn)有集輸系統(tǒng)的目標(biāo)。該算法可以解決多區(qū)域滾動(dòng)開發(fā)下新增產(chǎn)能的規(guī)劃問題。
表1 多區(qū)域滾動(dòng)開發(fā)的新增產(chǎn)能分配
針對煤層氣集輸系統(tǒng)新增產(chǎn)能的分配問題進(jìn)行了研究,在總結(jié)前人的研究基礎(chǔ)上,提出了一種更為通用的啟發(fā)式算法,可以解決煤層氣井網(wǎng)劃分、井網(wǎng)加密和新增產(chǎn)能劃分的問題。
應(yīng)用Java語言開發(fā)相應(yīng)程序驗(yàn)證啟發(fā)式算法的正確性,計(jì)算結(jié)果表明此方法在滿足生產(chǎn)要求的前提下,得到了符合預(yù)期目的的最優(yōu)產(chǎn)能分配方案,該算法對煤層氣集輸系統(tǒng)的規(guī)劃具有一定的參考價(jià)值。
[1]魏立新,劉楊,付云霞,等.油氣集輸系統(tǒng)新增產(chǎn)能建設(shè)拓?fù)鋬?yōu)化方法研究[J].石油工程建設(shè),2003,29(1):5-8.
(欄目主持 李艷秋)
10.3969/j.issn.1006-6896.2014.11.001
國家科技重大專項(xiàng)課題“煤層氣田集輸系統(tǒng)優(yōu)化技術(shù)”(2011ZX05039—002)。