司存友 ,盧婉瑩 ,羅俐雅
(1. 江蘇省水文水資源勘測局,江蘇 南京 210029;2. 北京金水信息發(fā)展有限公司,北京 100000)
洪水預報經驗模型由于操作簡便,能較好地闡述水文規(guī)律,目前在水文業(yè)務中應用十分廣泛,為防汛及水資源調度利用等工作提供了至關重要的決策依據(jù)。但是洪水預報經驗模型的參數(shù)在確定時具有較高的難度,需要通過多次循環(huán)往復的參數(shù)率定加以確定。江蘇省采用的經驗模型主要是 API 模型,場次洪水降水量P、前期影響雨量Pa、徑流深R三要素及單位線的推求計算比較復雜。API 模型的參數(shù)優(yōu)化率定更是一項繁瑣、耗時、困難的工作,快速高效地尋求模型最優(yōu)參數(shù)已成為水文模型應用研究的關鍵[1–2]。
江蘇省洪水預警預報平臺成功實現(xiàn)了高效率的人機交互,可以幫助業(yè)務人員完成 API 模型的場次洪水選擇、次洪三要素(P,Pa,R)計算、相關圖擬合、產流方案誤差評定、單位線推求和綜合、預報方案評定等過程的在線處理,并引入改進的遺傳算法、人工蜂群、混合蛙跳等基于仿生學的人工智能優(yōu)化算法實現(xiàn)經驗模型的智能優(yōu)化定線。其中混合蛙跳算法(SFLA)是一種模擬青蛙覓食行為的智能優(yōu)化算法,具有參數(shù)少,魯棒性強,簡單易理解等特點,但目前還未引入到洪水經驗模型參數(shù)優(yōu)化方面,因此針對混合蛙跳定線進行研究。
以前期影響雨量Pa表示土壤干濕程度的指標,以K代表土壤含水量的日消退系數(shù),則
式中:Pa,t為t日上午 8 時的前期影響雨量;Pa值以土壤最大缺水量Imax作為上限控制,Imax按經驗選擇和對比計算確定;消退系數(shù)K一般為:
式中:Ep代表流域日蒸發(fā)能力。
前期影響雨量由經驗計算公式確定:
式中:n為影響本次徑流的前期降雨天數(shù),常取 15 d左右;k為常系數(shù),一般可取 0.85 左右。
對無雨日,前期影響雨量Pa,t為:
通過式 (1)~(4),計算降水量、前期影響雨量、徑流量,點繪降雨徑流相關圖并定線,進行產流計算。但是人工擬合降雨徑流相關圖的精度不太理想,因此通過引入混合蛙跳算法對降雨徑流相關圖基本線型的參數(shù)進行率定,以得到擬合度較高的曲線。
1)線簇線性相關線。這一類相關線是由一組線性相關線形成的簇,基本表達式為:
式中:y為預報對象;x為預報主因子;q為輔助因子;a1,a2,a3,a4為待定系數(shù),受以下約束條件約束,a1> 0,0.02 >a3> 0,0.10 >a1> 0。
2)非線性相關線。非線性相關線是由 1 條或多條曲線組成的非線性相關線,本研究主要選用二次拋物線型為非線性相關線的基本線型,表達式為:
或
式中:x為橫坐標變量,作為預報對象;y為縱軸變量,為主因子變量;p為第三變量;a5為待定系數(shù)。
式 (3) 為垂直型拋物線,式 (4) 為水平拋物線函數(shù)表達式。在計算中,需要計算垂直型拋物線反函數(shù),表達式為:
式中:a=a2,b=a5p a- 2a2a3,c=a1+a2+a4p a-y,a的正負號與a2的正負號一致。
SFLA 是由 Eusuff 和 Laney 于 2003 年提出的一種全新群體智能進化算法,汲取了基于遺傳因子的模擬演算法和基于群體覓食的粒子群算法的特點,模擬青蛙群覓食過程中的協(xié)同工作,進行全局和局部搜索,使算法不斷向全局最優(yōu)解逼近,具有較強的靈活性和通用性[3]。該算法適用于連續(xù)空間域的優(yōu)化問題,主要應用在函數(shù)、組合、單目標、多目標等優(yōu)化方面[4]。
SFLA 是一種基于群體智能的后啟發(fā)式新穎的進化算法[5],具體過程如圖 1 所示。
具體步驟如下:
圖 1 混合蛙跳算法流程圖
1)對蛙群的各種參數(shù)進行初始化。每一只青蛙代表青蛙的當前位置,用這只青蛙的適應度表示。第i只青蛙表示為
2)按照適應度排序。將所有青蛙按照指定的適應度進行升序排列,組成數(shù)組適應度,并帶有索引值,將每只青蛙按照適應度的排序進行排序。因此排在首位的青蛙是全局最優(yōu)的青蛙,用Pg表示。
3)對青蛙劃分模因組。將整個種群分成m組,每組包含n只青蛙。第 1 組內包含第 1 只青蛙,第(m+ 1)只青蛙,第(2m+ 1)只青蛙,以此類推。第 2 組包含第 2 只青蛙,第(m+ 2)只青蛙,第(2m+ 2)只青蛙,以此類推。第 3 組分配方式類似第 1 和 2 組,直至分配完畢。
4)在組內進化。n只青蛙在組內更新,在組內迭代Ne次,Ne為設定的最大迭代次數(shù)。組內位置最優(yōu)青蛙為Pb,位置最差青蛙為Pw,利用步長Si更新公式:Si=rand( ) × (Pb-Pw),Si∈[Smin,Smax]。
其中rand( ) 是隨機取 0 到 1 之間的任意數(shù),并確保Si在最小步長Smin與最大步長Smax的范圍之內。更新位置最差青蛙Pw,當計算各點的適應度小于給定值ε,則停止迭代計算?;旌贤芴惴◤慕M內最差青蛙出發(fā),分別利用組內和全局最優(yōu)與最差青蛙之間插值作為步長基數(shù),獲得更優(yōu)的青蛙。在迭代過程中最差青蛙一直被更新,最終組內最優(yōu)青蛙(最大值)、最差青蛙(最小值)趨近于一個值,即為求得的最優(yōu)值。
混合蛙跳算法的尋優(yōu)策略確定各個參數(shù)的值,最優(yōu)解即參數(shù)的值,從徑流深實測數(shù)據(jù)出發(fā),尋求一組參數(shù),可采用方案的評定精度或與實際觀測數(shù)據(jù)的方差作為目標函數(shù),按給定的目標函數(shù)的度量方式達到最佳擬合[6]。
本研究以小許莊站為例,分別采用混合蛙跳和傳統(tǒng)定線 2 種方法進行降雨徑流相關圖的繪制,并對 2 組圖線進行對比。
小許莊站位于黃泥河下游,1956 年 7 月設站,位于連云港市東??h安峰鎮(zhèn)戴莊村,上游干流長度為 25 km,測站控制流域面積為 382.07 km2。
對小許莊站 1956—2013 年洪水選取單峰洪水,最終得到 71 場有效洪水。以徑流深為預報對象,以(P+Pa)為主因子,采用二次拋物線型。
1)混合蛙跳應用。參考相關文獻 [3] 和 [7],并結合本次優(yōu)化參數(shù)個數(shù)設置模因組數(shù)m= 5,初始化一組參數(shù)值即每組青蛙個數(shù)n= 20,局部迭代次數(shù)N=10,固定進化代數(shù)G= 100,函數(shù)變量維數(shù)S=30。根據(jù)模型算法程序循環(huán)計算的最優(yōu)結果如表 1 所示。
表 1 混合蛙跳算法模型計算結果
根據(jù)非線性相關線公式,通過算法編程根據(jù)混合蛙跳得出系數(shù),由此得到的擬合相關線函數(shù)關系表達式為:R= 0.000 9 (P+Pa)2+ 0.451 2 (P+Pa) -20.584。
生成的降雨徑流相關圖如圖 2 所示,經過方案評定,合格率為 86.1%,精度評定為甲等方案。
2)傳統(tǒng)定線方法。根據(jù) 71 場有效洪水,對Pa,P,R進行繪制,點繪R=f(P+Pa),如圖 3 所示。
經過評定,對 71 場洪水預報合格率為 73.9%,預報精度分別達到乙等和甲等。經過對比,混合蛙跳法在預報方案精度上高于傳統(tǒng)定線方法,能夠有效提高洪水預報精度。
圖 2 混合蛙跳法降雨徑流相關圖
圖 3 傳統(tǒng)定線法降雨徑流相關圖
API 模型作為一種傳統(tǒng)的經驗方法,操作簡便,同時涵蓋了較多的水文特征信息,在實際洪水作業(yè)中仍然具備較高的應用與研究價值。以往混合蛙跳的研究主要在于對方法本身的改進和對新安江模型參數(shù)的優(yōu)化,而 API 模型在現(xiàn)階段洪水預報作業(yè)中應用比新安江模型更為廣泛,因此探索混合蛙跳法在 API 模型中的應用具有一定實際意義。本研究通過混合蛙跳法,優(yōu)化了 API 模型的參數(shù)率定,實現(xiàn)了計算機的智能自動定線,并通過應用實例證明本方法可以有效提高 API 模型預報精度。但是,混合蛙跳方法的參數(shù)設置對模型預報也有一定影響,今后可以進一步深入研究。
[1] 程海云,葛守西,鄒冰玉. 相關圖實時預報技術研究[J].水利水電快報,2008,29 (3): 16-18.
[2] 張端虎. 相關圖洪水預報方案編制的自動化處理方法探討[J]. 廣東水利水電,2009 (1): 68-71.
[3] 李建軍,郁濱,陳武平. 混合蛙跳算法的改進與仿真[J].系統(tǒng)仿真學報,2014,26 (4): 755-760.
[4] 高建興. 混合蛙跳算法應用研究[J]. 網絡安全技術與應用,2014 (7): 28-29.
[5] 王怡然. 改進的混合蛙跳算法及其多目標優(yōu)化的應用研究[D]. 蘭州:甘肅農業(yè)大學,2013.
[6] 張端虎. 改進復合形法在相關圖水文預報方案建模中的
[7] 火久元,劉立群,趙紅星,等. 基于混合蛙跳算法的水文模型參數(shù)估計方法[J]. 重慶理工大學學報,2016,30 (3):80-86.應用[J]. 廣東水利水電,2012 (12): 34-36.