鄭文 高勝 熊德進 吳磊 祝洪偉
1東北石油大學機械科學與工程學院
2青海油田采氣二廠
油田注水系統(tǒng)是保障油田實現(xiàn)穩(wěn)定生產的重要環(huán)節(jié),其耗能占油田總耗能的40%以上[1],因此降低能耗對于實際生產意義重大。
油田注水系統(tǒng)優(yōu)化待解決的核心問題主要有兩個:一是注水站和注水管網(wǎng)之間水量不相匹配,因注水管網(wǎng)拓撲結構錯綜復雜,管網(wǎng)內高壓低壓部分存在連通點,系統(tǒng)之間相互影響,注水站輸出的水量不能合理地分配到各個注水井中,容易引起區(qū)域內超注或欠注的現(xiàn)象,使注水效果表現(xiàn)欠佳;二是站注水總量和站內泵組合之間不易匹配,應該怎樣合理分配泵之間的組合,調節(jié)各個注水泵排量使注水站輸出水量達到最均衡,也是亟需解決的問題[2]。本文針對注水站和注水管網(wǎng)之間的水量不相匹配問題進行研究。
注水系統(tǒng)運行優(yōu)化是在已知注水井所需配注水量的條件下,調度調節(jié)各注水站內注水泵的輸出水量,以此獲得同時滿足注水井配注需求和管網(wǎng)水力約束條件的注水泵最佳工作狀態(tài),降低能耗損失,提高系統(tǒng)效率[3]。當前優(yōu)化問題解決所使用的方法一般有經(jīng)典數(shù)學優(yōu)化計算方法和智能優(yōu)化計算方法兩種,經(jīng)典數(shù)學優(yōu)化計算方法中優(yōu)化結果一般會隨著初始解的變化而發(fā)生變化,其理論系統(tǒng)完善、計算需求小、收斂速度快,但僅能求出局部最優(yōu)解,無法得到較優(yōu)全局最優(yōu)解。隨著計算機以及人工智能技術的發(fā)展,智能算法更廣泛地應用于求解復雜困難的優(yōu)化問題,遺傳算法、模擬退火算法等智能求解算法陸續(xù)應用到注水系統(tǒng)實際運行時參數(shù)調控優(yōu)化中。
魏立新[4]等采用雙重編碼形式的混合遺傳算法來求解優(yōu)化模型,屬于新型的智能優(yōu)化方法,求解時在全空間內進行并行搜索,不會陷入局部最優(yōu)的困境;2014 年,陳純煉[5]等通過蟻群算法對油田注水管網(wǎng)布局數(shù)學模型進行求解,改良內層泵站排量,以此證明蟻群算法在這一問題下的實操性和高效能力;2019 年,王力[6]整合油田污水-注水系統(tǒng),通過粒子群算法對兩種管網(wǎng)系統(tǒng)形成整體調度優(yōu)化,節(jié)約成本的同時降低工作、學習難度。智能優(yōu)化算法不僅廣泛應用于油田注水中,也可應用于城市供水系統(tǒng)。2010 年,VASAN[7]以管網(wǎng)系統(tǒng)經(jīng)濟性和可靠性為目標,采用差分進化算法對典型的漢諾塔管網(wǎng)和紐約管網(wǎng)的改造工程進行了優(yōu)化設計,驗證算法的有效性;2012 年,張小博[8]用神經(jīng)網(wǎng)絡建模且采用參數(shù)確定了組合模型的優(yōu)勢,并應用其對管網(wǎng)總水量進行了預測,取得了合理調度策略;2018 年,馮雪峰[9]采用遺傳算法對注水泵的運行組合進行尋優(yōu),在滿足約束限制條件下,使泵均運行于高效區(qū)段,減少能量損耗。
本文研究對象為大型油田注水系統(tǒng),將系統(tǒng)輸出功率最小作為目標,建立多種智能優(yōu)化算法運行方案的數(shù)學模型并求解,通過求優(yōu)的具體結果對比分析不同智能優(yōu)化算法的優(yōu)化質量,從中得到求優(yōu)結果最好的油田注水管網(wǎng)優(yōu)化智能計算方法,更好地應用到油田實際生產中。
油田注水系統(tǒng)(含管網(wǎng))屬于大型復雜流體網(wǎng)絡系統(tǒng)[10],其由節(jié)點單元(注水站節(jié)點、注水井節(jié)點、配水間節(jié)點和管線交集處)、管道單元(注水干線及支線)和附屬單元(閥門、彎頭和三通等)組成(圖1)。
圖1 注水管網(wǎng)系統(tǒng)示意圖Fig.1 Schematic diagram of water injection pipe network system
注水管網(wǎng)中管道內的壓力損失計算式為
式中:Δh為管道的壓力損失,m;qi為管道流量,m3/s;a為常系數(shù);L為管道長度,m;ki為管道的流量系數(shù)。
存在于注水管網(wǎng)中的隨意一個節(jié)點i,任一時刻和時域內流向此節(jié)點的流量必然等于此節(jié)點流出的流量,它們之間一定存在平衡關系,即
式中:Vk為當該節(jié)點為水源所在節(jié)點時供水量,m3/s;Qk為當該節(jié)點為注水井時配注水量,m3/s;Ii為與節(jié)點i相鄰的管道單元集合。
對于附屬在管道單元上的小型單元進行當量化處理,構造和管道單元一樣的數(shù)學模型,即
式中:Δhβ為局部水頭損失,m;Lβ為當量管道長度,m。
建立相應的系統(tǒng)整體模型,需要考慮油田注水管網(wǎng)系統(tǒng)方程組的階數(shù)、求解前的預處理和迭代收斂速度等多個指標,最后選擇具有一定優(yōu)勢的模型。以節(jié)點連續(xù)方程(2)作為基準,將計劃與節(jié)點相連的管道單元壓力損失計算式(1)代入式(2),得到
注水管網(wǎng)內有n個節(jié)點,每個節(jié)點都能夠依據(jù)流量平衡原理寫出節(jié)點方程,然后組成一組非線性方程。這n個方程中的任何一個節(jié)點壓力都可以通過剩下的n-1 個方程求出,也就存在n-1 個獨立方程。根據(jù)這n-1 個方程,如果注水站的供水總量、各節(jié)點的配注水量都可知,便可由此求出節(jié)點處的壓力值和流過管道的流量值。
注水系統(tǒng)優(yōu)化的核心是注水站與注水管網(wǎng)之間水量匹配的問題,如何使注入水量和井口所需水量相匹配,避免超注、欠注等問題[11-12]是優(yōu)化模型需要考慮的。以注水站輸出功率總和最小為優(yōu)化目標,在注水井配注水量和最低注入壓力給定的條件下,將注水泵輸出流量作為變量進行優(yōu)化計算,目標函數(shù)為
式中:N為注水系統(tǒng)輸出功率,kW;Hi為第i座注水站的出口壓力,MPa;Hi0為第i座注水站的入口壓力,MPa;Qi為第i座注水站的輸出流量,m3/s;m為注水系統(tǒng)中注水站數(shù);α為單位換算系數(shù)。
(1)水量平衡。注水站的供水總量和各注水井的注入量之和二者之間相互平衡,即
式中:Np為注水系統(tǒng)中注水站的個數(shù);uj為第j口注水井的注水量,m3/s;Nw是注水系統(tǒng)中注水井的總量。
(2)節(jié)點水力平衡。依據(jù)質量守恒定律,存在于管網(wǎng)系統(tǒng)中的任意一個節(jié)點,流入此節(jié)點的流量必定等于流出此節(jié)點的流量,即
式中:qij為與節(jié)點相鄰管元的流量,m3/s;Ci=ui-Qi,ui為節(jié)點為水源時對外提供的水量,m3/s;若節(jié)點是注水站,取C=u,u為該注水站的注水總量,m3/s;若節(jié)點是注水井,取C=-Qk;如果世點是配水間節(jié)點或中間節(jié)點,取C=0。
(3)注水井壓力。對于所有注水井,其來水壓力一定大于或等于其配注壓力,即
式中:pi為第i口注水井的實際注入壓力,MPa;為第i口注水井的最低配注壓力,MPa。
(4)注水站排量。注水系統(tǒng)中的每一座注水站的注水泵都要求運行于高效區(qū)段內,即
式中:、為第i臺注水泵在高效工作區(qū)內工作時的最小、最大排量,m3/s。
目前在油田注水系統(tǒng)優(yōu)化方面常用到的智能算法主要有種群類算法、啟發(fā)性算法和進化類算法。其中種群類算法大體是通過觀察種群覓食等生物性行為,找尋到其中存在的規(guī)律,協(xié)作關系等,以此開發(fā)得出;啟發(fā)類算法其本身具有自主學習、摸索規(guī)律等特點,以優(yōu)化問題求解過程與自然界中一些物理過程之間的相似性為基礎開發(fā)而來;進化類算法一般有不同的遺傳基因表達方式,使用不同類型的交叉和變異算子,不同的再生和選擇方法,其啟發(fā)均來源于大自然的生物進化。在油田實際生產應用中常見的主要有粒子群算法、模擬退火算法、遺傳算法和差分進化算法四種智能優(yōu)化算法。
采用粒子群優(yōu)化算法對油田注水系統(tǒng)優(yōu)化[13]的基本思路是依據(jù)個體(粒子)的適應度值大小進行操作,將單個個體看作是在搜索空間里沒有質量沒有體積的微小粒子,其求解步驟為:
(1)初始化粒子群。確定群體規(guī)模以及所有粒子的位置和速度,即在泵的排量允許范圍內隨機生成粒子的初始位置(排量)和速度,調用節(jié)點方程得到每臺泵的節(jié)點壓力,計算目標函數(shù)得到當前方案下的系統(tǒng)最小能耗,取各粒子的個體極值pbest作為初始歷史最優(yōu)值,取其中gbest作為全局最優(yōu)值進行迭代。
(2)計算每個粒子的適應度值fit[i]。
(3)對種群中每一個粒子,比對其目標函數(shù)(適應度)值fit[i]和單體極值pbest(i),如果,則用fit[i]代替pbest(i)。
(4)對種群中的每一個粒子,比對其目標函數(shù)(適應度)值fit[]i和全域極值gbest,如果fit[i]<gbest,則用fit[i]代替gbest。
(5)迭代更新粒子的速度υi和位置xi。
(6)進行邊界條件處理,保持排量一直穩(wěn)定在高效區(qū)間內。
(7)判斷算法終止條件是否滿足:若是,結束算法并輸出優(yōu)化;否則返回步驟(2)并自適應調整最小違約限定值ε。
模擬退火優(yōu)化算法源于固體退火原理,是一種典型的啟發(fā)性算法,其基于概率操作,求得的解和算法迭代的起點(初始解)無關,選取何種初始解并不會影響到最后的結果[14],因此可以將系統(tǒng)模型新解的產生和接受列為以下四步:
(1)根據(jù)目標函數(shù)生成一個存在于解空間的新解。
(2)計算新解的目標函數(shù)值,求出與原解的差值。
(3)通過接受判斷準則判斷新解是否被接受。
(4)如果接受了新解,則取代當前解,并對目標函數(shù)值進行修正,并開始下一輪迭代;如果不被接受,則繼續(xù)使用原有解進行下一輪迭代。具體步驟實施則如下:①初始化:設置初始溫度T0(充分大),初始解狀態(tài)X0(即第一組注水泵的排量)、每個T值的迭代次數(shù)L并計算相應的目標函數(shù)值。②設置迭代次數(shù)為k=1,…,L,進行步驟③~⑥。③產生新解X′ 。④計算增量,其中E(X)為目標函數(shù)。⑤若ΔE<0,便接受X′成為新的當前解,否則就按照概率接受X′成為新的當前解。⑥若滿足終止條件輸出當前解為最優(yōu)解,輸出計算結果,結束程序。⑦T逐漸減小并趨于0,轉第(2)步。
遺傳算法其本身是一種源于生物界中物種的自然選擇與遺傳機制的隨機搜索算法,具有并行計算的能力,采用概率的狀態(tài)轉移規(guī)則,避免陷入局部最優(yōu),在注水系統(tǒng)運行參數(shù)優(yōu)化過程中,為可能地提高遺傳算法的求解效能,采取自適應遺傳算法[15]。具體步驟如下:
(1)種群建立。設置計數(shù)器g=0(進化代數(shù)),最大進化代數(shù)G,隨機生成NP個個體的初始種群P(0)。
(2)個體評價。求算種群P(t)中每一個個體的目標函數(shù)(適應度)值。
(3)選擇運算。將選擇算子作用于種群,根據(jù)個體的適應度,按照一定的規(guī)則或方法,選擇一些優(yōu)良個體遺傳到下一代群體。
(4)交叉運算。將交叉算子作用于種群,對選中的成對個體,以某一概率交換它們之間的部分染色體,產生新的個體。
(5)變異運算。將變異算子作用于種群,對選中的個體,以某一概率改變某一個或某一些基因值為其他的等位基因。種群P(t)歷經(jīng)選擇、交叉和變異操作后獲得下一代種群P(t+1) 。計算適應度值,并根據(jù)適應度值進行排序,準備進行下一次遺傳操作。
(6)終止條件。如果g≤G,g=g+1,轉到步驟(2);如果g>G,則該進化過程得到的具有最大適應度的個體作為最優(yōu)解輸出,計算結束。
特別說明:遺傳算法經(jīng)過自適應交叉、變異操作產生的新個體,需要重新計算目標函數(shù),計算之前,要對染色體進行解碼得到各注水站輸出流量,再進行流量微調。以經(jīng)過微調后的流量為基礎,通過迭代法求解注水管網(wǎng)模型并使用下式計算目標函數(shù)值。即
式中:F′為無約束目標函數(shù);F為有約束目標函數(shù);p1為注水井未達到注入壓力的比例;M為懲罰因子;Nw為注水系統(tǒng)中注水井總數(shù);pj為第j口注水井的注入壓力,MPa;為第j口注水井的配注壓力,MPa。
差分進化算法是STORN[16-17]等人在1905 年提出的基于種群智能理論的優(yōu)化算法,在種群之間產生合作與競爭以此來進行智能尋優(yōu)搜索,實數(shù)進行編碼,進行差分變異操作和“一對一”的競爭生存策略,計算過程簡單易行,適合解算一些常規(guī)數(shù)學計算方法很難求解甚至無法求解的復雜優(yōu)化問題。其具體步驟如下:
(1)確定算法的控制參數(shù)。種群數(shù)量NP、變量維數(shù)D、變異算子F、進化代數(shù)G、終止條件等。
(2)隨機產生初始種群。初始種群計算式為
式中:進化代數(shù)G=1,Xi,G表示目標向量(個體)。
(3)對初始種群進行評價,計算其中每一個個體的目標函數(shù)值。
(4)判斷是否滿足終止條件結束進化。若達到,則終止進化,將該時刻的最佳個體作為解輸出;否則,進行下一步。
(5)執(zhí)行自適應變異和交叉的工作,處理約束條件,獲得臨時種群。
(6)評價臨時種群,計算其中每一個個體的目標函數(shù)值。
(7)對臨時種群中的個體和原種群中對應的個體,進行一對一的選擇操作,得到新種群。
(8)設置進化代數(shù)G=G+1,轉步驟(4)。自適應變異算子中變異個體產生方式為
式中:r1、r2、r3為隨機選擇序號,互不相同且與目標向量序號i也不應相同。
設計自適應變異算子F,即
式中:F0為變異算子;Gm為最大進化代數(shù);G為當前進化代數(shù)。
使用自適應交叉算子目的是增加參數(shù)向量的多樣性,執(zhí)行交叉操作,改變個體為
式中:ui,G+1為試驗向量;randb(j)為產生[0,1]之間的隨機數(shù)發(fā)生器的第j個估計值;randb(i)∈(1,2,…,D)為一個隨機選擇的序數(shù)列;CR為交叉算子。
設計自適應交叉算子如下 :CR=0.5×[1+rand(0,1) ],這樣可以保持交叉算子平均值0.75。
圖2 實例管網(wǎng)結構與參數(shù)Fig.2 Example pipe network structure and parameters
具體以圖2 所示的一個注水管網(wǎng)系統(tǒng)為例進行研究,經(jīng)簡化處理后有15 個節(jié)點,其中注水站節(jié)點為1、5、15、16、17,其他均為注水井節(jié)點,每個節(jié)點的注入壓力應不低于14.0 MPa,注水節(jié)點水量、管線結構參數(shù)見圖2 中標記。當前1、5 和15、16、17 這5 個注水站的供水量分別為0.163、0.148、0.097、0.113、0.091 m3/s;站出口壓力分別為15.59、15.36、14.82、15.27、14.55 MPa;注水站輸出功率總和為9 185 kW,管網(wǎng)效率85.39%。
對四種智能優(yōu)化算法進行實際應用,每種算法采取不同的三種參數(shù)方案,分別計算結果,選取每種算法中最優(yōu)的方案進行比對分析,具體參數(shù)如表1、表2、表3、表4 所示。
優(yōu)化后對比各參數(shù)組合結果,依次分別選取表1 方案2、表2 方案3、表3 方案2、表4 方案2,進行各注水站輸出排量和總輸出功率優(yōu)化前后對比,結果如表5 所示。
表1 粒子群算法參數(shù)Tab.1 Particle swarm algorithm parameters
表2 模擬退火算法參數(shù)Tab.2 Simulated annealing algorithm parameter
表4 差分進化算法參數(shù)Tab.4 Differential evolution algorithm parameters
由表5 可知,系統(tǒng)優(yōu)化后的輸出功率均有所減少,達到了預期的要求。由計算結果得出各站的排量后,經(jīng)管網(wǎng)平差計算求得的出口壓力均滿足要求,匯總其他相關優(yōu)化指標得到表6 數(shù)據(jù)。
表5 各站優(yōu)化前后輸出排量和輸出功率Tab.5 Output displacement and output power before and after optimization at each station
表6 優(yōu)化后指標匯總Tab.6 Summary of indicators after optimization
可以觀察到優(yōu)化后指標均有所改善,系統(tǒng)管網(wǎng)效率均有所提升,配注率也更加穩(wěn)定。為進一步研究四種算法之間的差異,對優(yōu)化過程中的適應度值變化曲線圖收斂情況進行比對(圖3)。
根據(jù)實例計算可以看出:優(yōu)化情況最好的是差分進化算法,優(yōu)化后輸出功率為8 636 kW,模擬退火算法表現(xiàn)最差,其他兩種算法優(yōu)化結果相近?,F(xiàn)對四種算法進行對比與評價并分析其原因。
4.2.1 模擬退火算法和遺傳算法的比較
和遺傳算法相比,模擬退火算法具有更優(yōu)秀的局部搜索能力,因為引入了隨機因素,在搜索過程中可以通過概率來接受一個相對于當前解更差的解,就有一定概率跳出局部最優(yōu),求得全局最優(yōu)解。遺傳算法對總體的把握能力更強,其能夠將精度控制在誤差5%以內,而模擬退火算法則在5%左右,在計算精度上比遺傳算法略差。
本文優(yōu)化模型所服務的油田注水系統(tǒng)是一種典型的大型復雜非線性流體系統(tǒng),其中節(jié)點和管網(wǎng)的數(shù)量眾多,具有參數(shù)、變量龐大的特點,但是采用模擬退火算法時,溫度在確定的條件下,尋優(yōu)所獲得的新狀態(tài)全部依靠于前一個狀態(tài),完全切斷和之前其他狀態(tài)之間的聯(lián)系,這是一個馬爾可夫過程,是單個個體進行優(yōu)化,而非群體,因此并行性上會有所降低,影響到算法的求解速度和運算精度。由此,運用退火算法對油田注水系統(tǒng)進行優(yōu)化有所欠妥,在結果上與其他算法有一定的差距。
4.2.2 粒子群算法和遺傳算法的比較
與退火算法不同的是,粒子群算法和遺傳算法都同屬于群體優(yōu)化算法,具有更優(yōu)秀的全局搜索能力和并行操作能力,降低陷入局部最優(yōu)的概率。二者均是在解空間內(泵排量范圍)隨機生成初始種群,并且將搜索重點置于高效區(qū)間內,提高了算法的性能和效率。不同點則是與遺傳算法相比,粒子群算法無需進行編碼和交叉變異等繁瑣的操作,運用內部速度和位置變化來進行更新,參數(shù)少,更易操作和實現(xiàn),但其主要應用于連續(xù)問題,因此限制了使用的范圍。
圖3 四種算法的適應度值曲線Fig.3 Curve of fitness value of the four algorithms
對所研究的系統(tǒng)而言,站站之間和管網(wǎng)中管段之間相互作用,導致系統(tǒng)內的水力工況十分復雜,參數(shù)之間由于互相影響和制約,形成了一個整體,在優(yōu)化過程中以一組排量為變量進行操作,而泵與泵之間又具有相互影響的特性。粒子群算法是單項信息共享機制,搜索過程中更新是跟隨當前最優(yōu)解,而遺傳算法是染色體之間相互共享信息,整個種群的移動較為均勻且同步向最優(yōu)區(qū)域運行,在參數(shù)影響方面,照顧的面更廣,更接近于真實情況。
4.2.3 差分進化算法和遺傳算法的比較
差分進化算法和遺傳算法對比,計算結果相近,互有優(yōu)劣。其最基本的差異在于遺傳算法是按照適應度值來操縱父代雜交,經(jīng)過變異后生成的子代,如果是尋找最小值則適應度值較小的個體被選擇的概率相對會大一些。而差分進化算法的變異向量是由上一代差分向量而來,并與前代個體向量交叉生成新個體向量,直接從前代個體和新個體之間選擇,基于這種模式更容易遍歷到種群中的每一個個體,搜索到最優(yōu)解。
差分進化算法在進行優(yōu)化運行的過程中更易達到所求的運行工況,并且較為穩(wěn)定,重復運行并計算且能收斂到一個解;遺傳算法在面對高維問題時則表現(xiàn)出收斂速度較慢甚至難以收斂的情況。因為差分進化算法僅僅有三個主要參數(shù)(種群大小、變異因子、交叉概率)需要調整,并且參數(shù)設置并不會影響到結果,在操作上更簡單易行。注水系統(tǒng)規(guī)模龐大,維數(shù)較高,差分進化算法這一優(yōu)勢降低了運算復雜度,并且可保證運算的精度,因此比遺傳算法更適合應用到注水系統(tǒng)優(yōu)化中。
針對油田注水系統(tǒng)在實際運行過程中產生的能量損失所造成不必要的浪費,運用目前主流的智能優(yōu)化算法建立系統(tǒng)運行方案優(yōu)化數(shù)學模型,通過改進注水站與注水管網(wǎng)之間的水量匹配問題,找到滿足站井之間流量、壓力最均衡的點,使輸出功率減小,可減少能耗和經(jīng)濟損失。
對比四種典型的智能優(yōu)化算法,對于大型復雜非線性流體系統(tǒng),模擬退火算法對比其他算法效果較差;粒子群算法雖然具有較優(yōu)的全局搜索能力和較快的收斂速度,但是其穩(wěn)定性稍差,操作相對便捷,適合數(shù)據(jù)眾多不易操作的情況;進化類算法則能夠很好地滿足系統(tǒng)優(yōu)化的要求,以差分進化算法為例其具有優(yōu)秀的性能和簡易的操作、快速的收斂能力以及并行搜索能力,制定方案結果較好,可為油田實際生產提供了技術支持。