左 翔,趙杏杏,葉瑞祿,叢小飛,劉修恒
(1.南京河海智慧水利研究院,江蘇 南京 210012;2.南京中禹智慧水利研究院有限公司,江蘇 南京 210012;3.河海大學(xué)計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211100)
精準(zhǔn)可靠的水文預(yù)報(bào)對(duì)于提高防洪“四預(yù)”能力具有重要意義[1,2]。由于水文過(guò)程具有不確定性和高度非線性的特點(diǎn),在水文模擬時(shí)需要通過(guò)模型參數(shù)率定來(lái)校準(zhǔn)水文模型,使其模擬效果與實(shí)際水文過(guò)程相匹配。采用合適的優(yōu)化方法率定復(fù)雜的水文模型參數(shù),一直是國(guó)內(nèi)外不斷探索的熱點(diǎn)課題。隨著人工智能技術(shù)的發(fā)展,大量?jī)?yōu)秀的人工智能算法被應(yīng)用模型參數(shù)的率定,如遺傳算法[3-5]、粒子群算法[6]、洗牌復(fù)形演化算法(Shuffled Complex Evolution,SCE-UA)[7,8]等。基于人工智能算法的模型參數(shù)自動(dòng)優(yōu)化方法,能夠比人工優(yōu)化方法更易、更快地找到全局最優(yōu)解,避免人為的主觀偏見(jiàn)和誤差,對(duì)提高水文預(yù)報(bào)精度具有重要意義。
遺傳算法(Genetic Algorithm,GA)[9]是一種模擬生物遺傳進(jìn)化過(guò)程的全局優(yōu)化概率搜索算法,因其簡(jiǎn)單通用、魯棒性好和全局搜索能力強(qiáng)等特點(diǎn),已成為水文模型參數(shù)率定的一個(gè)重要研究方向。針對(duì)傳統(tǒng)遺傳算法局部搜索能力弱,過(guò)程控制參數(shù)依賴人工經(jīng)驗(yàn),存在不成熟的過(guò)早收斂或者收斂緩慢等難題,研究人員采用多種方法提高遺傳算法性能。王森等人[10-12]根據(jù)SRINIVAS[13]提出自適應(yīng)遺傳算法(Adaptive Genetic Algorithm,AGA),采用線性自適應(yīng)交叉與變異概率公式,對(duì)種群的進(jìn)化過(guò)程進(jìn)行控制,避免種群早熟及過(guò)早收斂;楊從銳等人[14,15]采用反正弦函數(shù)的非線性自適應(yīng)交叉與變異概率公式,能夠根據(jù)種群個(gè)體的適應(yīng)度值全程優(yōu)化交叉與變異概率。目前遺傳算法經(jīng)過(guò)自適應(yīng)優(yōu)化后,仍然存在著初始種群多樣性差,局部搜索自適應(yīng)能力弱,以及自適應(yīng)調(diào)整缺乏對(duì)種群進(jìn)化程度的考慮等問(wèn)題。針對(duì)上述問(wèn)題,通過(guò)采用混沌算法優(yōu)化初始種群,結(jié)合自適應(yīng)交叉與變異概率算子,以及環(huán)形交叉算子和自適應(yīng)非線性變異算子,對(duì)傳統(tǒng)遺傳算法過(guò)程進(jìn)行一系列優(yōu)化改進(jìn),提出了一種新型的改進(jìn)自適應(yīng)遺傳算法(Improved Adaptive Genetic Algorithm,IAGA)。將IAGA 算法應(yīng)用于秦淮河流域的新安江次洪模型參數(shù)率定,從水文過(guò)程模擬、率定收斂性和穩(wěn)定性等方面與GA 和AGA 算法進(jìn)行對(duì)比研究,綜合評(píng)估IAGA算法在新安江模型參數(shù)率定工作中的應(yīng)用性能。
新安江模型屬于概念性水文模型[16],適用于濕潤(rùn)半濕潤(rùn)地區(qū)水文模擬,主要包含4 個(gè)計(jì)算模塊,分別為:蒸散發(fā)、產(chǎn)流、水源劃分和匯流,其中蒸散發(fā)采用3層蒸散發(fā)模式,產(chǎn)流采用蓄滿產(chǎn)流模型,水源劃分為地表徑流、壤中流與地下徑流,匯流模塊中壤中流與地下徑流采用線性水庫(kù)法,河網(wǎng)匯流采用采用滯后演算法,河道演進(jìn)采用分段連續(xù)演算的馬斯京根法[17]。新安江模型的主要參數(shù)、參數(shù)意義及取值范圍如表1所示。

