王夢(mèng)娜,王秋萍,王曉峰
(西安理工大學(xué) 理學(xué)院,西安 710054)
河道洪水演算是根據(jù)河道上游水情推求下游水情的一種洪水預(yù)報(bào)方法,在防洪規(guī)劃和水庫(kù)調(diào)洪計(jì)算中有著重要的作用.馬斯京根模型是自然河道和河流中最常用的洪水演算方法之一,它是美國(guó)著名科學(xué)家McCarthy GT在1938年研究了馬斯京根河流域后首次提出的[1].采用馬斯京根模型進(jìn)行洪水演算時(shí),由于參數(shù)值不能從歷史入流和出流水文圖得到,所以模型的參數(shù)估計(jì)問(wèn)題成為最重要的任務(wù).求解馬斯京根模型參數(shù)的傳統(tǒng)方法有試錯(cuò)法[2]、最小二乘法[3]和非線性規(guī)劃法[4]等,這些方法在實(shí)際應(yīng)用中計(jì)算過(guò)程復(fù)雜,不具有足夠的穩(wěn)定性和高效性.因此,近年來(lái)許多學(xué)者將智能優(yōu)化算法應(yīng)用于馬斯京根模型參數(shù)估計(jì),并取得了較好的優(yōu)化效果,如遺傳算法[5]、差分進(jìn)化算法(DE)[6]、入侵雜草優(yōu)化算法[7]、飛蛾火焰算法[8]和免疫克隆選擇算法[9]等.然而,由于馬斯京根模型本身的近似性及這些算法存在早熟收斂和易陷入局部極值等問(wèn)題,使得洪水演算的精度并不十分理想.
受自然界中灰狼的社會(huì)等級(jí)制度和捕食行為的啟發(fā),學(xué)者 Mirjalili S 等人[10]在 2014 年提出了一種新型元啟發(fā)式算法,稱為灰狼優(yōu)化算法 (Grey Wolf Optimizer,GWO).算法的優(yōu)點(diǎn)主要是結(jié)構(gòu)簡(jiǎn)單、需要設(shè)置的參數(shù)少和在實(shí)驗(yàn)編碼中容易實(shí)現(xiàn)等,且研究結(jié)果表明其優(yōu)化性能優(yōu)于DE算法、PSO算法和引力搜索算法.然而,基本GWO算法存在依賴初始種群、易陷入局部最優(yōu)和難以協(xié)調(diào)其探索和開(kāi)發(fā)能力等缺點(diǎn),針對(duì)這些缺點(diǎn),本文對(duì)基本GWO算法進(jìn)行了改進(jìn),利用混沌Chebyshev映射產(chǎn)生初始灰狼種群,增強(qiáng)全局搜索過(guò)程中的種群多樣性;給出一種隨機(jī)分布調(diào)整收斂因子策略,以平衡算法的全局搜索和局部搜索能力.采用7個(gè)基準(zhǔn)測(cè)試函數(shù)對(duì)比仿真驗(yàn)證了改進(jìn)GWO算法(IGWO)的有效性.最后用IGWO算法來(lái)估計(jì)馬斯京根模型中的參數(shù),對(duì)1961年稱溝灣至臨清段洪水進(jìn)行演算,與現(xiàn)有的其它參數(shù)估計(jì)方法進(jìn)行了對(duì)比分析.
式 (1)中,W為河段的槽蓄量,t為時(shí)間,I和Q分別為河段的入流量和出流量,x為流量比重因子,K為槽蓄系數(shù).
式(1)的差分解為
根據(jù)式(2)、(3)建立馬斯京根模型的參數(shù)優(yōu)化模型,優(yōu)化模型如下:
式(5)中p(g3(C0,C1))為懲罰項(xiàng),當(dāng)g3滿足時(shí)取0,否則取1 08.
GWO算法[10]是通過(guò)模擬自然界中灰狼群體的社會(huì)等級(jí)機(jī)制和捕食行為而提出的一種新型群體智能優(yōu)化算法.灰狼種群具有嚴(yán)格的等級(jí)制度,如圖1所示.
這樣的念頭在我的腦海里已經(jīng)有一段日子。盡管這樣,我還是很認(rèn)真地去備課;盡管這樣,我還是懷著一顆平和的心去上課。我想,只要自己做好一名老師該做的事,錯(cuò)的就不應(yīng)該是我。只要我盡力了,我便問(wèn)心無(wú)愧。
圖1 灰狼等級(jí)示意圖
圖1中,α是最高級(jí)別的灰狼,β是α的下屬灰狼,δ服從α及β的命令,等級(jí)最低的灰狼稱為ω.灰狼群體嚴(yán)格的社會(huì)等級(jí)機(jī)制在實(shí)現(xiàn)群體高效捕殺獵物的過(guò)程中發(fā)揮著至關(guān)重要的作用.在捕食獵物時(shí),群體中其它灰狼在頭狼α的帶領(lǐng)下有組織地對(duì)獵物進(jìn)行圍攻.首先,狼群通過(guò)氣味等信息追蹤、靠近獵物;然后,狼群包圍獵物,直到獵物停止移動(dòng);最后,攻擊獵物.
假設(shè)灰狼種群數(shù)目為N,灰狼的位置為X.群體最優(yōu)解為α,次優(yōu)解為β,第三最優(yōu)解為δ,其它個(gè)體為ω.則灰狼捕食行為的數(shù)學(xué)模型描述如下:
其中,t表示當(dāng)前迭代次數(shù),A和C是系數(shù)向量,Xp是獵物的位置向量,X是灰狼的位置向量.
其中,r1和r2均是[0,1]之間的隨機(jī)數(shù),a是收斂因子,隨著迭代次數(shù)從2線性遞減到0.
種群中其它灰狼的位置由α、β和δ的位置共同決定:
GWO算法自提出以來(lái)已在許多領(lǐng)域得到了應(yīng)用,但其仍存在依賴初始種群和易陷入局部最優(yōu)的缺點(diǎn).為了解決這些問(wèn)題,對(duì)基本GWO算法作如下改進(jìn):
(1)混沌種群初始化
基本GWO算法在搜索空間中隨機(jī)初始化灰狼種群,容易造成灰狼位置分布不均勻,導(dǎo)致種群多樣性差.混沌映射具有較好的遍歷性和不重復(fù)性,因此可以用來(lái)代替種群隨機(jī)初始化.本文采用Chebyshev混沌映射產(chǎn)生灰狼種群的初始位置,映射方程[11]為:
式(12)中k為階次,當(dāng)k≥2時(shí)無(wú)論初始值選擇如何接近,迭代出來(lái)的序列在此范圍內(nèi)都是混沌和遍歷的.
(2)隨機(jī)分布調(diào)整收斂因子
由文獻(xiàn)[10]可知,當(dāng)|A|>1 時(shí),灰狼群體將擴(kuò)大搜索范圍尋找獵物,即全局搜索;當(dāng)|A|<1 時(shí),灰狼群體將收縮搜索范圍對(duì)獵物進(jìn)行攻擊,即局部搜索.因此,A的大小與GWO算法的全局搜索和局部搜索能力有很大關(guān)系.由公式(8)可以看出,A隨著收斂因子a的變化而變化.
若將收斂因子a設(shè)定為服從某種分布的隨機(jī)數(shù),利用隨機(jī)變量的特性調(diào)整控制參數(shù),既能在進(jìn)化初期有機(jī)會(huì)取得較大或較小的值,又能在進(jìn)化后期取得較小或較大的值,從而協(xié)調(diào)GWO算法的探索和開(kāi)發(fā)能力.基于上述分析,受文獻(xiàn)[12]的啟發(fā),本文提出一種隨機(jī)分布調(diào)整收斂因子策略:
式(13)中,amax、amin是收斂因子的最大值和最小值,rand()是[0,1]均勻分布的隨機(jī)數(shù),randn()是正態(tài)分布的隨機(jī)數(shù),σ是標(biāo)準(zhǔn)差.
為了驗(yàn)證IGWO算法的性能,利用其對(duì)國(guó)際上通用的7個(gè)經(jīng)典測(cè)試函數(shù)進(jìn)行求解,并與基本GWO算法、PSO算法和細(xì)菌覓食算法(BFA)進(jìn)行對(duì)比,比較結(jié)果如表1所示.其中PSO算法是通過(guò)模擬自然界鳥(niǎo)群覓食行為來(lái)尋找最優(yōu)解的一種演化算法.BFA算法是基于大腸桿菌覓食行為提出的一種仿生類群體智能算法.同時(shí)給出了Sphere函數(shù)和Ackley函數(shù)的收斂曲線圖,如圖2和圖3所示.
算法的參數(shù)設(shè)置:各算法的種群規(guī)模均為30,最大迭代次數(shù)為500,PSO算法中粒子速度Vmax=5,c1=c2=0.5;BFA算法中最大趨化代數(shù)Nc=20,最大前進(jìn)步數(shù)Ns=4,復(fù)制操作執(zhí)行次數(shù)Nre=10,遷徙操作執(zhí)行次數(shù)Ned=2,遷徙概率Ped=0.25.
表1 4 種進(jìn)化算法結(jié)果比較
從表1的數(shù)據(jù)結(jié)果可以看出,在種群規(guī)模和最大迭代次數(shù)設(shè)置相同的情況下,與基本GWO算法、PSO算法和BFA算法相比,IGWO算法在7個(gè)測(cè)試函數(shù)上均表現(xiàn)出了較好的尋優(yōu)性能,收斂精度有較大的提高,特別是 Rastrigin 函數(shù)收斂到了理論最優(yōu)值.從圖2和圖3可以看出,IGWO算法具有更高的求解精度和更快的收斂速度.
下面驗(yàn)證Chebyshev混沌初始化策略對(duì)算法性能的影響.圖4和圖5給出了Schwefel 1.2函數(shù)和Quartic函數(shù)在不同初始化策略下的收斂曲線,GWO表示隨機(jī)初始化種群,Chebyshev-GWO 表示 Chebyshev 混沌初始化.從圖4和圖5可以看出,本文所采用的Chebyshev映射初始化種群策略,有效地提高了算法的收斂精度和收斂速度.
此外,討論文中給出的隨機(jī)調(diào)整收斂因子策略對(duì)算法性能的影響.圖6和圖7是Schwefel 2.22函數(shù)和Ackley函數(shù)采用不同收斂因子時(shí)的收斂曲線,GWO表示收斂因子線性遞減的GWO算法,a-GWO表示隨機(jī)調(diào)整收斂因子的GWO算法.從圖6和圖7可以看出,本文提出的隨機(jī)調(diào)整收斂因子策略能有效地提高算法的收斂精度.
圖2 Sphere 函數(shù)收斂曲線
圖3 Ackley 函數(shù)收斂曲線
圖4 Schwefel 1.2 函數(shù)在不同初始化策略下的收斂曲線
利用改進(jìn)的灰狼優(yōu)化算法(IGWO)估計(jì)馬斯京根模型參數(shù)時(shí),每頭灰狼的位置對(duì)應(yīng)一組解,以實(shí)際流量和演算流量的最小絕對(duì)誤差和為目標(biāo)函數(shù),運(yùn)用IGWO對(duì)目標(biāo)函數(shù)進(jìn)行求解,即以式(5)作為目標(biāo)函數(shù),尋找f的最小值,對(duì)應(yīng)于最優(yōu)準(zhǔn)則函數(shù)值.灰狼的個(gè)體位置為一個(gè)2維矢量X=(xi1,xi2),其中i=1,2,···,N代表種群數(shù)目,2 代表所要估計(jì)的兩個(gè)參數(shù),即C0和C1.算法的具體執(zhí)行步驟如下:
圖5 Quartic函數(shù)在不同初始化策略下的收斂曲線
圖6 Schwefel 2.22 函數(shù)在不同收斂因子下的收斂曲線
圖7 Ackley函數(shù)在不同收斂因子下的收斂曲線
Step1.設(shè)置種群規(guī)模N=30,維數(shù)dim=2,最大迭代次數(shù)tmax=500,搜索區(qū)間為[0,1],隨機(jī)生成a、A、C等參數(shù).
Step2.利用Chebyshev混沌映射策略初始化灰狼種群;
Step3.將式(5)設(shè)置為適應(yīng)度函數(shù),計(jì)算種群中所有灰狼個(gè)體的適應(yīng)度值,選擇前三個(gè)最好的狼,記錄其位置Xα、Xβ和Xδ;
Step4.利用公式(10)和(11)更新種群中其它灰狼個(gè)體的位置;
Step5.利用公式(13)計(jì)算a,然后利用公式(8)和(9)更新A,C的值;
Step6.判斷算法是否滿足結(jié)束條件,若達(dá)到預(yù)定的最大迭代次數(shù)tmax,則停止計(jì)算,輸出最優(yōu)位置Xα和最優(yōu)函數(shù)值;否則,重復(fù)執(zhí)行 Step3–Step5.
表2 馬斯京根模型出流量演算結(jié)果單位:(m3·s–1)
以南運(yùn)河稱溝灣至臨清河段1961年8月的一次洪水過(guò)程的流量演算為例(該河段長(zhǎng)83.8 km,中間支流影響不明顯),數(shù)據(jù)來(lái)源于文獻(xiàn)[9],演算時(shí)段Δt取12 h.利用IGWO算法估計(jì)馬斯京根模型的參數(shù),并將演算結(jié)果的統(tǒng)計(jì)指標(biāo)與現(xiàn)有參數(shù)估計(jì)方法估計(jì)的結(jié)果進(jìn)行比較.洪水演算結(jié)果如表2所示.圖8更直觀、更清晰的展現(xiàn)了表2中的演算結(jié)果.各方法比較結(jié)果如表3所示.圖9給出了GWO算法和IGWO算法估計(jì)馬斯京根模型參數(shù)時(shí)的迭代收斂圖.
圖8 IGWO 算法洪水演算效果
圖9 GWO和IGWO算法估計(jì)參數(shù)的迭代收斂曲線
從表2和表3的計(jì)算結(jié)果和各項(xiàng)評(píng)價(jià)指標(biāo)評(píng)價(jià)的對(duì)比結(jié)果可以看出,與現(xiàn)有的參數(shù)估計(jì)方法相比,IGWO算法所求得的最優(yōu)化準(zhǔn)則函數(shù)值,平均絕對(duì)誤差和平均相對(duì)誤差更小,表明利用該算法估計(jì)馬斯京根模型參數(shù)具有更高的求解精度.從圖9可以看出,IGWO算法估計(jì)參數(shù)時(shí)收斂速度比基本GWO更快.
本文將改進(jìn)的灰狼優(yōu)化算法引入馬斯京根模型,對(duì)模型中的相關(guān)參數(shù)進(jìn)行估計(jì).以南運(yùn)河稱溝灣至臨清段1961年的洪水資料為例,驗(yàn)證了IGWO算法求解馬斯京根模型參數(shù)的有效性.相比較于現(xiàn)有的其它參數(shù)估計(jì)方法,IGWO算法能很好地解決馬斯京根模型的參數(shù)估計(jì)問(wèn)題,具有更高的求解精度和更好的實(shí)際應(yīng)用價(jià)值.
表3 各參數(shù)估計(jì)方法估計(jì)的參數(shù)和相關(guān)性能比較