陳海濤 趙志杰
摘要:馬斯京根模型在河道洪水演算中發(fā)揮著重要作用,其演算精度在于參數(shù)的優(yōu)選。針對目前馬斯京根參數(shù)率定中存在的求解復雜、精度不高等問題,提出利用哈里斯鷹算法對其參數(shù)進行優(yōu)化,這種方法具有廣泛的全局搜索能力,且需要調(diào)節(jié)的參數(shù)較少。以黃河支流洛河為研究對象,利用廣義非線性馬斯京根模型對宜陽—白馬寺段的河道進行洪水演算,且分別用哈里斯鷹算法、粒子群算法和蟻群算法對其參數(shù)進行優(yōu)化。結(jié)果表明,基于哈里斯鷹算法的廣義非線性馬斯京根模型在洛河宜陽—白馬寺段的演算精度較高,其Min.SSD為1 237,洪峰誤差DPO僅為5,均優(yōu)于粒子群算法和蟻群算法優(yōu)化后的結(jié)果,其成果適合應用于洛河宜陽—白馬寺段的洪水預報工作。
關(guān)鍵詞:洪水預報;廣義非線性馬斯京根模型;哈里斯鷹算法;參數(shù)率定
中圖分類號:TV21文獻標識碼:A文章編號:1001-9235(2024)02-0060-09
Application of Harris Hawks Optimization Algorithm in Optimization of Generalized Nonlinear Muskingum Parameters
——A Case Study of the Luohe River
CHEN Haitao,ZHAO Zhijie*
(College of Water Resources,North China University of Water Resources and Electric Power,Zhengzhou 450046,China)
Abstract:The Muskingum model plays an important role in river flood simulation,and its simulation accuracy relies on the optimal selection of parameters.To address the current challenges in parameter calibration for the Muskingum model,such as complex solution processes and low accuracy,the use of the Harris Hawks optimization (HHO) algorithm was proposed to optimize its parameters.HHO algorithm has a wide range of global search capabilities,with fewer parameters to be adjusted.Taking Luohe River,a tributary of the Yellow River,as the research object,the generalized nonlinear Muskingum model was used to simulate the flood in the Yiyang-Baimasi section of the river.The parameters were optimized by employing the HHO algorithm,particle swarm optimization (PSO) algorithm,and ant colony optimization (ACO) algorithm,respectively.The results show that the generalized nonlinear Muskingum model based on the HHO algorithm achieved high simulation accuracy in the Yiyang-Baimasi section of the Luohe River,with a Min.SSD of 1 237 and the flood peak error (DPO) of only 5,outperforming those obtained through optimization using PSO algorithm and ACO algorithm.The results are suitable for application in flood forecasting in the Yiyang-Baimasi section of the Luohe River.
Keywords:flood forecasting;generalized nonlinear Muskingum model;Harris Hawks optimization (HHO) algorithm;parameter calibration
自古以來,洪水災害一直困擾著人們,導致群眾生命財產(chǎn)安全受到嚴重影響,為應對洪澇災害帶來的不利效應,人們采取了大量的措施進行防治,通常包括工程措施和非工程措施,工程措施主要包括修建堤壩、水庫,治理河道等;非工程措施主要有洪水預報、洪水調(diào)度、洪水警報等[1]。洪水預報中最重要的工作是河道洪水的演算,其方法主要有:馬斯京根法、特征河長法、經(jīng)驗槽蓄曲線法和一、二維水動力模型分析法等[2],其中馬斯京根法是最為常用的一種方法。
馬斯京根模型由McCarthy在1938年提出,以首次應用于美國的馬斯京根河而聞名。馬斯京根法是計算河道流量演算最常用的水文學方法,雖然該方法簡單,卻擁有一定的實用價值,至今都被廣泛應用。如Saeed等[3]利用三參數(shù)馬斯京根模型對Wilson洪水進行了演算;LING等[4]利用馬斯京根模型對1982年10月的Wyre River洪水、1960年12月和1969年1月的Wyre River洪水進行了演算;黃興春等[5]利用馬斯京根模型對瀘州、赤水和朱沱3站之間的河道進行了流量演算。
用馬斯京根模型來進行河道流量演算的精度取決于對其參數(shù)的估計,這也是該方法的主要難點[6]。以前常用的方法是試算法、矩法、最小面積法和最小二乘法等[7],但這些方法計算繁瑣,精確度不高,因而許多研究者開始采用智能算法[8]對其參數(shù)進行優(yōu)化。如崔東文等[9]利用MFO算法對馬斯京根模型參數(shù)進行優(yōu)化,獲得比其他文獻中相關(guān)研究更為精準的洪水擬合過程;張昊等[10]在計算馬斯京根模型參數(shù)時,對其中的流量比重系數(shù)采用SCE-UA算法進行了優(yōu)化,相較于其他傳統(tǒng)的方法,該算法計算出來的參數(shù)其結(jié)果更優(yōu),為精確估算考慮支流匯入的馬斯京根模型參數(shù)演算提供了一種很有效實用的方法,使得模型求參過程變得更加優(yōu)越和簡單化;歐陽俊等[11]在優(yōu)化非線性馬斯京根模型參數(shù)時,采用隨機分形搜索算法對其參數(shù)進行優(yōu)化,且用混沌序列來替代隨機數(shù),使得非線性馬斯京根模型的求參數(shù)過程變得更加簡便,且參數(shù)解算精度更高。
馬斯京根模型主要是由水量平衡方程和槽蓄方程聯(lián)立推導而來,在以往的研究中,大多數(shù)研究人員主要關(guān)注的是槽蓄方程的計算層面,通過選取不同的計算方法進行參數(shù)優(yōu)選,從而得到理想的結(jié)果;而最近,一些研究者開始專注于槽蓄方程的結(jié)構(gòu)層面,通過改造槽蓄方程的結(jié)構(gòu)[12],賦予馬斯京根模型更多的參數(shù),使其獲得更大的自由度,從而使洪水數(shù)據(jù)擬合結(jié)果更加準確,其適應度更強。
本文利用改造槽蓄方程結(jié)構(gòu)后的廣義非線性馬斯京根模型對洛河宜陽—白馬寺段的河道進行洪水流量演算,且通過哈里斯鷹算法對其參數(shù)進行優(yōu)化,其結(jié)果可為洛陽市的洪水預報作業(yè)提供參考依據(jù)和為其他河道洪水演進研究提供思路。
1 優(yōu)化模型
1.1 哈里斯鷹算法數(shù)學描述
哈里斯鷹算法(Harris Hawks Optimization,HHO)是由Heidari等[13]在2019年提出的,是一種模擬哈里斯鷹捕食行為的智能優(yōu)化算法,其優(yōu)點在于能夠?qū)θ诌M行廣泛的搜索,具有很快的收斂效應以及調(diào)節(jié)參數(shù)較少等,目前該算法已經(jīng)被廣泛應用于多個領(lǐng)域。哈里斯鷹算法的數(shù)學模型如下。
a)參數(shù)設(shè)置和種群初始化。設(shè)置哈里斯鷹種群規(guī)模N、所要迭代的最大次數(shù)T并進行種群初始化。假設(shè)種群規(guī)模為N的哈里斯鷹種群有(X1,X2,…,XN)T,其初始位置矩陣為為式(1):
式中 Xi,j——第i只哈里斯鷹在第j個維度相應的值;N——哈里斯鷹種群規(guī)模;d——搜索空間維數(shù)。
為了計算每只哈里斯鷹的目標適應度函數(shù)值,列出相應儲存適應度函數(shù)值的矩陣,見式(2):
b)調(diào)整每只新哈里斯鷹所處位置,同時不斷更改新捕食對象的位置與逃逸能量。哈里斯鷹在捕獵過程中,會根據(jù)捕食對象自身的逃逸能量E進行不同的捕獵行為,E的計算見式(3):
式中 E0——捕食對象的初始能量,在[-1,1]之間進行隨機取數(shù),且該數(shù)值每次迭代都將自動更新;t——迭代次數(shù);T——最大迭代次數(shù)。
c)搜索階段。當|E|≥1時,哈里斯鷹廣泛分布在不同位置進行搜尋獵物,此時隨機生成一個數(shù)q,進行如下搜索方式的選擇:
式中 X(t)——哈里斯鷹目前所在的位置;X(t+1)——哈里斯鷹下一次迭代時所處的位置;Xrand(t)——哈里斯鷹隨機選擇的位置;Xrabbit(t)——捕食對象所在位置;ub、lb——維度變量的上下限;r1、r2、r3、r4、q——[0,1]之間隨機的數(shù);Xm(t)——哈里斯鷹群體的平均位置,表達式為:
式中 Xk(t)——哈里斯鷹群體中第k個個體的位置;N——種群規(guī)模。
d)捕食階段。當|E|<1時,哈里斯鷹進行捕獵行為,根據(jù)|E|和r的隨機取值進行不同的捕獵方式,由于在以往的研究中,關(guān)于哈里斯鷹算法介紹的文獻較多,具體捕獵方式數(shù)學公式可參考相關(guān)文獻。以下僅對捕獵策略的選擇進行簡單介紹:①當0.5≤|E|<1且r≥0.5時,采用軟圍攻的方式進行捕獵;②當|E|<0.5且r≥0.5時,采取硬圍攻的方式進行捕獵;③當0.5≤|E|<1且r<0.5時,采取漸進式快速俯沖的軟包圍方式進行捕獵;④當|E|<0.5且r<0.5時,采取漸進式快速俯沖的硬包圍方式捕獵。
e)終止條件。若當前迭代次數(shù)大于等于最大迭代次數(shù),則輸出當前的最優(yōu)解,否則繼續(xù)進行搜索。
1.2 廣義非線性馬斯京根模型
廣義非線性馬斯京根模型由Omid Bozorg-Haddad等[14]提出,該模型主要針對槽蓄方程的結(jié)構(gòu)進行了改進,由原來的3個待優(yōu)化參數(shù)[15]變?yōu)楝F(xiàn)在的8個待優(yōu)化參數(shù)。廣義非線性馬斯京根模型擁有更多的自由度,在擬合數(shù)據(jù)時也具有更大的靈活性,從而在河道流量演算過程中數(shù)據(jù)擬合的更加精準。廣義非線性馬斯京根方程仍是以連續(xù)方程和槽蓄方程為基礎(chǔ)進行展開[12]。
連續(xù)方程,簡化為水量平衡方程見式(6):
式中 t——時間;S——某一河段的儲存水量;I——某一河段的來水流量;O——某一河段的出流量。
槽蓄方程如下:
S=K[XI+(1-X)O] ???(7)
式中 K——蓄流流量關(guān)系曲線的坡度,即槽蓄系數(shù);X——流量比重系數(shù),其取值范圍為[0,0.3]。
K、X 2個參數(shù)數(shù)值從某一河段的觀測入流量與觀測出流量數(shù)據(jù)中獲得。
Chow將水深h與河段的來水流量、出水流量和儲存水量建立關(guān)系,提出了式(8)—(11):
I=ahn(8)
O=ahn(9)
Sin=bhm(10)
Sout=bhm(11)
式中 a、h、b、m、n——待估計的模型參數(shù);h——水流深度;a、n——某一河段上、下游末端斷面流量-水深特征系數(shù);b、m——某一河段平均蓄水深度特征系數(shù);Sin——某一河段上游的存儲水量;Sout——某一河段下游末端的存儲水量。
將式(8)—(11)聯(lián)立起來得到式(12)、(13):
由于天然河道(河流)的斷面特征與造床流量和輸沙能力有關(guān),而天然河道(河流)上、下游的造床流量和輸沙能力各不相同,因此Bozorg-Haddad等通過以下方式改變a和n來反映河道(河流)上游和下游段之間形態(tài)變化的差異:
式中 a1、n1——某一河段上游斷面流量-水深特征系數(shù);a2、n2——某一河段下游斷面流量-水深特征系數(shù)。
將式(14)、(15)代入方程S=K[XSin+(1-X)·Sout]β,簡化后得到非線性馬斯京根模型:
S=K[X(C1Iα1)+(1-X)(C2Oα2)]β(16)
式(16)中,
由于第i和第i+1時段內(nèi)的存儲水量Sin存在一定依賴性,因此Bozorg-Haddad等在考慮了第i和第i+1時段內(nèi)Sin相互依賴關(guān)系的基礎(chǔ)上,提出了待優(yōu)化的廣義非線性馬斯京根模型:
Sin=K[X1(C1Iiα1)+X2(C1Iα1i+1)+(1-X1-X2)(C2Oiα2)]β(18)
式中 Sin——某一河段第i和第i+1時段內(nèi)的存儲水量;Ii——某一河段第i時段內(nèi)的來水量;Ii+1——某一河段第i+1時段內(nèi)的來水量;Oi——某一河段第i時段內(nèi)的出水量;C1、C2、β、α1、α2、X1、X2、K——待優(yōu)化參數(shù);C1——α1、n1、m和β的函數(shù);C2——α2、n2、m和β的函數(shù);α1——m和n1的函數(shù);α2——m和n2的函數(shù);β——考慮加權(quán)流量與存儲水量之間非線性影響的參數(shù);X1——無量綱加權(quán)因子,表示某一河段上游流入、流出量對存儲水量的相對影響;X2——無量綱加權(quán)因子,表示某一河段下游流入、流出量對存儲水量的相對影響;K——槽蓄系數(shù)。
1.3 適應度函數(shù)的確定
步驟一 估計待優(yōu)化參數(shù)C1、C2、β、α1、α2、X1、X2、K。
步驟二 用式(19)計算初始存儲水量(S0)。假定初始流出量等于初始流入量(0=I0):
步驟三 用式(20)計算在第i時段內(nèi)儲存水量體積的變化率(ΔSi/Δt):
步驟四 用式(21)計算第i時段內(nèi)的存儲水量:
步驟五 用式(22)計算第i時段內(nèi)的河段出流量(?i):
步驟六 選取式(23)、(24)作為目標函數(shù)來估計廣義非線性馬斯京根模型參數(shù)優(yōu)化效果:
其中 Oi——第i時段內(nèi)的實測出流量;?i——第i時段內(nèi)的演算出流量;SSD——實測出流量與演算出流量差值的平方和;OP——實測流量的峰值;?P——演算流量的峰值;DPO——洪峰誤差。
1.4 HHO算法優(yōu)化廣義非線性馬斯京根模型參數(shù)步驟
步驟一 初始化算法參數(shù)。設(shè)置最大迭代次數(shù)T、哈里斯鷹種群規(guī)模N、搜索空間維數(shù)d;本文設(shè)置最大迭代次數(shù)為200,哈里斯鷹種群規(guī)模為300,搜索空間維數(shù)為8,令當前迭代次數(shù)t=0。
步驟二 設(shè)定待優(yōu)化參數(shù)C1、C2、β、α1、α2、X1、X2、K的搜尋范圍和算法迭代終止條件;文本待優(yōu)化參數(shù)搜尋范圍分別設(shè)置為C1∈[0,1]、C2∈[0,1]、β∈[0,10]、α1∈[0,10]、α2∈[0,10]、X1∈[0,1]、X2∈[0,1]、K∈[0,1],算法迭代終止條件為當前迭代次數(shù)t大于等于最大迭代次數(shù)T。
步驟三 確定HHO算法的適應度函數(shù)。適應度函數(shù)是描述種群個體優(yōu)劣程度的主要指標,本文選用式(23)、(24)為目標適應度函數(shù)。
步驟四 適應度函數(shù)計算。計算哈里斯鷹種群中所有個體的適應度值,并確定每只哈里斯鷹的索引位置,與捕食對象適應度值進行比較,若哈里斯鷹個體適應度值優(yōu)于捕食對象,則以適應度值更優(yōu)的個體位置作為新的捕食對象位置。
步驟五 利用式(3)—(5)及捕獵行為不斷更新哈里斯鷹所處位置,找到目前哈里斯鷹最好索引位置。判斷算法是否達到迭代終止條件,若達到終止條件,則轉(zhuǎn)至步驟六,否則重復執(zhí)行步驟三—四。
步驟六 輸出最好哈里斯鷹個體索引位置C1、C2、β、α1、α2、X1、X2、K的值和適應度函數(shù)Min.SSD和DPO,算法結(jié)束。
2 算法驗證
本文選取Sphere函數(shù)(式(25))和Ackley函數(shù)(式(26))對HHO、PSO[16]和ACO[17]算法進行測試分析,為了使得算法計算結(jié)果精度更高,每個函數(shù)均連續(xù)運行30次。其中,Sphere函數(shù)維數(shù)為30,搜索范圍為[-100,100],Ackley函數(shù)維數(shù)為30,搜索范圍為[-32,32]。設(shè)定各個算法的種群大小為50,總的迭代次數(shù)為200,分別用HHO、PSO和ACO算法對以上2個函數(shù)進行測試,計算結(jié)果見表1。
同時,為了驗證HHO算法在廣義非線性馬斯京根模型參數(shù)優(yōu)化中的可行性與有效性,本文用3種算法對廣義非線性馬斯京根模型參數(shù)分別進行了優(yōu)化,并將其優(yōu)化后的模型分別應用到洛河宜陽—白馬寺段的洪水預報過程中,對比3種算法的Min.SSD和DPO,計算結(jié)果見“3.3結(jié)果與討論”部分。
由表1可見,相較于PSO和ACO算法,HHO算法在最優(yōu)解計算過程中尋優(yōu)精度更高。
3 實例應用
3.1 研究區(qū)域概況
本文研究對象是黃河流域伊洛河水系洛河[18],該河流經(jīng)河南省境內(nèi)兩大水文站:宜陽水文站和白馬寺水文站(圖1)。宜陽水文站位于河南省洛陽市宜陽縣,介于東經(jīng)111°45′~112°26′,北緯34°16′~34°42′,屬暖溫帶大陸性季風氣候,多年平均氣溫14.8 ℃,年降水量500~800 mm,多年平均蒸發(fā)量1 200 mm;白馬寺水文站位于河南省洛陽市白馬寺鎮(zhèn),地處東經(jīng)112°35′,北緯34°43′,屬暖溫帶大陸性季風氣候,年均氣溫12.2~24.6 ℃,年降水量約530~800 mm,年日照約2 200~2 300 h,年均濕度60%~70%。本文基于宜陽水文站和白馬寺水文站的實測流量資料,利用哈里斯鷹算法優(yōu)化廣義非線性馬斯京根模型的參數(shù)。
3.2 數(shù)據(jù)來源
基于宜陽、白馬寺水文站2011年9月18日16時至9月20日20時實測洪水流量資料(表2),利用哈里斯鷹算法、粒子群算法和蟻群算法分別對廣義非線性馬斯京根模型中的流量演算系數(shù)進行優(yōu)化,并對最終的演算結(jié)果精度進行分析評價。
3.3 結(jié)果與討論
a)參數(shù)率定。利用3種算法分別對廣義非線性馬斯京根模型中的參數(shù)進行多次優(yōu)化,得到廣義非線性馬斯京根模型參數(shù)最優(yōu)優(yōu)化結(jié)果,見表3。
b)參數(shù)檢驗。將廣義非線性馬斯京根模型參數(shù)優(yōu)化結(jié)果帶入到式(19)—(24),經(jīng)多次調(diào)試,得到不同算法的最優(yōu)演算出流過程,見表4;演算結(jié)果分析,見表5;以及演算效果,見圖2。同時,為了對比不同算法在尋優(yōu)過程中的效率情況,繪制了迭代收斂曲線圖,見圖3。
由表4、5可知,HHO算法的最小演算離差值為0,PSO算法和ACO算法的最小演算離差值為1,三者的最小離差值相差很小,但HHO算法的最大演算離差值為14,均小于PSO算法的18和ACO算法的20,HHO算法的平均絕對離差值為5.4,均小于PSO算法的9.3和ACO算法的10.1,因此,從演算離差值角度來看,HHO算法均優(yōu)于PSO算法和ACO算法,說明HHO算法具有良好的優(yōu)化性能。
由表5和圖2可知,HHO算法的Min.SSD值為1 237,均優(yōu)于PSO算法的3 112和ACO算法的3 533,特別是洪峰位置處,HHO算法的演算流量與實測流量最為接近,誤差DPO僅為5,均優(yōu)于PSO算法的14和ACO算法的17,且峰現(xiàn)時間基本一致。
從圖3可以看出,HHO算法收斂速度最快,在迭代次數(shù)不到60時便達到了最優(yōu)值,且計算精度高于其他幾種算法。
故證明基于哈里斯鷹算法的廣義非線性馬斯京根模型在洛河宜陽—白馬寺段的流量演算效果更為精準,因此,本文研究結(jié)果適合應用于洛河宜陽—白馬寺段的洪水預報工作。