表1 參數(shù)取值范圍Tab.1 Value ranges of parameters
GA 算法是根據(jù)自然界中生物“適者生存、優(yōu)勝劣汰”的進(jìn)化過(guò)程推演出來(lái)的一種尋優(yōu)方法[18],標(biāo)準(zhǔn)計(jì)算流程由Goldberg首先提出[19],首先制定實(shí)際問(wèn)題中變量的編碼方式,設(shè)定種群規(guī)模、交叉概率、變異概率、迭代次數(shù)等參數(shù),再通過(guò)隨機(jī)函數(shù)生成初始化種群,利用適應(yīng)度函數(shù)對(duì)種群中個(gè)體進(jìn)行評(píng)價(jià),淘汰適應(yīng)度低的個(gè)體后,種群中的個(gè)體進(jìn)行交換和變異形成新種群,再對(duì)新種群進(jìn)行淘汰選擇交換變異,通過(guò)不斷循環(huán),最終在種群中產(chǎn)生適應(yīng)度最高的個(gè)體。
GA 算法在實(shí)際應(yīng)用中存在易陷入局部最優(yōu)、收斂不成熟、收斂速度慢等問(wèn)題,難以求解得到全局最優(yōu)解[5]。本文通過(guò)引入混沌算法和自適應(yīng)算子,改進(jìn)初始種群生成、選擇、交叉與變異等過(guò)程,以期提高遺傳算法性能。
種群個(gè)體的染色體編碼方式通常采用二進(jìn)制和十進(jìn)制兩種方式[20],算法采用十進(jìn)制編碼,與二進(jìn)制編碼相比,十進(jìn)制浮點(diǎn)數(shù)編碼具有直觀、節(jié)省時(shí)空開(kāi)銷(xiāo)、計(jì)算效率高的優(yōu)勢(shì)。將新安江模型的1個(gè)參數(shù)設(shè)為1個(gè)染色體基因片段,參與優(yōu)化的w個(gè)參數(shù)構(gòu)成1個(gè)種群個(gè)體。
GA 算法在搜索過(guò)程中以適應(yīng)度函數(shù)值來(lái)評(píng)估個(gè)體的優(yōu)劣程度。本文以確定性系數(shù)(Coefficient of Determination,R2)和納什效率系數(shù)(Nash-Sutcliffe Efficiency Coefficient,NSE)組成坐標(biāo),計(jì)算方法分別如式(1)和式(2)所示,以坐標(biāo)對(duì)到點(diǎn)(1,1)的歐式距離[式(3)]作為次洪徑流模擬過(guò)程與實(shí)測(cè)過(guò)程之間的擬合程度指標(biāo)[21]。由于目標(biāo)函數(shù)F(x)是求其最小值,在轉(zhuǎn)換為適應(yīng)度函數(shù)f(x)時(shí)需要采用如式(4)所示的方法,適應(yīng)度值越大,被遺傳到下一代的概率也就越大,則代表的目標(biāo)函數(shù)值越小。

初始種群的多樣性和質(zhì)量直接決定著最終解的質(zhì)量和算法的收斂速度。GA 算法采用隨機(jī)函數(shù)生成的初始種群多樣性較差,因此限制了GA 算法的求解性能。本文采用一種結(jié)合混沌搜索生成初始種群的改進(jìn)方法,提高初始種群多樣性,并且能夠從混沌搜索結(jié)果中選取適應(yīng)度較高的個(gè)體作為初始種群,進(jìn)一步提高初始種群的質(zhì)量,從而加快算法的收斂速度[22,23]。混沌搜索采用的Logistic映射公式如式(5)所示:


