?

哈里斯鷹算法在廣義非線性馬斯京根參數優化中的應用

2024-03-26 09:52陳海濤趙志杰
人民珠江 2024年2期

陳海濤 趙志杰

摘要:馬斯京根模型在河道洪水演算中發揮著重要作用,其演算精度在于參數的優選。針對目前馬斯京根參數率定中存在的求解復雜、精度不高等問題,提出利用哈里斯鷹算法對其參數進行優化,這種方法具有廣泛的全局搜索能力,且需要調節的參數較少。以黃河支流洛河為研究對象,利用廣義非線性馬斯京根模型對宜陽—白馬寺段的河道進行洪水演算,且分別用哈里斯鷹算法、粒子群算法和蟻群算法對其參數進行優化。結果表明,基于哈里斯鷹算法的廣義非線性馬斯京根模型在洛河宜陽—白馬寺段的演算精度較高,其Min.SSD為1 237,洪峰誤差DPO僅為5,均優于粒子群算法和蟻群算法優化后的結果,其成果適合應用于洛河宜陽—白馬寺段的洪水預報工作。

關鍵詞:洪水預報;廣義非線性馬斯京根模型;哈里斯鷹算法;參數率定

中圖分類號: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

自古以來,洪水災害一直困擾著人們,導致群眾生命財產安全受到嚴重影響,為應對洪澇災害帶來的不利效應,人們采取了大量的措施進行防治,通常包括工程措施和非工程措施,工程措施主要包括修建堤壩、水庫,治理河道等;非工程措施主要有洪水預報、洪水調度、洪水警報等[1。洪水預報中最重要的工作是河道洪水的演算,其方法主要有:馬斯京根法、特征河長法、經驗槽蓄曲線法和一、二維水動力模型分析法等[2,其中馬斯京根法是最為常用的一種方法。

馬斯京根模型由McCarthy在1938年提出,以首次應用于美國的馬斯京根河而聞名。馬斯京根法是計算河道流量演算最常用的水文學方法,雖然該方法簡單,卻擁有一定的實用價值,至今都被廣泛應用。如Saeed等[3利用三參數馬斯京根模型對Wilson洪水進行了演算;LING等[4利用馬斯京根模型對1982年10月的Wyre River洪水、1960年12月和1969年1月的Wyre River洪水進行了演算;黃興春等[5利用馬斯京根模型對瀘州、赤水和朱沱3站之間的河道進行了流量演算。

用馬斯京根模型來進行河道流量演算的精度取決于對其參數的估計,這也是該方法的主要難點[6。以前常用的方法是試算法、矩法、最小面積法和最小二乘法等7,但這些方法計算繁瑣,精確度不高,因而許多研究者開始采用智能算法8對其參數進行優化。如崔東文等9利用MFO算法對馬斯京根模型參數進行優化,獲得比其他文獻中相關研究更為精準的洪水擬合過程;張昊等[10在計算馬斯京根模型參數時,對其中的流量比重系數采用SCE-UA算法進行了優化,相較于其他傳統的方法,該算法計算出來的參數其結果更優,為精確估算考慮支流匯入的馬斯京根模型參數演算提供了一種很有效實用的方法,使得模型求參過程變得更加優越和簡單化;歐陽俊等[11在優化非線性馬斯京根模型參數時,采用隨機分形搜索算法對其參數進行優化,且用混沌序列來替代隨機數,使得非線性馬斯京根模型的求參數過程變得更加簡便,且參數解算精度更高。

馬斯京根模型主要是由水量平衡方程和槽蓄方程聯立推導而來,在以往的研究中,大多數研究人員主要關注的是槽蓄方程的計算層面,通過選取不同的計算方法進行參數優選,從而得到理想的結果;而最近,一些研究者開始專注于槽蓄方程的結構層面,通過改造槽蓄方程的結構[12,賦予馬斯京根模型更多的參數,使其獲得更大的自由度,從而使洪水數據擬合結果更加準確,其適應度更強。

本文利用改造槽蓄方程結構后的廣義非線性馬斯京根模型對洛河宜陽—白馬寺段的河道進行洪水流量演算,且通過哈里斯鷹算法對其參數進行優化,其結果可為洛陽市的洪水預報作業提供參考依據和為其他河道洪水演進研究提供思路。

1 優化模型

1.1 哈里斯鷹算法數學描述

哈里斯鷹算法(Harris Hawks Optimization,HHO)是由Heidari等[13在2019年提出的,是一種模擬哈里斯鷹捕食行為的智能優化算法,其優點在于能夠對全局進行廣泛的搜索,具有很快的收斂效應以及調節參數較少等,目前該算法已經被廣泛應用于多個領域。哈里斯鷹算法的數學模型如下。

a)參數設置和種群初始化。設置哈里斯鷹種群規模N、所要迭代的最大次數T并進行種群初始化。假設種群規模為N的哈里斯鷹種群有(X1,X2,…,XNT,其初始位置矩陣為為式(1):

式中 Xi,j——第i只哈里斯鷹在第j個維度相應的值;N——哈里斯鷹種群規模;d——搜索空間維數。

為了計算每只哈里斯鷹的目標適應度函數值,列出相應儲存適應度函數值的矩陣,見式(2):

b)調整每只新哈里斯鷹所處位置,同時不斷更改新捕食對象的位置與逃逸能量。哈里斯鷹在捕獵過程中,會根據捕食對象自身的逃逸能量E進行不同的捕獵行為,E的計算見式(3):

式中 E0——捕食對象的初始能量,在[-1,1]之間進行隨機取數,且該數值每次迭代都將自動更新;t——迭代次數;T——最大迭代次數。

c)搜索階段。當|E|≥1時,哈里斯鷹廣泛分布在不同位置進行搜尋獵物,此時隨機生成一個數q,進行如下搜索方式的選擇:

式中 X(t)——哈里斯鷹目前所在的位置;X(t+1)——哈里斯鷹下一次迭代時所處的位置;Xrand(t)——哈里斯鷹隨機選擇的位置;Xrabbit(t)——捕食對象所在位置;ub、lb——維度變量的上下限;r1、r2、r3、r4、q——[0,1]之間隨機的數;Xm(t)——哈里斯鷹群體的平均位置,表達式為:

式中 Xk(t)——哈里斯鷹群體中第k個個體的位置;N——種群規模。

d)捕食階段。當|E|<1時,哈里斯鷹進行捕獵行為,根據|E|和r的隨機取值進行不同的捕獵方式,由于在以往的研究中,關于哈里斯鷹算法介紹的文獻較多,具體捕獵方式數學公式可參考相關文獻。以下僅對捕獵策略的選擇進行簡單介紹:①當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)終止條件。若當前迭代次數大于等于最大迭代次數,則輸出當前的最優解,否則繼續進行搜索。

1.2 廣義非線性馬斯京根模型

廣義非線性馬斯京根模型由Omid Bozorg-Haddad等[14提出,該模型主要針對槽蓄方程的結構進行了改進,由原來的3個待優化參數[15變為現在的8個待優化參數。廣義非線性馬斯京根模型擁有更多的自由度,在擬合數據時也具有更大的靈活性,從而在河道流量演算過程中數據擬合的更加精準。廣義非線性馬斯京根方程仍是以連續方程和槽蓄方程為基礎進行展開[12。

連續方程,簡化為水量平衡方程見式(6):

式中 t——時間;S——某一河段的儲存水量;I——某一河段的來水流量;O——某一河段的出流量。

槽蓄方程如下:

S=K[XI+(1-X)O] ???(7)

式中 K——蓄流流量關系曲線的坡度,即槽蓄系數;X——流量比重系數,其取值范圍為[0,0.3]。

K、X 2個參數數值從某一河段的觀測入流量與觀測出流量數據中獲得。

Chow將水深h與河段的來水流量、出水流量和儲存水量建立關系,提出了式(8)—(11):

I=ahn(8)

O=ahn(9)

Sin=bhm(10)

Sout=bhm(11)

式中 a、h、b、m、n——待估計的模型參數;h——水流深度;a、n——某一河段上、下游末端斷面流量-水深特征系數;b、m——某一河段平均蓄水深度特征系數;Sin——某一河段上游的存儲水量;Sout——某一河段下游末端的存儲水量。

將式(8)—(11)聯立起來得到式(12)、(13):

由于天然河道(河流)的斷面特征與造床流量和輸沙能力有關,而天然河道(河流)上、下游的造床流量和輸沙能力各不相同,因此Bozorg-Haddad等通過以下方式改變a和n來反映河道(河流)上游和下游段之間形態變化的差異:

式中 a1、n1——某一河段上游斷面流量-水深特征系數;a2、n2——某一河段下游斷面流量-水深特征系數。

將式(14)、(15)代入方程S=K[XSin+(1-X)·Soutβ,簡化后得到非線性馬斯京根模型:

S=K[X(C1Iα1)+(1-X)(C2Oα2)]β(16)

式(16)中,

由于第i和第i+1時段內的存儲水量Sin存在一定依賴性,因此Bozorg-Haddad等在考慮了第i和第i+1時段內Sin相互依賴關系的基礎上,提出了待優化的廣義非線性馬斯京根模型:

Sin=K[X1(C1Iiα1)+X2(C1Iα1i+1)+(1-X1-X2)(C2Oiα2)]β(18)

式中 Sin——某一河段第i和第i+1時段內的存儲水量;Ii——某一河段第i時段內的來水量;Ii+1——某一河段第i+1時段內的來水量;Oi——某一河段第i時段內的出水量;C1、C2、β、α1、α2、X1、X2、K——待優化參數;C1——α1、n1、m和β的函數;C2——α2、n2、m和β的函數;α1——m和n1的函數;α2——m和n2的函數;β——考慮加權流量與存儲水量之間非線性影響的參數;X1——無量綱加權因子,表示某一河段上游流入、流出量對存儲水量的相對影響;X2——無量綱加權因子,表示某一河段下游流入、流出量對存儲水量的相對影響;K——槽蓄系數。

1.3 適應度函數的確定

步驟一 估計待優化參數C1、C2、β、α1、α2、X1、X2、K。

步驟二 用式(19)計算初始存儲水量(S0)。假定初始流出量等于初始流入量(0=I0):

步驟三 用式(20)計算在第i時段內儲存水量體積的變化率(ΔSi/Δt):

步驟四 用式(21)計算第i時段內的存儲水量:

步驟五 用式(22)計算第i時段內的河段出流量(?i):

步驟六 選取式(23)、(24)作為目標函數來估計廣義非線性馬斯京根模型參數優化效果:

其中 Oi——第i時段內的實測出流量;?i——第i時段內的演算出流量;SSD——實測出流量與演算出流量差值的平方和;OP——實測流量的峰值;?P——演算流量的峰值;DPO——洪峰誤差。

1.4 HHO算法優化廣義非線性馬斯京根模型參數步驟

步驟一 初始化算法參數。設置最大迭代次數T、哈里斯鷹種群規模N、搜索空間維數d;本文設置最大迭代次數為200,哈里斯鷹種群規模為300,搜索空間維數為8,令當前迭代次數t=0。

步驟二 設定待優化參數C1、C2、β、α1、α2、X1、X2、K的搜尋范圍和算法迭代終止條件;文本待優化參數搜尋范圍分別設置為C1∈[0,1]、C2∈[0,1]、β∈[0,10]、α1∈[0,10]、α2∈[0,10]、X1∈[0,1]、X2∈[0,1]、K∈[0,1],算法迭代終止條件為當前迭代次數t大于等于最大迭代次數T。

步驟三 確定HHO算法的適應度函數。適應度函數是描述種群個體優劣程度的主要指標,本文選用式(23)、(24)為目標適應度函數。

步驟四 適應度函數計算。計算哈里斯鷹種群中所有個體的適應度值,并確定每只哈里斯鷹的索引位置,與捕食對象適應度值進行比較,若哈里斯鷹個體適應度值優于捕食對象,則以適應度值更優的個體位置作為新的捕食對象位置。

步驟五 利用式(3)—(5)及捕獵行為不斷更新哈里斯鷹所處位置,找到目前哈里斯鷹最好索引位置。判斷算法是否達到迭代終止條件,若達到終止條件,則轉至步驟六,否則重復執行步驟三—四。

步驟六 輸出最好哈里斯鷹個體索引位置C1、C2、β、α1、α2、X1、X2、K的值和適應度函數Min.SSD和DPO,算法結束。

2 算法驗證

本文選取Sphere函數(式(25))和Ackley函數(式(26))對HHO、PSO[16和ACO[17算法進行測試分析,為了使得算法計算結果精度更高,每個函數均連續運行30次。其中,Sphere函數維數為30,搜索范圍為[-100,100],Ackley函數維數為30,搜索范圍為[-32,32]。設定各個算法的種群大小為50,總的迭代次數為200,分別用HHO、PSO和ACO算法對以上2個函數進行測試,計算結果見表1。

同時,為了驗證HHO算法在廣義非線性馬斯京根模型參數優化中的可行性與有效性,本文用3種算法對廣義非線性馬斯京根模型參數分別進行了優化,并將其優化后的模型分別應用到洛河宜陽—白馬寺段的洪水預報過程中,對比3種算法的Min.SSD和DPO,計算結果見“3.3結果與討論”部分。

由表1可見,相較于PSO和ACO算法,HHO算法在最優解計算過程中尋優精度更高。

3 實例應用

3.1 研究區域概況

本文研究對象是黃河流域伊洛河水系洛河[18,該河流經河南省境內兩大水文站:宜陽水文站和白馬寺水文站(圖1)。宜陽水文站位于河南省洛陽市宜陽縣,介于東經111°45′~112°26′,北緯34°16′~34°42′,屬暖溫帶大陸性季風氣候,多年平均氣溫14.8 ℃,年降水量500~800 mm,多年平均蒸發量1 200 mm;白馬寺水文站位于河南省洛陽市白馬寺鎮,地處東經112°35′,北緯34°43′,屬暖溫帶大陸性季風氣候,年均氣溫12.2~24.6 ℃,年降水量約530~800 mm,年日照約2 200~2 300 h,年均濕度60%~70%。本文基于宜陽水文站和白馬寺水文站的實測流量資料,利用哈里斯鷹算法優化廣義非線性馬斯京根模型的參數。

3.2 數據來源

基于宜陽、白馬寺水文站2011年9月18日16時至9月20日20時實測洪水流量資料(表2),利用哈里斯鷹算法、粒子群算法和蟻群算法分別對廣義非線性馬斯京根模型中的流量演算系數進行優化,并對最終的演算結果精度進行分析評價。

3.3 結果與討論

a)參數率定。利用3種算法分別對廣義非線性馬斯京根模型中的參數進行多次優化,得到廣義非線性馬斯京根模型參數最優優化結果,見表3。

b)參數檢驗。將廣義非線性馬斯京根模型參數優化結果帶入到式(19)—(24),經多次調試,得到不同算法的最優演算出流過程,見表4;演算結果分析,見表5;以及演算效果,見圖2。同時,為了對比不同算法在尋優過程中的效率情況,繪制了迭代收斂曲線圖,見圖3。

由表4、5可知,HHO算法的最小演算離差值為0,PSO算法和ACO算法的最小演算離差值為1,三者的最小離差值相差很小,但HHO算法的最大演算離差值為14,均小于PSO算法的18和ACO算法的20,HHO算法的平均絕對離差值為5.4,均小于PSO算法的9.3和ACO算法的10.1,因此,從演算離差值角度來看,HHO算法均優于PSO算法和ACO算法,說明HHO算法具有良好的優化性能。

由表5和圖2可知,HHO算法的Min.SSD值為1 237,均優于PSO算法的3 112和ACO算法的3 533,特別是洪峰位置處,HHO算法的演算流量與實測流量最為接近,誤差DPO僅為5,均優于PSO算法的14和ACO算法的17,且峰現時間基本一致。

從圖3可以看出,HHO算法收斂速度最快,在迭代次數不到60時便達到了最優值,且計算精度高于其他幾種算法。

故證明基于哈里斯鷹算法的廣義非線性馬斯京根模型在洛河宜陽—白馬寺段的流量演算效果更為精準,因此,本文研究結果適合應用于洛河宜陽—白馬寺段的洪水預報工作。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合