蒼隋鑫,雷冠軍,梁 云,王 鐵
(1.黑龍江省大慶水文局,黑龍江 大慶 163000;2.中國水利水電科學研究院,北京 100038)
水庫優(yōu)化調(diào)度、水資源優(yōu)化配置、水文頻率曲線擬合以及水文預報等水文領(lǐng)域相關(guān)的研究,都可以歸納為在一定的約束條件下,基于已知的目標函數(shù),尋求目標的最優(yōu)解。隨著計算機運算性能的提高,除了較早的遺傳算法[1-2]、粒子群算法[3],新的智能優(yōu)化算法如果蠅優(yōu)化算法[4]、飛蛾火焰優(yōu)化算法[5]、新型蝙蝠算法[6]及改進粒子群算法[7]等相繼被開發(fā)應(yīng)用于水文計算,都在克服早熟收斂和提高運算性能上都取得一定進展。
SSO算法是一種新興的智能優(yōu)化算法,通過模擬一種特殊的蜘蛛群體-群居蜘蛛的協(xié)作進化行為來構(gòu)建優(yōu)化算法。該方法有較好的穩(wěn)定性和參數(shù)估計效果,能夠有效避免早熟收斂。SSO算法于2013年首先被Cuevas[8]提出后,由于其良好的尋優(yōu)特性,在水利科學領(lǐng)域得到了廣泛的應(yīng)用。王文川[9]將其引進單個水庫的防洪調(diào)度計算中,與傳統(tǒng)的動態(tài)規(guī)劃和粒子群優(yōu)化算法比較,該方法能夠有效規(guī)避維數(shù)災,計算結(jié)果與粒子群算法接近;同時將該方法引入單個水庫發(fā)電調(diào)度中,與動態(tài)規(guī)劃、遺傳算法的效能比較,該方法具有較好的尋優(yōu)效果,具有參數(shù)少和搜索效率高的優(yōu)點,是一種有效的水電站優(yōu)化調(diào)度模型的求解方法[10]。吳光瓊、王文川[11-13]分別將其用于水文頻率參數(shù)估計中,吳光瓊[14]將SSO算法用于水位流量關(guān)系的擬合,與粒子群算法、遺傳算法等方法比較可知SSO算法收斂速度快、全局尋優(yōu)能力強,能降低水文頻率的分析誤差,提高理論頻率曲線與實測數(shù)據(jù)的擬合精度。吳光瓊[15]運用SSO算法搜索投影尋蹤的最佳投影方向,構(gòu)建SSO-PP模型對水質(zhì)進行評價,多因子評價結(jié)果與單因子結(jié)果評價一致,能夠使得模型評價結(jié)果更加合理可靠。崔東文、Mirjalili[16-17]針對BP神經(jīng)網(wǎng)絡(luò)初始網(wǎng)絡(luò)權(quán)值和閾值不易確定的不足,運用SSO算法對BP神經(jīng)網(wǎng)絡(luò)的參數(shù)的初始值進行估計,采用高維復雜函數(shù)對SSO算法驗證,并與粒子群算法的性能進行對比,該方法具有較好的尋優(yōu)能力。Anter[18]運用SSO算法對CT肝臟腫瘤數(shù)據(jù)集進行分類,用召回率和準確性等對分類結(jié)果進行量化表示,結(jié)果表明該方法搜索效果好,能夠避免局部極小值的出現(xiàn)和具備并行計算的能力。孟昕元[19]運用SSO算法對神經(jīng)網(wǎng)絡(luò)控制器參數(shù)進行優(yōu)化,并建立MATLAB/Simulink仿真模型進行驗證,表明優(yōu)化后的神經(jīng)網(wǎng)絡(luò)控制器有適應(yīng)性強、動態(tài)過程過渡平穩(wěn)快捷的優(yōu)點。
暴雨強度計算公式大都是超定非線性方程,參數(shù)估計是暴雨強度公式應(yīng)用的關(guān)鍵。暴雨強度公式參數(shù)估計研究成果大多集中于優(yōu)化算法的運用和研究。傳統(tǒng)的參數(shù)估計是采用圖解法和LS算法求解參數(shù)。遺傳算法、免疫進化算法、蟻群算法等[20-22]都被用于暴雨強度公式的參數(shù)估計中,取得了較好的參數(shù)估計結(jié)果。而SSO算法在暴雨強度公式的推求方面未見研究,因而本文將該方法用于暴雨強度公式參數(shù)的推求,采用絕對均方誤差和相對均方誤差為指標與最小二乘法的計算結(jié)果進行比較,旨在驗證SSO算法用于暴雨強度公式參數(shù)估計的可行性。
SSO算法是對雌雄蜘蛛個體的行為進行數(shù)值模擬。該搜索方法能夠有效避免早熟收斂,能夠在全局范圍內(nèi)進行有效搜索,結(jié)果表明該方法的搜索效率高、收斂速度較快。該方法的基本建模原理如下:
a) 蜘蛛個體的初始化,包括雌蜘蛛、雄蜘蛛個體數(shù)量、樣本以及權(quán)重的初始化:
Nf=floor[(0.9-rand·0.25)·N],Nm=N-Nf
(1)
s(i)=lb+rand·(ub-lb)
(2)
(3)
式中Nf、Nm——雌性、雄性蜘蛛的個體數(shù)量,N——樣本總數(shù);ub、lb——分量取值的上限、下限;rand——區(qū)間[0,1]的隨機數(shù);floor——取整函數(shù);J(si)——蜘蛛si個體的適應(yīng)度值;wi——蜘蛛個體的權(quán)重;worsts——最劣適應(yīng)度值;bests——最優(yōu)的適應(yīng)度值。
b) 雌雄蜘蛛個體的相互作用:
(4)
式中Vibci——個體i與個體c之間的信息交流;Vibbi——個體i與個體b的信息交流;Vibfi——個體i與個體f信息交流,個體f是距離個體i最近的雌性個體。
c) 雌雄蜘蛛對外界的振動作出反應(yīng)。①雌性蜘蛛對外界的反應(yīng)。判別閾值PF與隨機數(shù)rm的大小,雌性蜘蛛對外界的反應(yīng)的數(shù)學模擬如下式:
(5)
式中α,β,δ和rand——隨機數(shù),k——迭代次數(shù);sc——與個體i距離最小的個體;sb——群體最優(yōu)值。
②雄性蜘蛛對外界的反應(yīng)。雄蜘蛛對外界的反應(yīng),即蜘蛛個體的進化運動過程,由下式模擬:
(6)
式中wNf+m——排位在中間的雄性蜘蛛;sf——距離雄蜘蛛i最近的雌蜘蛛。
d) 交配生成新個體與新個體進化選擇。雌性蜘蛛Sf與排位的雄性蜘蛛Smm在交配半徑范圍內(nèi)發(fā)生交配行為,對蜘蛛個體的選擇依據(jù)輪盤賭的方法確定,新生成的蜘蛛與原有的蜘蛛種群進行比較,優(yōu)勢蜘蛛將取代原有的劣勢蜘蛛,能夠使蜘蛛群體向優(yōu)勢蜘蛛發(fā)展。
GB 50014—2006《室外排水設(shè)計規(guī)范》推薦暴雨強度公式的選樣方法為年最大值法,要求資料具有20 a以上自記雨量記錄。本文收集甘肅某地區(qū)1991—2016年共26 a數(shù)據(jù),采用10、20、30、45、60、90、120、180 min共8個歷時的年最大時段降雨量作為樣本值,對該地區(qū)的暴雨強度公式進行推求。
將實測的8個時段的年最大時段降雨量用P-III型分布擬合,計算出理論頻率曲線,根據(jù)確定的頻率曲線,得出降雨強度、降雨歷時和重現(xiàn)期的關(guān)系,輸出推求暴雨強度公式所需的“歷時~重現(xiàn)期(即t~P)”數(shù)據(jù),見表1,用該組理論值去推求設(shè)計暴雨強度公式的參數(shù)。
表1 甘肅某地t~P數(shù)據(jù) mm/min
2.3.1 目標函數(shù)的建立
單位時間的平均降雨深度,用i表示,單位以mm/min計;在工程上,暴雨強度常用單位時間內(nèi)單位面積上的降雨體積q表示,單位以L/(s·hm2)計。q與i之間的換算關(guān)系是將每分鐘的降雨深度換算成每公頃面積上每秒鐘的降雨體積,即:
q=167i
(7)
研究確定暴雨強度總公式:
(8)
式中P——設(shè)計暴雨重現(xiàn)期,a;t——降雨歷時,min;A1——雨力參數(shù);C——雨力變動參數(shù);b——降雨歷時修正系數(shù);n——暴雨衰減指數(shù)。
對于暴雨強度總公式,構(gòu)造目標函數(shù)如下:
(9)
式中s——重現(xiàn)期的個數(shù);j——降雨歷時的個數(shù)。
2.3.2 SSO算法求解暴雨強度公式的步驟
a) 參數(shù)序列的初始化。采用式(1)、(2)隨機生成A1、C、b、n,為了增大參數(shù)的搜索范圍,其初始化區(qū)間均設(shè)為[0,500],步長取為0.01,用式(9)計算蜘蛛個體的初始適應(yīng)度值,式(3)計算蜘蛛個體的初始權(quán)重值,種群個體設(shè)為200,迭代次數(shù)設(shè)為500次。
b) 參數(shù)序列的進化。采用式(4)、(6)進行迭代循環(huán),參數(shù)值不斷尋優(yōu)調(diào)整,逐步逼近滿足目標函數(shù)(9)。
c) 循環(huán)終止。若循環(huán)迭代次數(shù)達到最大值或滿足迭代終止條件,則停止循環(huán),所得的參數(shù)序列即為最優(yōu)的參數(shù)值。
2.3.3 暴雨強度公式精度檢驗
求出參數(shù)A1、C、b、n后,為確保計算結(jié)果的準確性,需對暴雨強度計算結(jié)果進行精度檢驗。GB 50014—2006《室外排水設(shè)計規(guī)范》規(guī)定:計算重現(xiàn)期在0.25~10 a時,在一般強度的地方,平均絕對方差不宜大于0.05 mm/min;在較大強度的地方,平均相對方差不宜大于5%。為確保排水工程設(shè)計的安全性和經(jīng)濟性,推導公式的暴雨強度應(yīng)略大于相應(yīng)的實測暴雨強度,但不宜相差過大,否則經(jīng)濟性欠合理。
將參數(shù)A1、C、b、n代入式(7)、(8)中,計算出與t~P數(shù)據(jù)表相對應(yīng)的理論暴雨強度值iij,然后根據(jù)式(10)、(11)平均絕對方差S總絕、平均相對方差S總相。
(10)
(11)
暴雨強度總公式以各個重現(xiàn)期的總誤差最小為目標函數(shù),分別運用LS算法和SSO算法對參數(shù)進行估計(表2),LS算法平均絕對方差為2.32 mm/min,大于規(guī)范要求的0.05 mm/min,平均相對方差為713.54%,大于規(guī)范要求的5%;SSO算法平均絕對方差為0.02 mm/min,小于規(guī)范要求的0.05 mm/min,平均相對方差為7.99%,大于規(guī)范要求的5%;LS算法所得結(jié)果誤差較大,SSO算法所得結(jié)果在要求總絕對誤差范圍之內(nèi),結(jié)果表明所得的參數(shù)結(jié)果能夠近似計算暴雨強度。
表2 暴雨強度公式參數(shù)估計結(jié)果
為了進一步檢驗SSO算法求解暴雨強度公式的計算結(jié)果,將重現(xiàn)期是2、3、5、10、20、30、50、100、200 a的判別指標進行計算,見表3。結(jié)果表明:除了200年一遇的結(jié)果外,不同重現(xiàn)期的平均絕對方差均小于規(guī)范要求的0.05 mm/min,表明SSO算法計算的參數(shù)估計結(jié)果從平均絕對方差方面能夠滿足規(guī)范要求。
表3 SSO算法求解暴雨強度總公式誤差分布
以26 a的年最大時段降雨量資料為基礎(chǔ),采用年最大值法進行選樣,樣本通過P-III分布調(diào)整,得到歷時~重現(xiàn)期即t~P關(guān)系表,采用SSO算法對暴雨強度公式進行推求,并與LS算法參數(shù)估計結(jié)果進行比較,結(jié)果顯示SSO算法暴雨強度總公式優(yōu)于LS算法,表明該算法能夠較好地用于暴雨強度公式參數(shù)的推求。