選擇采用輪盤(pán)賭選擇法(Roulette Wheel Selection method)[24],染色體的適應(yīng)性越高,被選擇的機(jī)會(huì)就越大。同時(shí)為保護(hù)當(dāng)前群體中最優(yōu)個(gè)體的染色體信息,采用精英保留策略,適應(yīng)度最高的個(gè)體不進(jìn)行交叉和變異操作,直接復(fù)制到下一代,保護(hù)種群最優(yōu)個(gè)體的染色體信息免遭破壞。
交叉概率Pc和變異概率Pm是影響遺傳算法收斂速度與搜索能力的重要參數(shù),傳統(tǒng)GA算法采用固定的Pc和Pm值,當(dāng)Pc和Pm取較大的值時(shí)會(huì)提高種群多樣性,但容易破壞個(gè)體的優(yōu)良染色體基因;當(dāng)Pc和Pm取較小的值時(shí)會(huì)減少種群多樣性,種群容易陷入局部最優(yōu)導(dǎo)致過(guò)早收斂。針對(duì)上述問(wèn)題,SRINIVAS[13]提出了自適應(yīng)遺傳算法(AGA),其公式如下所示:
式中:f?為待交叉的兩個(gè)個(gè)體中較大的適應(yīng)度值;fmax為種群的最大適應(yīng)度:favg表示種群的平均適應(yīng)度;f表示變異個(gè)體的適應(yīng)度;k1~k4為自適應(yīng)控制參數(shù),文獻(xiàn)[13]取k1=k3=1.0,k2=k4=0.5。當(dāng)個(gè)體適應(yīng)度低于當(dāng)代種群平均適應(yīng)度時(shí),采用較高的交叉和變異概率,以提升個(gè)體進(jìn)化速度;當(dāng)個(gè)體接近當(dāng)代種群最大適應(yīng)度時(shí),采用較低的交叉和變異概率,盡可能保留該個(gè)體的優(yōu)良染色體基因。但是該種算法缺乏對(duì)整體種群進(jìn)化程度的考慮,在進(jìn)化初期適應(yīng)度值高的個(gè)體不一定是全局最優(yōu)解,采用較小的交叉變異概率,會(huì)導(dǎo)致算法早熟或走向局部收斂;另一方面AGA算法,對(duì)于小于平均適應(yīng)值的個(gè)體采用固定的交叉變異概率,無(wú)法實(shí)現(xiàn)對(duì)種群全部個(gè)體的自適應(yīng)調(diào)控。
綜上所述,對(duì)于遺傳算法過(guò)程的自適應(yīng)調(diào)整應(yīng)當(dāng)充分考慮種群的進(jìn)化程度和個(gè)體的適應(yīng)度兩大因素[25],針對(duì)種群的進(jìn)化程度,本文設(shè)計(jì)了反應(yīng)種群進(jìn)化程度的適應(yīng)度函數(shù)離散系數(shù)γ,在進(jìn)化初期種群的適應(yīng)度函數(shù)離散性系數(shù)γ0最大,隨著種群的進(jìn)化,個(gè)體逐步向最優(yōu)解逼近,離散性越來(lái)越小,理論上γ 將趨近于0。

隨著遺傳算法進(jìn)化代數(shù)t的增加,種群適應(yīng)度平均水平不斷提高,重復(fù)個(gè)體也逐漸增多,使得群體中個(gè)體適應(yīng)度離散程度逐漸減低。依據(jù)自適應(yīng)調(diào)整需要,結(jié)合適應(yīng)度函數(shù)離散系數(shù)定義,改進(jìn)后的自適應(yīng)遺傳算法交叉概率和變異概率公式如下:

