荊燕燕 龐正崎
摘 要:本文針對暴雨公式參數(shù)推求方法,設(shè)計(jì)了一種新的推求方法。該法以暴雨公式參數(shù)經(jīng)驗(yàn)范圍為基礎(chǔ),逐步縮小范圍,在一定范圍內(nèi)隨機(jī)搜索最優(yōu)解。在不需要復(fù)雜數(shù)學(xué)知識情況下,該方法單純依靠計(jì)算機(jī)強(qiáng)大的運(yùn)算能力,獲得暴雨公式參數(shù)值。經(jīng)試驗(yàn)證明,該方法在可行范圍內(nèi)可以獲得精確參數(shù)。
關(guān)鍵詞:倍比搜索法;MATLAB;暴雨公式參數(shù)
中圖分類號:P426.6文獻(xiàn)標(biāo)識碼:A文章編號:1003-5168(2018)32-0013-02
A New Method of Parameter Estimation for Rainstorm Formula
—— Double Ratio Search Method
JING Yanyan1 PANG Zhengqi2
(1.Henan Vocational College of Water Conservancy and Environment,Zhengzhou Henan 450045;
2.North China University of Water Resources and Electric Power,Zhengzhou Henan 450045)
Abstract: In this paper, a new method of derivation was proposed for the method of parameter estimation of rainstorm formula. Based on the empirical range of storm parameter parameters, this method gradually narrowed the range and randomly searches for the optimal solution within a certain range. Without complicated mathematical knowledge, the method relied solely on the powerful computing power of the computer to obtain the parameter value of the storm formula. The test proved that the method could obtain accurate parameters within the feasible range.
Keywords: ratio search method;MATLAB;rainstorm formula parameters
暴雨公式參數(shù)推求方法主要分為兩種,即解析法和算法。解析法包括麥夸爾特法、遺傳算法、高斯-牛頓法和二次優(yōu)化算法等,這些算法可準(zhǔn)確求出解值,但在暴雨公式參數(shù)推求中求得的解具有一定隨機(jī)性;算法解則是利用計(jì)算機(jī)程序進(jìn)行求解,求出的多是近似解。本文提出的倍比搜索法屬于算法解范疇[1]。
現(xiàn)代水文計(jì)算中,已經(jīng)普遍采取計(jì)算機(jī)輔助計(jì)算。但是,要想理解解析算法,還是需要水文工作者自身具備相當(dāng)?shù)臄?shù)學(xué)應(yīng)用能力,并在此基礎(chǔ)上進(jìn)行編程。換句話說,暴雨公式參數(shù)推求不僅對數(shù)學(xué)知識有較高要求,而且對編程也有一定的要求。如果存在一種僅依靠編程算法就可以得出最優(yōu)解的方法,將會大大降低算法難度。
1 倍比搜索法基本原理
根據(jù)《給排水設(shè)計(jì)手冊》中所述,城市短歷時暴雨計(jì)算公式如式(1)所示。
[i=A1+clgPt+bn]? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
式中:[i]為雨強(qiáng),[P]為重現(xiàn)期,[t]為相應(yīng)降雨歷時,A、c、n、b為待推求參數(shù)。
對于已經(jīng)進(jìn)行過適線處理的數(shù)據(jù),可以得到由降雨時間t、降雨強(qiáng)度[i]和降雨強(qiáng)度對應(yīng)重現(xiàn)期[P]所組成的數(shù)據(jù)矩陣。統(tǒng)計(jì)地區(qū)周邊地區(qū)的暴雨公式,統(tǒng)計(jì)得出4個參數(shù)A、c、n、b的經(jīng)驗(yàn)范圍,再適當(dāng)擴(kuò)展4個參數(shù)經(jīng)驗(yàn)范圍,最終得到初始范圍[F0]。
在[F0]范圍基礎(chǔ)上,隨機(jī)生成上萬個解向量,然后一一試算、記錄、排序,取若干列次優(yōu)結(jié)果。這些若干組次優(yōu)解的4個參數(shù)均有自己的范圍,這個范圍是過渡范圍[F10]。為了盡可能保證最優(yōu)解在試算范圍內(nèi),對過渡矩陣[F10]兩側(cè)按一定倍比向外側(cè)延展得到倍比范圍[F1],然后把[F1]看作初始范圍[F0],回到本段段首開始循環(huán)[2]。
暴雨公式在數(shù)學(xué)上是一個連續(xù)函數(shù)。所以,通過搜索最優(yōu)解所在區(qū)域,再通過擴(kuò)展倍比,即可保證最優(yōu)解一定在新生成范圍內(nèi)。隨著試算循環(huán)的進(jìn)行,倍比范圍一步步縮小,而試算隨機(jī)解向量的各個參數(shù)也會逐漸逼近最優(yōu)參數(shù)。當(dāng)循環(huán)達(dá)到一定的次數(shù),解向量即可達(dá)到較高精度。
2 算法實(shí)現(xiàn)的程序過程
本文使用數(shù)學(xué)編程工具M(jìn)ATLAB,并利用經(jīng)典的向量化思想,以矩陣為單位來實(shí)現(xiàn)編程。
首先,調(diào)查周邊地區(qū)暴雨資料,統(tǒng)計(jì)A、c、n、b的范圍,適當(dāng)擴(kuò)大得到初始范圍F。同時,整理適線過的暴雨資料,作二維i-p-t數(shù)據(jù)矩陣,并輸入MATLAB[3]。
其次,進(jìn)行準(zhǔn)備工作。生成一個空矩陣zuiyou,用于記錄后期每次循環(huán)過程產(chǎn)生的次優(yōu)解,把F賦值給[F0],根據(jù)[F0]的4個參數(shù)范圍,生成一個5行20 000列的隨機(jī)范圍矩陣,其中第一行的值是在A經(jīng)驗(yàn)范圍內(nèi)的隨機(jī)值,后面,3列c、n、b類同,第5行為預(yù)留空間,用于記錄[σj]。
再次,取隨機(jī)范圍矩陣第一列作為A、c、n、b的值代入暴雨公式,相應(yīng)計(jì)算i-p-t數(shù)據(jù)矩陣的[σj],記錄在此列第5行,依次算得余下各列對應(yīng)[σj]。同時,對此5行20 000列矩陣按[σj](第5行)從小到大排序,然后截取前10列數(shù)值,把此10列增補(bǔ)記錄于矩陣之中。
最后,按第5行對最優(yōu)解排序,截取前10列。統(tǒng)計(jì)此10列前4行A、c、n、b范圍,生成過渡范圍[F10]。過渡范圍[F10]是初始范圍[F0]的各參數(shù)組成的一維坐標(biāo)內(nèi)的一塊區(qū)域。為了確保最優(yōu)解包含在內(nèi),按一定的倍比q對[F10]作適當(dāng)擴(kuò)展。用參數(shù)A來說明,具體方法是用A向兩側(cè)延伸,A范圍具體實(shí)現(xiàn)方法如式(2)、式(3)所示。
[MaxF1=MaxF1+0.2×MaxF0-MaxF10]? ?(2)
[MinF1=MinF1-0.2×MinF10-MinF0]? ? ?(3)
c、n、b按照此法依次處理,就生成了新的范圍[F1]。把[F1]賦值給[F0],開始循環(huán)。一般情況下,14次循環(huán)后即可得到可以接受的解,第5行排序第一列為最優(yōu)解,算法結(jié)束,具體流程如圖1所示。
在上述最優(yōu)解求解過程中,需要注意以下幾點(diǎn)問題:第一,每次截取個數(shù)n為10,建議n值為10~20;第二,隨機(jī)范圍矩陣列數(shù)m應(yīng)為n的1 500倍以上;第三,為了優(yōu)化算法,前2次循環(huán)可取4 000倍,后續(xù)循環(huán)取1 500倍甚至更小;第四,向兩側(cè)擴(kuò)展的倍比q建議為0.15~0.3之間,其是確保最優(yōu)解在范圍內(nèi)的關(guān)鍵,不可太小,否則可能錯過最優(yōu)解,造成算法不穩(wěn)定;第五,循環(huán)次數(shù)應(yīng)大于10,數(shù)據(jù)實(shí)驗(yàn)表明,14次循環(huán)結(jié)束時,各參數(shù)范圍均縮小到不足原來的1/800[4]。
3 結(jié)論
通過以上分析可得,倍比搜索法以計(jì)算機(jī)編程為基礎(chǔ),一方面數(shù)學(xué)難度非常小、編程難度小,另一方面對公式也沒有特殊要求,并可將平均絕對均方差控制在5mm/min。該方法不僅適用于單個重現(xiàn)期計(jì)算,而且適用于多個重現(xiàn)期計(jì)算。與其他方法相比,倍比搜索法更加簡單、精確和快速,實(shí)用價值高,適宜在水文計(jì)算中推廣使用。
另外,倍比搜索法也可以用在其他類型參數(shù)求解問題上,僅需滿足以下三個條件即可使用:第一,公式形態(tài)確定;第二,公式是由初等函數(shù)構(gòu)成的連續(xù)函數(shù);第三,各參數(shù)有模糊的經(jīng)驗(yàn)范圍。這表明此法對于其他多參數(shù)的推求也有普遍適用性。
參考文獻(xiàn):
[1]Musto J.C,Howard W.E,Williams R.R.An Introduce Using MATLAB and Excel[M].北京:清華水學(xué)出版社,2010.
[2]陳靜,周志芳.一種新的水文地質(zhì)參數(shù)優(yōu)化方法——Tabu搜索法[J].水電能源科學(xué),2005(3):35-37.
[3]朱春龍,薄麗潔,王明生.確定多重現(xiàn)期暴雨公式參數(shù)的二次優(yōu)化算法[J].水文,2012(4):13-15.
[4]林齊,傅金祥.鐵嶺市暴雨強(qiáng)度公式的推求與優(yōu)化[J].沈陽建筑大學(xué)學(xué)報(bào)(自然科學(xué)版),2006(4):613-616.