花 靖,蔣 秀,于 超,谷成林,靳彥欣,逄銘玉
(中國(guó)石油化工股份有限公司青島安全工程研究院,山東 青島 266071)
持液率又稱截面含液率,是指在氣液兩相流動(dòng)過(guò)程中,液相的過(guò)流斷面面積占總過(guò)流面積的比值,表征液相在整個(gè)流動(dòng)空間內(nèi)的填充程度。兩相流持液率的精準(zhǔn)計(jì)算對(duì)于氣液兩相流流型識(shí)別、管道腐蝕評(píng)價(jià)與預(yù)測(cè)以及輸氣管道輸送過(guò)程中沿程壓降計(jì)算等方面都具有重要的意義[1-4]。
國(guó)外關(guān)于持液率計(jì)算模型的研究起步較早[3,5-12],主要包括兩類:(1)基于室內(nèi)實(shí)驗(yàn)數(shù)據(jù)擬合得到的經(jīng)驗(yàn)、半經(jīng)驗(yàn)相關(guān)式計(jì)算模型(如Eaton模型、Beggs-Brill模型、Mukherjee-Brill模型等);(2)通過(guò)實(shí)驗(yàn)現(xiàn)象觀察建立的機(jī)理模型(如Taitel&Dukler模型、ARS模型、MARS模型等)。這兩類模型雖然在各自的實(shí)驗(yàn)條件下(或相近實(shí)驗(yàn)條件)都具有較高的計(jì)算精度,但當(dāng)其應(yīng)用到實(shí)驗(yàn)條件相差較大的工況時(shí),計(jì)算結(jié)果的準(zhǔn)確率較低,甚至有些模型完全不適用。
近年來(lái),機(jī)器學(xué)習(xí)在生物、醫(yī)療、商業(yè)、個(gè)體分析等不同的領(lǐng)域都有了廣泛的應(yīng)用,一些國(guó)內(nèi)學(xué)者將機(jī)器學(xué)習(xí)運(yùn)用到多相流領(lǐng)域[12-16],建立了不同的持液率計(jì)算模型,但由于受到數(shù)據(jù)來(lái)源的限制,導(dǎo)致模型適應(yīng)性不夠。比如邵孟良[13-14]建立的GA-BP神經(jīng)網(wǎng)絡(luò)持液率計(jì)算模型只適用于管徑0.025 4 m、管道傾角為0°~-90°的工況。陳星杙[15]建立的基于ACE算法水平管持液率計(jì)算模型只適用于水平管持液率的計(jì)算。因此,有必要建立一套適應(yīng)不同工況(不同傾角、不同管徑、不同氣速、不同液速等)的持液率計(jì)算模型。
本文統(tǒng)計(jì)分析了國(guó)內(nèi)外不同專家學(xué)者共計(jì)2 123組氣液兩相流室內(nèi)實(shí)驗(yàn)數(shù)據(jù),構(gòu)建了相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)庫(kù),在此基礎(chǔ)上選定SVM算法對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練和回歸預(yù)測(cè),并對(duì)SVM算法的懲罰因子c和核函數(shù)參數(shù)g的尋優(yōu)過(guò)程進(jìn)行優(yōu)化,從而建立了基于GA-SVM算法的持液率計(jì)算模型。最后,將該模型與經(jīng)典的持液率計(jì)算模型進(jìn)行了計(jì)算精度對(duì)比分析,結(jié)果顯示,建立的持液率模型在不同的工況條件下都具有較高的計(jì)算精度。本文基于GA-SVM算法建立的氣液兩相流持液率計(jì)算模型具有計(jì)算精度高、穩(wěn)定性強(qiáng)、適應(yīng)性廣泛的優(yōu)點(diǎn),可滿足不同工況條件下持液率計(jì)算的需求。
為了建立精度高、適應(yīng)性廣泛的持液率計(jì)算模型,建立豐富的室內(nèi)實(shí)驗(yàn)數(shù)據(jù)庫(kù)是重要前提,遵循以下的數(shù)據(jù)篩選原則:(1)參數(shù)變化范圍盡可能大,確保建立的持液率計(jì)算模型適應(yīng)強(qiáng),在不同的工況條件下都具有良好的計(jì)算精度;(2)統(tǒng)計(jì)的持液率影響因素盡量多,確保數(shù)據(jù)訓(xùn)練階段具有良好的學(xué)習(xí)效果。基于以上原則,廣泛地統(tǒng)計(jì)、篩選了國(guó)內(nèi)外不同專家學(xué)者共2 123組氣液兩相流室內(nèi)實(shí)驗(yàn)數(shù)據(jù)[16-24],數(shù)據(jù)來(lái)源及實(shí)驗(yàn)條件描述詳見(jiàn)表1。由表1可知,實(shí)驗(yàn)數(shù)據(jù)涵蓋了不同的實(shí)驗(yàn)條件,基本覆蓋了影響持液率的主要因素,包括管徑、管道傾角、溫度、壓力、氣相折算速度、液相折算速度、氣相密度、液相密度、氣相黏度、液相黏度以及界面張力(由于實(shí)驗(yàn)介質(zhì)的區(qū)別在密度、黏度等參數(shù)上有所體現(xiàn),從而不考慮在內(nèi))等。
表1 不同專家學(xué)者所做兩相流持液率測(cè)試實(shí)驗(yàn)的實(shí)驗(yàn)介質(zhì)及條件Tab.1 Media and conditions used in two-phase flow holdup testing experiments by different experts and scholars
支持向量機(jī)(Support Vector Machine,SVM)是Vapnik等于1995年首先提出,因其通用性強(qiáng)、魯棒性好、計(jì)算簡(jiǎn)單,在解決模式分類和非線性回歸問(wèn)題方面達(dá)到了較好的效果[25-28]。支持向量機(jī)的基本原理是:通過(guò)建立一個(gè)分類超平面作為決策曲面,使得正類和反類距離超平面最近的樣本點(diǎn)到超平面的距離最大化。
超平面可以用下面的線性方程來(lái)描述,ωTx+b=0,其中,x是 N維空間點(diǎn),坐標(biāo)為(x1,x2,…,xn)。因此,點(diǎn)x到直線的距離為:
圖1為支持向量機(jī)數(shù)據(jù)分布示意圖,可以看出滿足該條件的決策邊界實(shí)際上是構(gòu)造了2個(gè)平行的超平面,以此作為間隔邊界來(lái)實(shí)現(xiàn)對(duì)判別樣本進(jìn)行分類的目的,在上間隔邊界以上的數(shù)據(jù)屬于正類,在下超平面邊界以下的數(shù)據(jù)屬于負(fù)類,2個(gè)平行邊界
圖1 支持向量機(jī)數(shù)據(jù)分布示意圖Fig.1 Data distribution diagram of Support Vector M achine
因此,當(dāng) ω 最小時(shí),x到直線的距離最大。同時(shí),考慮到在實(shí)際分類過(guò)程中,完全線性可分的樣本是非常少的,從而引入軟間隔的概念,允許部分?jǐn)?shù)據(jù)點(diǎn)出現(xiàn)在上下邊界之間。增加軟間隔以后,得到優(yōu)化目標(biāo)為:
其中:c為懲罰因子,無(wú)因次;ξi為松弛變量,表征軟間隔軟的程度,無(wú)因次。
為了求解上述目標(biāo)函數(shù),構(gòu)造拉格朗日函數(shù),并根據(jù)強(qiáng)對(duì)偶性,得到轉(zhuǎn)換后的函數(shù)為:
其中:λi、μi是拉格朗日乘子,ω、b、ξ為主問(wèn)題參數(shù),yi為距離第i個(gè)數(shù)據(jù)點(diǎn)最近的平面。
對(duì)主問(wèn)題參數(shù)分別求導(dǎo),帶入式(3)中,得到:
使用SMO算法求得最優(yōu)解λ*,并根據(jù)式(4)分別求得 ω,b。
最終,根據(jù)分類決策函數(shù)進(jìn)行分類求解:
式中:κ(x,xi)為核函數(shù),常用的核函數(shù)有線性核、多項(xiàng)式核、高斯核以及拉普拉斯核,本文使用高斯核,公式為 κ(x·xi)=e-g(x-xi)2,x是輸入?yún)?shù),xi是訓(xùn)練參數(shù),g是核函數(shù)參數(shù)。λ*i和b*分別是λi和b的最優(yōu)解。
在SVM算法的計(jì)算過(guò)程中,懲罰因子c和核函數(shù)參數(shù)g的尋優(yōu)過(guò)程是關(guān)鍵一步,尋優(yōu)結(jié)果的好壞直接影響著SVM 算法的計(jì)算精度。因此,下文在SVM算法的基礎(chǔ)上,采取了不同的關(guān)鍵參數(shù)搜索方法或算法,對(duì)c和g的尋優(yōu)過(guò)程進(jìn)行優(yōu)化,以達(dá)到獲得最佳的c和g的目的。
(1)K-交叉驗(yàn)證(K-Cross Validation,K-CV)
CV是用來(lái)驗(yàn)證分類器性能的一種統(tǒng)計(jì)分析方法,它將原始數(shù)據(jù)進(jìn)行分組,一部分作為訓(xùn)練集,一部分作為驗(yàn)證集。原理是先對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,得到模型,再使用驗(yàn)證集與模型預(yù)測(cè)的結(jié)果進(jìn)行對(duì)比,采用得到的準(zhǔn)確率作為分類器的性能指標(biāo)。K-CV是其中的一種方法,它將原始數(shù)據(jù)分成K組,然后輪流將每一組數(shù)據(jù)作為測(cè)試集,其他K-1組作為訓(xùn)練集,最后將K次訓(xùn)練測(cè)試的準(zhǔn)確率的平均值作為分類器性能的評(píng)價(jià)指標(biāo)。與其他CV方法相比,K-CV可有效地避免過(guò)學(xué)習(xí)和欠學(xué)習(xí)情況的發(fā)生,模擬的結(jié)果可信度較高。
(2)遺傳算法(Genetic Algorithm,GA)
GA是Holland教授模擬自然界遺傳機(jī)制和生物進(jìn)化論而提出的一種并行搜索最優(yōu)化方法[29]。它以自然界“優(yōu)勝劣汰,適者生存”的生物進(jìn)化機(jī)制為指導(dǎo),通過(guò)建立合適的適應(yīng)度函數(shù),模仿遺傳學(xué)中的選擇、交叉、變異過(guò)程,對(duì)個(gè)體進(jìn)行篩選,留下適應(yīng)度高的個(gè)體。通過(guò)不停的循環(huán)訓(xùn)練過(guò)程,生存下來(lái)的群體一代比一代優(yōu)質(zhì),直至滿足條件要求。遺傳算法計(jì)算流程如圖2[30]所示。
圖2 遺傳算法計(jì)算流程Fig.2 Genetic algorithm calculation process
(3)粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)
PSO算法最早由Kenndy和Eberhart在1995年提出,是通過(guò)模擬鳥群覓食行為而發(fā)展起來(lái)的一種基于群體協(xié)作的隨機(jī)搜索方法[31]。PSO算法的原理是:首先在可解空間中初始化一群粒子,每個(gè)粒子都有位置、速度以及適應(yīng)度值3個(gè)特征。通過(guò)適應(yīng)度函數(shù)計(jì)算粒子的個(gè)體極值Pbest和群體極值Gbest,并根據(jù)2個(gè)極值來(lái)調(diào)整位置和速度,通過(guò)不斷的調(diào)整優(yōu)化,最終得到符合條件的位置和速度。粒子群優(yōu)化算法的計(jì)算流程如圖3[30]所示。
圖3 粒子群優(yōu)化算法計(jì)算流程Fig.3 Particle swarm optim ization algorithm calculation process
通過(guò)K-交叉驗(yàn)證、遺傳算法及粒子群優(yōu)化算法對(duì)c和g的尋優(yōu)過(guò)程進(jìn)行優(yōu)化,建立相應(yīng)的持液率計(jì)算模型分別為:K-CV-SVM、GA-SVM、PSO-SVM。
隨機(jī)選取90%的數(shù)據(jù)作為訓(xùn)練集,剩余10%作為驗(yàn)證集。分別采用3套模型進(jìn)行訓(xùn)練和預(yù)測(cè),為了避免模型的隨機(jī)性計(jì)算誤差,每套模型模擬計(jì)算10次,詳細(xì)記錄每一次模擬的原始值、預(yù)測(cè)值以及計(jì)算誤差等數(shù)據(jù)。其中,計(jì)算誤差采用均絕對(duì)誤差(MAE)、均方誤差(MSE)和平均絕對(duì)百分比誤差(MAPE)3個(gè)指標(biāo)來(lái)表征,計(jì)算公式分別如下:
式中:xi為第i個(gè)預(yù)測(cè)值;yi為第i個(gè)實(shí)際值;n為數(shù)據(jù)總量。
分別取每套模型計(jì)算效果最好的數(shù)據(jù)集和計(jì)算效果最差的數(shù)據(jù)集,繪制成圖(如圖4~圖6所示)。計(jì)算精度方面:由圖4~圖6可知,3套模型的計(jì)算誤差均較小,除了少數(shù)點(diǎn)計(jì)算效果較差之外,大多數(shù)計(jì)算的結(jié)果都和原始數(shù)據(jù)非常相近。計(jì)算穩(wěn)定性方面:由圖4(b)可知,K-CV-SVM的計(jì)算結(jié)果中,出現(xiàn)了-0.34和-0.05這樣的無(wú)效點(diǎn),由于持液率是0~1之間的參數(shù),這樣的計(jì)算結(jié)果顯然是不合理的。而圖4(a)中、圖5和圖6這樣的無(wú)效點(diǎn)基本上沒(méi)有,說(shuō)明K-CV-SVM模型的計(jì)算穩(wěn)定性不如GASVM和PSO-SVM模型。
圖4 K-CV-SVM 模型的持液率計(jì)算結(jié)果Fig.4 Liquid holdup calculation results by K-CV-SVM model
圖5 GA-SVM 模型的持液率計(jì)算結(jié)果Fig.5 Liquid holdup calculation results by GA-SVM model
圖6 PSO-SVM 模型的持液率計(jì)算結(jié)果Fig.6 Liquid holdup calculation results by PSO-SVM model
表2列出了每套模型各誤差指標(biāo)的平均值和標(biāo)準(zhǔn)差,由表2可知,3套模型的計(jì)算誤差均保持在較小的范圍內(nèi),具體來(lái)說(shuō),GA-SVM 模型和PSO-SVM模型的計(jì)算誤差均值相近,明顯低于K-CV-SVM模型,表明GA-SVM模型和PSO-SVM模型的計(jì)算精度更高;對(duì)比3種參數(shù)的標(biāo)準(zhǔn)差可知,GA-SVM模型的MAE、MSE低于其他兩種模型,MAPE處于兩者之間,表明GA-SVM模型比其他兩種模型的計(jì)算穩(wěn)定性更好。因此,綜合考慮計(jì)算的精度和穩(wěn)定性,最終選擇GA-SVM 模型作為持液率計(jì)算模型的核心算法。
表2 3套模型計(jì)算結(jié)果對(duì)比Tab.2 Com parison of liquid holdup calculation results using 3 models
為了驗(yàn)證優(yōu)選出的基于GA-SVM 算法的持液率計(jì)算模型是否適用于不同傾角范圍的工況,分別對(duì)上傾管(傾角>0)、水平管(傾角=0)以及下傾管(傾角<0)模型的計(jì)算效果進(jìn)行分析,并與常用的經(jīng)驗(yàn)關(guān)系式計(jì)算模型對(duì)比。水平管的經(jīng)驗(yàn)關(guān)系式計(jì)算模型選用:Eaton模型、BB(Beggs-Brill)模型、MB模型(Mukherjee-Brill);上傾管和下傾管的經(jīng)驗(yàn)關(guān)系式計(jì)算模型選用:BB(Beggs-Brill)模型、MB模型(Mukherjee-Brill)、BBE(Beggs-Brill&Eaton)[32]。
關(guān)于經(jīng)驗(yàn)關(guān)系式計(jì)算結(jié)果的處理:持液率為0到1之間的參數(shù),為了更直觀地對(duì)數(shù)據(jù)進(jìn)行分析,對(duì)經(jīng)驗(yàn)關(guān)系式計(jì)算的過(guò)大或過(guò)?。ㄘ?fù))數(shù)據(jù)進(jìn)行數(shù)值范圍約束。當(dāng)持液率大于1時(shí)按數(shù)值1輸出,當(dāng)持液率為負(fù)值時(shí)按數(shù)值0輸出。將計(jì)算得到的數(shù)據(jù)繪制成圖,分別見(jiàn)圖7~圖9,并計(jì)算不同模型的平均誤差(以MAE作為評(píng)價(jià)指標(biāo)),匯總見(jiàn)表3。
表3 不同傾角條件下GA-SVM 模型與經(jīng)典模型計(jì)算結(jié)果對(duì)比Tab.3 Comparison of liquid holdup calculation results using GA-SVM model and classicmodels under different inclination angles of pipeline
由圖 7和表 3可知,GA-SVM 的計(jì)算誤差(MAE=0.055 8)最小,BB模型(MAE =0.123 9)和 BBE模型(MAE =0.159 3)次之,MB模型計(jì)算誤差最大(MAE =0.217 9)。GA-SVM模型計(jì)算的數(shù)據(jù)非常接近原始數(shù)據(jù),大部分計(jì)算數(shù)據(jù)和原始數(shù)據(jù)重合,表明該模型計(jì)算精度較高。其他3種模型中,BB模型的計(jì)算精度相對(duì)較好,部分?jǐn)?shù)據(jù)點(diǎn)計(jì)算效果尚可;Eaton模型除個(gè)別點(diǎn)和原始數(shù)據(jù)接近以外,大部分?jǐn)?shù)據(jù)都偏離原始數(shù)據(jù)很多,計(jì)算效果不佳;MB模型縱坐標(biāo)值為0和1的數(shù)據(jù)點(diǎn)較多,計(jì)算效果差。
圖7 上傾管GA-SVM 模型與經(jīng)典模型持液率計(jì)算值Fig.7 Comparison of liquid holdup calculation results using GA-SVM model and classicmodels under upward inclined pipe
由圖 8和表 3可知,GA-SVM 的計(jì)算誤差(MAE=0.026 7)最小,BB模型(MAE =0.059 5)和 Eaton模型(MAE =0.087 9)次之,MB模型計(jì)算誤差最大(MAE =0.190 0)。4種模型計(jì)算結(jié)果的規(guī)律與上傾管相似,但整體誤差低于上傾管。
圖8 水平管GA-SVM 模型與經(jīng)典模型持液率計(jì)算值Fig.8 Comparison of liquid holdup calculation results using GA-SVM model and classic models under horizontal pipe
由圖9和表3可知,GA-SVM的計(jì)算誤差(MAE=0.018 9)最小,BB模型(MAE =0.152 2)和 BBE模型(MAE =0.246 0)次之,MB模型計(jì)算誤差最大(MAE =0.591 9)。4種模型計(jì)算結(jié)果的規(guī)律與上傾管和水平管相似,但整體計(jì)算誤差低于上傾管和水平管。
圖9 下傾管GA-SVM 模型與經(jīng)典模型持液率計(jì)算值Fig.9 Comparison of liquid holdup calculation results using GA-SVM model and classicmodels under downward inclined pipe
綜合上述,本文建立的持液率模型在上傾管、水平管以及下傾管中都具有比Eaton、BB、MB等經(jīng)驗(yàn)關(guān)系式模型更佳的計(jì)算精度。此外,4套模型在上傾管、水平管以及下傾管中持液率的計(jì)算誤差均呈現(xiàn)逐漸降低的趨勢(shì),這是源于在實(shí)際的氣液兩相流流動(dòng)過(guò)程中,由于液相重力在不同傾角的管道中對(duì)兩相流的流動(dòng)狀態(tài)影響不同(在上傾管中重力阻礙液相向下游流動(dòng),在水平管中不影響,在下傾管中促進(jìn)液相向下游流動(dòng)),導(dǎo)致在其他實(shí)驗(yàn)參數(shù)相同的工況條件下,上傾管中持液率最高,下傾管中持液率最低,從而各模型計(jì)算的持液率數(shù)值偏離真實(shí)值的絕對(duì)值也呈現(xiàn)相應(yīng)的規(guī)律。
本文從室內(nèi)實(shí)驗(yàn)數(shù)據(jù)庫(kù)構(gòu)建和機(jī)器學(xué)習(xí)算法優(yōu)選兩方面出發(fā),雙管齊下,建立了基于GA-SVM算法的氣液兩相流持液率計(jì)算模型。該計(jì)算模型比Eaton、BB、MB等經(jīng)驗(yàn)關(guān)系式模型的計(jì)算精度更高,具有計(jì)算精度高、穩(wěn)定性強(qiáng)、適應(yīng)性廣泛的優(yōu)點(diǎn),可滿足不同工況條件下持液率計(jì)算的需求。