由公式可以看出,IAGA 算法主要從種群進(jìn)化程度和個(gè)體適應(yīng)度兩個(gè)維度進(jìn)行交叉變異概率的自適應(yīng)調(diào)整。對(duì)于整體種群,在進(jìn)化初期應(yīng)采用較大的Pc和Pm,在值域空間范圍內(nèi)進(jìn)行全局搜索,提高進(jìn)化效率,在進(jìn)化后期種群逐漸逼近全局最優(yōu)解,應(yīng)采用較小的Pc和Pm,使其穩(wěn)定收斂于最優(yōu)解;對(duì)于種群個(gè)體,適應(yīng)度值高的個(gè)體,采用相對(duì)較小的Pc和Pm,保留優(yōu)良基因,適應(yīng)度值小的個(gè)體,采用相對(duì)較大的Pc和Pm,提高進(jìn)化效率。通過(guò)改進(jìn)的自適應(yīng)交叉變異概率,綜合保障遺傳算法在前期有高效的全局搜索能力,在后期有較好的穩(wěn)定性和收斂性。
傳統(tǒng)單點(diǎn)交叉和雙點(diǎn)交叉算子在個(gè)體基因互換時(shí),染色體中基因被選中的概率不相等,位于中間的基因被選中的概率較大,而兩端基因被選中的概率較小,從而影響整個(gè)解空間的搜索范圍。本文采用環(huán)形交叉算子[28],該算子可以環(huán)繞整個(gè)染色體兩端來(lái)進(jìn)行交叉,每個(gè)基因被選中的概率相等,有利于提高算法的全局搜索能力。
遺傳算法屬于全局性尋優(yōu)算法,局部搜索尋優(yōu)能力較弱,變異算子主要用于提高遺傳算法的局部搜索能力,防止出現(xiàn)早熟收斂,因此變異是比較重要的算法環(huán)節(jié)。針對(duì)十進(jìn)制浮點(diǎn)數(shù)編碼方式,傳統(tǒng)采用均勻變異算子,即用一定范圍內(nèi)均勻隨機(jī)數(shù)代替原有的基因,但是不能根據(jù)種群的進(jìn)化程度靈活的調(diào)整搜索區(qū)域。針對(duì)上述問(wèn)題,研究設(shè)計(jì)了自適應(yīng)非均勻變異算子,在進(jìn)化初期在大區(qū)域范圍內(nèi)搜索,加強(qiáng)個(gè)體變異;在進(jìn)化后期,在局部區(qū)域搜索,促進(jìn)個(gè)體向最優(yōu)解收斂。將個(gè)體xi(i=1,2,…,w),通過(guò)自適應(yīng)非均勻變異算子得到x’i(i=1,2,…,w),其公式如下:
IAGA算法的基本流程和步驟如下:
(1)參數(shù)初始化。主要包括:種群規(guī)模p,混沌變量個(gè)數(shù)m,最大進(jìn)化代數(shù)T,帶求解問(wèn)題維度w,交叉與變異的相關(guān)參數(shù)等。
(2)種群的初始化。將m個(gè)混沌變量映射到優(yōu)化變量x的取值空間,并選取適應(yīng)度值較高的p個(gè)個(gè)體組成初始種群。
(3)評(píng)價(jià)適應(yīng)度值。采用適應(yīng)度函數(shù)評(píng)價(jià)種群個(gè)體的適應(yīng)度,并保留適應(yīng)度最大的個(gè)體,不參與選擇、交叉與變異過(guò)程。
(4)選擇選擇采用輪盤(pán)賭選擇法,從父代中選擇出優(yōu)良個(gè)體,生成下一代個(gè)體。
(5)交叉運(yùn)算。對(duì)種群無(wú)放回地抽取一對(duì)個(gè)體,根據(jù)自適應(yīng)交叉概率Pc和環(huán)形交叉算子來(lái)進(jìn)行這一對(duì)染色體的基因片段交換,重復(fù)p/2次完成種群的交叉操作。
在這個(gè)過(guò)程中,教師首先要讓學(xué)生明白,英語(yǔ)口語(yǔ)交際中出現(xiàn)錯(cuò)誤是在所難免的,這些都是其口語(yǔ)交際能力提升的重要過(guò)程。說(shuō)錯(cuò)并不可怕,怕的是不敢去用英語(yǔ)進(jìn)行來(lái)表達(dá)。當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候,我們就能夠知道自身在口語(yǔ)上的問(wèn)題,發(fā)現(xiàn)問(wèn)題進(jìn)行改正,才能夠更好的將英語(yǔ)說(shuō)出口。
(6)根據(jù)自適應(yīng)變異概率Pm和自適應(yīng)非均勻變異算子對(duì)個(gè)體的染色體進(jìn)行變異操作,對(duì)染色體基因的值進(jìn)行局部搜索形成新的變異值。
(7)停止進(jìn)化條件判斷。一般通過(guò)判斷當(dāng)前進(jìn)化代數(shù)t是否達(dá)到最大進(jìn)化代數(shù)T來(lái)決定進(jìn)化是否結(jié)束;未達(dá)到停止條件返回步驟(3),對(duì)新種群進(jìn)行適應(yīng)度評(píng)價(jià),完成種群適應(yīng)度的更新,并對(duì)比新一代最優(yōu)個(gè)體的適應(yīng)度是否大于當(dāng)前最優(yōu)個(gè)體,如果大于就用新一代最優(yōu)個(gè)體進(jìn)行替換;達(dá)到停止條件,進(jìn)入下一步驟。
(8)最終結(jié)果輸出。將進(jìn)化過(guò)程中最優(yōu)個(gè)體染色體所代表的最優(yōu)解進(jìn)行輸出。
秦淮河是南京的“母親河”,發(fā)源于溧水河、句容河,總體流向自東南往西北。流域呈蒲扇形,長(zhǎng)寬各約50 km,四周為丘陵山區(qū),占80%;中間腹部為低洼圩區(qū)和河湖水面,占20%。地勢(shì)從南向北傾斜,上游坡度和扇面大,中下游坡度緩,共有大小16條支河匯入,是一個(gè)典型的一干多支樹(shù)狀型河道,如圖1所示。大都為山丘河道,具有源短、坡陡、流急、匯流快的特點(diǎn),出口處又受江潮頂托,造成排水不暢,歷史上洪澇災(zāi)害不斷。

圖1 秦淮河水系圖Fig.1 Stream network of Qinhuai river basin
如圖1所示前垾村(秦)水文站位于句容河與溧水河交匯處,該站點(diǎn)以上為秦淮河上游,受到人工調(diào)度及潮汐頂托的影響相對(duì)較小,以下墊面、分水線、站點(diǎn)布設(shè)等為主要依據(jù)劃分水文計(jì)算單元,采用分布式新安江模型對(duì)秦淮河上游的汛期徑流過(guò)程進(jìn)行模擬。研究所用的前垾村(秦)水文站2009-2017年的汛期逐時(shí)徑流量數(shù)據(jù)從《中華人民共和國(guó)水文年鑒——長(zhǎng)江流域水文資料》中的實(shí)測(cè)流量成果表獲取,其中前7 場(chǎng)用于率定,后3 場(chǎng)用于驗(yàn)證,分別利用GA、AGA 和IAGA 三種算法對(duì)新安江模型參數(shù)進(jìn)行優(yōu)化,分析三種優(yōu)化算法在新安江模型參數(shù)優(yōu)化問(wèn)題中的應(yīng)用差異。
新安江模型總共有16 個(gè)參數(shù),若都參與率定,通常導(dǎo)致參數(shù)組的最優(yōu)解不穩(wěn)定且不唯一,參數(shù)的率定結(jié)果不一定符合實(shí)際意義。具體操作過(guò)程中,假定各參數(shù)取值在流域各子計(jì)算單元保持一致,根據(jù)流域下墊面資料并結(jié)合已有經(jīng)驗(yàn)來(lái)固定部分參數(shù)[29],包括WUM、WLM、WDM、C、WM、B、IM、L,其值如表2所示,并固定結(jié)構(gòu)性約束KG+KI=0.7,主要對(duì)K、SM、EX、KI、CS、CI、CG參數(shù)進(jìn)行率定。通過(guò)降低整個(gè)待優(yōu)化參數(shù)組的維數(shù),既結(jié)合模型自身的水文特性,同時(shí)也充分發(fā)揮了遺傳算法優(yōu)越性,提高了優(yōu)選運(yùn)行效率。

表2 參數(shù)WUM、WLM、WDM、WM、B、IM、C、L的人工率定結(jié)果Tab.2 Manual optimization results of WUM,WLM,WDM,WM,B,IM,C,L
為驗(yàn)證IAGA 算法在新安江模型參數(shù)率定中的應(yīng)用性能與效果,以傳統(tǒng)GA 和AGA 算法為參照,分別從率定收斂性、率定耗時(shí)、率定穩(wěn)定性和洪水模擬效果4 個(gè)方面進(jìn)行度量與分析,3種算法的參數(shù)設(shè)置見(jiàn)表3。

表3 GA、AGA 和IAGA算法參數(shù)設(shè)置Tab.3 Parameter settings of GA,AGA and IAGA
4.2.1 率定收斂性
率定收斂性研究分別采用GA、AGA 和IAGA 算法對(duì)所選敏感參數(shù)進(jìn)行優(yōu)化迭代率定,求出目標(biāo)函數(shù)的最優(yōu)值,分析3種優(yōu)化算法的收斂速度和收斂結(jié)果,圖2 曲線圖反映了3 種優(yōu)化算法的收斂過(guò)程。

圖2 GA,AGA和IAGA算法的收斂過(guò)程Fig.2 Convergence procedure of GA,AGA and IAGA
在種群進(jìn)化的初始階段,IAGA 算法由于引入了混沌搜索算法遍歷性的特點(diǎn)生成初始種群,在經(jīng)過(guò)優(yōu)選后,其初始最大適應(yīng)度優(yōu)于隨機(jī)生成初始種群的GA 和AGA 算法,不僅增加了種群多樣性,而且提高了初始種群質(zhì)量。
在種群進(jìn)化的過(guò)程中,AGA 和IAGA 算法通過(guò)參數(shù)自適應(yīng)調(diào)整,提高了初期種群優(yōu)良染色體基因的遺傳概率,其收斂速度比GA算法明顯更快,且具有更強(qiáng)的全局搜索能力;但是AGA算法的自適應(yīng)Pc和Pm算子,在進(jìn)化后期會(huì)過(guò)度保留優(yōu)良染色體基因,在初期雖然能夠比IAGA 算法更快的進(jìn)化,但是隨著種群離散性的減小,無(wú)法自適應(yīng)的降低優(yōu)良基因的保留概率,導(dǎo)致過(guò)早的局部收斂,未能解決GA 算法早熟的問(wèn)題。因此從收斂結(jié)果來(lái)看,雖然GA和AGA算法能夠在較少的迭代次數(shù)下收斂,但是并沒(méi)有尋求到最佳的個(gè)體。由于IAGA 算法采用了自適應(yīng)調(diào)整的算子,能夠根據(jù)種群進(jìn)化程度和個(gè)體適應(yīng)度調(diào)整Pc和Pm。初期采用較高的Pc和Pm,提高種群多樣性,避免早熟,后期采用較小的Pc和Pm,避免優(yōu)良基因的破壞,保障穩(wěn)定收斂;結(jié)合環(huán)形交叉算子和自適應(yīng)非均勻變異算子,綜合調(diào)整交叉變異效果,IAGA 呈階梯狀,擺脫了局部收斂,體現(xiàn)出了較強(qiáng)的自適應(yīng)能力,IAGA算法在尋優(yōu)能力上明顯優(yōu)于GA和AGA算法。
在種群進(jìn)化的收斂階段,GA和AGA算法波動(dòng)高于IAGA算法,一方面由于GA 和AGA 算法采用固定或部分固定的Pc和Pm值,在進(jìn)化后期種群仍然保持較大的交叉與變異概率,容易破壞種群優(yōu)良的染色體基因,不利于后期穩(wěn)定的收斂;另一方面IAGA 采用了自適應(yīng)非均勻變異算子,隨著進(jìn)化的收斂種群離散性的降低,通過(guò)自適應(yīng)的縮小變異的搜索范圍,保證算法收斂的穩(wěn)定性。
4.2.2 率定耗時(shí)
率定耗時(shí)研究從小到大選取多個(gè)迭代次數(shù),GA、AGA 和IAGA 算法的率定耗時(shí)如表4所示,GA 算法的參數(shù)率定耗時(shí)最少,其次是AGA 算法和IAGA 算法。GA 算法簡(jiǎn)單,進(jìn)化耗時(shí)少,但是收斂所需的迭代次數(shù)高于AGA 算法,而且率定效果最差;AGA 算法復(fù)雜度小于IAGA,能夠以最小的進(jìn)化代數(shù)收斂到最優(yōu)值,率定效果優(yōu)于GA 算法,劣于IAGA 算法,在對(duì)一些精度要求不高的問(wèn)題進(jìn)行優(yōu)化時(shí)可以利用該優(yōu)勢(shì),從而縮減優(yōu)化時(shí)間,提高計(jì)算效率;IAGA 算法由于采用多種復(fù)雜的自適應(yīng)算子,需要確定的算法參數(shù)多,計(jì)算過(guò)程較為復(fù)雜,導(dǎo)致其計(jì)算量大,優(yōu)化模型參數(shù)的時(shí)間較長(zhǎng)。總體來(lái)說(shuō),遺傳算法中耗時(shí)較長(zhǎng)的主要是適應(yīng)度函數(shù)計(jì)算步驟,因此采用自適應(yīng)交叉與變異算子后,對(duì)率定耗時(shí)影響不大。

表4 GA、AGA和IAGA算法在不同進(jìn)化代數(shù)下的率定耗時(shí)sTab.4 Time-consuming of GA,AGA,IAGA under the different number of generations
4.2.3 率定穩(wěn)定性
率定穩(wěn)定性取決于算法能否在各次相同的迭代次數(shù)下,得到穩(wěn)定分布的參數(shù)值,因此可以從各參數(shù)方差和目標(biāo)函數(shù)方差的大小反映算法的穩(wěn)定性[30]。將參數(shù)優(yōu)化率定過(guò)程重復(fù)進(jìn)行50 次,按目標(biāo)函數(shù)取其最優(yōu)值,每次都會(huì)得到一組最優(yōu)的新安江模型參數(shù)以及目標(biāo)函數(shù)值,總計(jì)50 組,統(tǒng)計(jì)分析每個(gè)參數(shù)和目標(biāo)函數(shù)的方差,通過(guò)數(shù)據(jù)的離散程度判別GA、AGA 和IAGA算法的穩(wěn)定性,結(jié)果如表5所示。

表5 參數(shù)K、SM、EX、KI、CS、CI、CG的自動(dòng)率定結(jié)果Tab.5 Automatic optimization results of K,SM,EX,KI,CS,CI,CG
由表5 中的結(jié)果可以看出參數(shù)組優(yōu)化結(jié)果并不穩(wěn)定唯一,造成這樣結(jié)果的很大一部分原因可能是“異參”同效作用的存在,同時(shí)不排除目標(biāo)函數(shù)的選取單一,沒(méi)有從整體上對(duì)各方面的模擬情況做約束等原因的影響。蒸散發(fā)折算系數(shù)K屬于敏感參數(shù),通常振幅較大,AGA 和IAGA 算法的率定結(jié)果的穩(wěn)定性優(yōu)于GA 算法,方差大小較為理想;自由水蓄水容量SM雖然數(shù)值波動(dòng)較大,但是實(shí)際應(yīng)用中分辨率較低,因此方差大小可以接受;自由水蓄水容量曲線指數(shù)EX存在波動(dòng),考慮到EX屬于不敏感參數(shù),因此異參同效現(xiàn)象比較明顯,存在一定的波動(dòng)屬于正常現(xiàn)象;壤中流出流系數(shù)KI和河網(wǎng)水消退系數(shù)CS,3 種算法的率定結(jié)果相差不大,穩(wěn)定性較為理想;壤中流消退系數(shù)CI和地下徑流消退系數(shù)CG屬于敏感參數(shù),而且分辨率較高,AGA 和IAGA 的率定結(jié)果表現(xiàn)出良好的穩(wěn)定性,遠(yuǎn)優(yōu)于GA 算法。通過(guò)對(duì)各參數(shù)方差的分析,總體上率定穩(wěn)定性IAGA>AGA>GA,主要是由于自適應(yīng)交叉變異概率和自適應(yīng)非均勻變異算子,在種群進(jìn)化收斂的過(guò)程中,自適應(yīng)減小交叉變異概率,保障優(yōu)良基因的不被破壞,逐步縮小變異搜索范圍,有利于算法穩(wěn)定。對(duì)比多次率定后目標(biāo)函數(shù)的方差,如圖3所示,其結(jié)果與參數(shù)方差的分析結(jié)果保持一致,IAGA 算法的目標(biāo)函數(shù)方差最小,說(shuō)明其率定穩(wěn)定性最優(yōu)。
4.2.4 洪水模擬效果
算法的率定效果可以根據(jù)新安江模型對(duì)洪水的模擬誤差來(lái)進(jìn)行評(píng)價(jià),表6 對(duì)場(chǎng)次洪水的模擬誤差進(jìn)行了統(tǒng)計(jì),圖4 展示了場(chǎng)次洪水的模擬效果。模擬效果的評(píng)價(jià)指標(biāo)主要采用洪量、洪峰流量和峰現(xiàn)時(shí)間的相對(duì)誤差、確定性系數(shù)(R2),以及納什效率系數(shù)(NSE),根據(jù)《水文情報(bào)預(yù)報(bào)規(guī)范》分析各算法的預(yù)報(bào)精度,采用IAGA算法率定的10場(chǎng)洪水的洪峰流量、徑流量均小于其許可誤差,率定期和驗(yàn)證期的確定性系數(shù)均在0.85 以上,大部分場(chǎng)次洪水達(dá)到0.9 以上,納什效率系數(shù)均在0.8 以上,部分場(chǎng)次洪水達(dá)到0.9 以上,總體預(yù)報(bào)精度均達(dá)到乙級(jí)水平。通過(guò)與GA 和AGA 算法對(duì)比,經(jīng)IAGA 算法率定后的模擬效果更加接近實(shí)際洪水徑流過(guò)程,GA 算法的偏離最大,AGA 算法次之,特別是20130702、20140629、20150614、20160627 和20180704 等場(chǎng)次洪水的洪量和洪峰的效果不理想,不合格率較高。據(jù)了解20160627場(chǎng)次洪水過(guò)程雨量洪量都較大,存在人為調(diào)度等因素,削減了實(shí)際洪峰,導(dǎo)致模擬結(jié)果中的洪峰計(jì)算值過(guò)大;20180814 場(chǎng)次洪水洪峰起漲前,受下游感潮河段水力聯(lián)系影響,出現(xiàn)流量下降現(xiàn)象,導(dǎo)致模擬結(jié)果的洪水過(guò)程線整體偏大,增大了洪量和洪峰相對(duì)誤差。率定效果表明IAGA 算法率定的秦淮河流域新安江模型參數(shù)基本上是合理的,并且效果優(yōu)于傳統(tǒng)的GA和AGA算法。

圖4 場(chǎng)次洪水實(shí)測(cè)流量與模擬流量過(guò)程線Fig.4 Measured and simulated runoff of flood events

表6 秦淮河流域洪水模擬誤差統(tǒng)計(jì)表Tab.6 Flood simulation errors of Qinhuai river basin
針對(duì)新安江模型參數(shù)優(yōu)化的特點(diǎn),提出了一種改進(jìn)的自適應(yīng)遺傳算法。該算法利用混沌優(yōu)化的遍歷性特點(diǎn),提高了初始種群的個(gè)體質(zhì)量;綜合考慮種群進(jìn)化程度和個(gè)體適應(yīng)度兩個(gè)維度,設(shè)計(jì)了自適應(yīng)交叉變異概率算子,在種群進(jìn)化初期,保證種群多樣性,避免早熟,在種群進(jìn)化后期,能夠避免優(yōu)良基因的破壞,保障穩(wěn)定收斂;同時(shí)為加強(qiáng)局部重點(diǎn)區(qū)域的搜索,設(shè)計(jì)了自適應(yīng)非均勻變異算子,根據(jù)種群進(jìn)化程度,自適應(yīng)的縮小優(yōu)良個(gè)體變異的搜索范圍,有利于進(jìn)化收斂。以秦淮河流域?yàn)閷?shí)例的場(chǎng)次洪水模擬結(jié)果表明,IAGA 算法的模型參數(shù)率定效果優(yōu)于傳統(tǒng)的GA 和AGA 算法,在率定的收斂性和穩(wěn)定性方面具有較好的優(yōu)勢(shì)。由于IAGA 算法的復(fù)雜性,在耗時(shí)方面劣于傳統(tǒng)算法,但是總體時(shí)間上能夠滿足應(yīng)用要求,后期可以通過(guò)并行加速算法降低IAGA 算法的計(jì)算耗時(shí)。研究表明IAGA 算法能夠克服遺傳算法收斂過(guò)早、收斂不穩(wěn)定、局部搜索能力弱等缺點(diǎn),為水文模型參數(shù)率定提供了一種有效途徑。