基于混合蛙跳算法的水文模型参数估计方法

2016-05-14 07:00火久元刘立群赵红星
关键词:蛙跳新安江模因

火久元,刘立群,赵红星

(1.兰州交通大学 电子与信息学院,兰州 730070;

2.中国科学院 寒区旱区环境与工程研究所,兰州 730000;

3.甘肃农业大学 信息科学技术学院,兰州 730070)



基于混合蛙跳算法的水文模型参数估计方法

火久元1,2,刘立群3,赵红星1

(1.兰州交通大学 电子与信息学院,兰州730070;

2.中国科学院 寒区旱区环境与工程研究所,兰州730000;

3.甘肃农业大学 信息科学技术学院,兰州730070)

摘要:传统启发式算法在水文模型参数估计中通常存在着易早熟和收敛速度慢等缺陷,为提高水文模型的参数优化精度和算法性能,引入混合蛙跳算法(SFLA),提出一种基于SFLA的水文模型参数估计方法,将该方法应用到新安江模型的参数估计中,并与基于遗传算法(GA)的参数估计方法进行实验对比分析。实验结果表明:基于SFLA的参数优化方法在平均优化精度上相比遗传算法提高了2.5%;在固定优化精度时,优化成功率相比遗传算法提高了53.33%。证明了混合蛙跳算法应用于水文模型参数估计时,在收敛精度和收敛速度方面均有明显优势。

关键词:混合蛙跳算法;新安江模型;参数估计;Nash-Sutcliffe效率系数

流域水文建模是洪水模拟、预报的重要工具之一,也是认识和管理水资源的重要技术手段[1]。水文过程非常复杂,需考虑降雨、土壤水分和蒸散量的时空变化,并涉及土地利用、植被覆盖、土地坡度、土壤排水性能等相关因素。水文模型一般有大量的参数,包括模型输入、中期状态变量和模型输出[2]。

由于流域水文模型的复杂性、模型结构的不确定性、模型参数较多且多数参数不可测以及观测数据的误差等原因,模拟结果往往有着大量的不确定性,导致水文模拟与预报相比存在较大的误差和不确定性。因此,水文工作者首先要借助模型参数估计方法来确定模型参数值,然后利用水文模型模拟流域水文过程[3]。新安江模型由赵人俊等在1973年提出,并成功应用在中国的湿润和半湿润地区。新安江模型有多个参数,其中一些可以直接从流域的物理特性知识中获取,但大部分参数不能直接通过观察现场进行测量[4-5]。

目前,众多学者倾向于研究各种参数优化方法来自动完成水文模型的参数优选过程,并取得了大量的研究成果,提出和引入了很多优化方法。其中被应用到水文模型的参数优化过程中的主要有粒子群算法(PSO)、遗传算法(GA)、SCE-UA和模拟退火算法(SA)。但是,这些优化算法存在着一些缺陷,例如粒子群算法中的粒子之间协作不充分[6],遗传算法中的遗传算子很难确定[7],SCE-UA算法易陷入局部最优,且对模型结构和优化准则要求严格[8],模拟退火算法的收敛精度较低,且收敛速度较慢[9]。以上这些优化算法存在的不足之处严重影响了水文模型的参数优化结果和优化性能。

2003年,Eusuff 等提出一种基于群体的亚启发式、协同搜索群智能算法(shuffled frog leaping algorithm,SFLA)[10]。该算法主要模拟青蛙在觅食过程中互相进行信息共享和交流的特征来完成基于群体的优化。混合蛙跳算法(SFLA)结合了基于遗传基因的MA算法和基于群体觅食行为的粒子群算法二者的优点,因此具有参数少、概念简单、全局寻优能力强、计算速度快、易于实现等特点[11-12],获得了国内外学者的深入研究[13],已在无线电协作频谱感知[14]、容量约束车辆路径(CVRP)问题求解[15]、作业车间调度优化[16]、水资源网络优化、PID 控制器参数优化等领域得到成功应用。

本文从提高水文模型参数的优化精度和优化算法的运行效率出发,利用混合蛙跳算法对水文模型参数进行优化,将混合蛙跳算法与新安江模型耦合,将算法与应用实例结合来分析和验证算法,从而将混合蛙跳算法引入到水文模型参数估计中,为模型的参数估计提供新途径,从而提高流域水文模型的模拟精度和运行效率。

1新安江模型

新安江模型是具有多参数,能适应我国的湿润、半湿润地区概念型流域的水文模型。该模型先将大的流域划分成多个较小的单元流域,然后对单元流域进行产汇流计算,从而得到各个单元流域的出口流量数据;接下来进行出口以下的河道洪水演算,从而求出相应单元流域的出流过程;最后将各个单元流域的出流过程相加,得到该流域出口的总出流过程[17]。

本文主要基于二水源的新安江模型,该模型的结构如图1所示。在模型中,为了方便地计算出流域的蒸散发量,将模型中的包气带土壤层分为3层,包括上层WU,下层WL和深层WD。模型利用流域土壤稳定下渗率FC将流域中的总径流量划分为地表产流RS和地下产流RG两个部分。如表1所示,修改后的新安江流域水文模型共包含了10个参数[18]。表中列出了各个参数的名称、意义以及在实际实验流域内的参数取值范围[18]。

图1 修改后的新安江模型结构

参数意义单位取值范围K流域蒸散发能力和实测水面蒸发比值-0.001~1.000IMP流域内不透水面积占全流域面积比值-0.001~0.500B蓄水容量曲线的方次-0.001~1.000WUM流域中的上层土壤蓄水容量mm5.000~30.000WLM流域中的下层土壤蓄水容量mm50.000~100.000WDM流域中的深层土壤蓄水容量mm50.000~200.000C流域中的下层和深层土壤蒸散发系数-0.001~0.300FC稳定入渗率mm/h0.001~50.000KKG基流汇流所用线性水库的退水系数-0.001~0.990Kr表面产流的汇流参数-0.001~10.000

2混合蛙跳算法

Eusuff等在2003年基于粒子群算法(PSO)提出了混合蛙跳算法(SFLA)。混合蛙跳算法是一种新型的、基于群智能的启发式优化方法。该方法主要结合了粒子群(PSO)优化算法和模因Memetic算法的优点,具有概念简单、搜索能力较强、计算速度较快以及较易实现等优点。该算法将每只青蛙作为一个模因载体,然后通过不同的青蛙个体之间进行交流信息,从而促进和实现各个模因进化,解决最优化问题。全局信息交换和局部搜索的平衡策略使得混合蛙跳算法能较快地收敛,并获得全局最优解[10]。SFLA优化算法的流程如图2所示。

图2 混合蛙跳算法流程

混合蛙跳算法主要分为以下步骤[10]:

步骤1初始化算法参数。青蛙种群大小设置为P,搜索空间维数设为S,模因组数设为M,每个模因组包含N只蛙,则种群大小P=M×N。算法局部搜索最大次数设为T1,全局最大混合迭代次数设为T2。

步骤2生成蛙群。随机生成P=M×N只青蛙的初始群体,记为XP={xi|xi=(xi1,xi2,…,xis),i=1,2,…,P};然后将每只青蛙作为适应度函数的输入变量,计算出适应度值f(xi);接下来依据适应度值对蛙群按降序方式进行排序,找到并记录下蛙群中最优蛙的信息。

步骤3生成模因组。将青蛙按照逐一循环分配的方式分配至M个模因组。每个模因组中将包含N只蛙,然后比较排序和记录每个模因组中的最优蛙和最差蛙的信息。

步骤4进化模因。对每个模因组中适应度值最差的个体x(k)w按公式(1)进行局部搜索和位置更新工作,并利用适应度函数计算其适应度值,然后对每一个模因组重新排队寻找最差个体。如果前后两次的进化并非是对同一青蛙的操作,那说明前一次的进化是有效的,从而使前一次的最差个体得到进化。如此进行多次迭代,便能使整个模因组朝着确切方向进化,从而使整个群体的青蛙所代表的解的质量得到改善;如果通过模因组的最优个体和种群的最优个体都不能使当前个体得到进化,则当前个体在参数的全局空间内随机搜索,以拓展算法的全局搜索能力。重复上述局部搜索过程共T1次,得到进化后的模因组。

(1)

步骤5混合模因组。将进化后的模因组内的蛙重新混合,计算每个青蛙的适应度值,然后按照适应度值递增的方式进行青蛙排序,并根据排序结果更新蛙群中的最优蛙。

步骤6判断算法终止条件。判断青蛙族群中全局最优蛙是否达到收敛精度或者全局进化次数是否达到T2。若未达到终止条件,则转至步骤3,青蛙群体再次进行全局信息交换;否则,停止混合蛙跳算法的运行,并输出全局最优蛙的信息,即获得的优化问题的最优解。

3SFLA与新安江模型应用模型

基于混合蛙跳优化算法实现对新安江模型参数的优化应用,模型如图3所示。

图3 新安江模型参数估计的应用模型

该应用模型实现了混合蛙跳优化算法与新安江水文模型的耦合,通过混合蛙跳算法产生优化后的模型参数,然后在模型中利用目标函数来调用新安江水文模型进行模拟计算,得出该优化参数在模型模拟中的目标函数值;然后混合蛙跳算法将该反馈值作为算法优化改进的信息,经过大量的重复迭代工作使得算法进化,从而找到符合精度的参数优化结果(全局最优解)或达到最大进化次数。图3中的破折号框包括了从数据库或数据文件中获取到的基础数据。

在应用混合蛙跳算法优化新安江模型参数时,利用目标函数判断新个体的优良程度。首先以新的个体作为新安江模型的参数,新安江模型利用此参数和驱动数据,模拟产生模拟数据,将模拟数据与真实的观测数据对比,统计NSE值反映模拟量与观测量之间的逼近程度,当NSE的值越大,说明逼近程度越好,意味着个体所反映的参数越优秀;反之,参数越差。通过算法的不断迭代,找到能够使模型的模拟量与观测值逼近程度更高的参数。NSE表达式如下:

(2)

4实例应用及分析

4.1研究区域

本文的研究区域选用黑河流域中的扎马什克水文站以上流域。扎马什克水文站海拔高度为2 635 m,流域控制面积约为4 589 km2。在本文的模型参数优化方法的实例应用实验中,共收集了扎马什克水文站1990—2000年间逐日流量资料以及野牛沟气象站在1990—2000年(共11年间)的每6 h/d的气象数据(降水、气温、气压、风速和水面蒸发等)[18]。

4.2实验说明和参数设置

在内存为4G,处理器为Intel(R)Core i5-3750 3.40 GHz的计算机上,采用VC++6.0进行实验。在实验过程中,为了比较混合蛙跳算法在优化新安江模型时的算法性能,与应用于新安江模型的参数优化的遗传算法(GA)[18]进行比较。在此,简称混合蛙跳算法和遗传算法优化新安江模型分别为SFLAXAJ和GAXAJ。对SFLAXAJ和GAXAJ可以从以下两个方面进行实验比较:① 固定算法迭代次数,比较2种模型在达到一定迭代次数后的目标函数值的大小;② 固定优化精度,即给定目标函数值,比较2种算法收敛至特定目标函数值所需要的迭代次数。通过这2个不同角度的对比,实现对2种优化模型的收敛能力和速度的比较。下面对SFLAXAJ和GAXAJ2种模型的参数进行设置。

SFLAXAJ:群体大小SN=100,模因组个数M=10,每个模因组包含的个体数N=10,局部迭代次数I=10;

GAXAJ:群体大小SN=100,变异概率Pb=0.1,杂交概率Pz=0.6,复制概率Pf=0.3。

4.3实验结果与分析

4.3.1固定模型迭代次数

设置SFLAXAJ和GAXAJ两种模型的全局迭代次数G=1 000。当2种模型全局迭代次数达到1 000次时,统计2种模型的实验结果,主要包括10个参数结果以及目标函数NSE值,NSE值越大,说明获得的结果越好,反之越差。为了更加客观地说明2种模型的实验结果,使每个模型分别独立运行30次,分析2种模型的工作性能,统计2种模型在循环30次过程中所获得的目标函数最优值、最差值、平均值以及30次结果的方差,统计结果如表2所示。在30次运行过程中,2种模型获得的最优参数结果和目标函数值如表3所示。图4显示了2种模型运行30次的平均收敛过程。

表2 两种模型循环30次获得的目标

表3 两种模型循环30次获得的最优参数结果和目标函数值

图4 两种模型的平均收敛过程

从实验统计的结果可以看出:SFLAXAJ模型比GAXAJ模型具有更优的结果,在30次运行结果中,SFLAXAJ模型比GAXAJ模型的平均优化精度提高了2.5%。同时,SFLAXAJ的方差值比GAXAJ要小很多,表明SFLAXAJ模型运行更加稳定。通过结果对比,说明SFLAXAJ模型具有比GAXAJ模型更加优秀的全局收敛能力和更高的收敛精度。这是由于在GAXAJ模型中,部分较为优秀的个体会以较大的概率作为父代个体进化计算产生子代个体,在产生新群体过程中,缺乏对整个旧群体信息的充分利用,经过多次迭代,将会使子代群体快速地向同一区域聚集。在GAXAJ模型中,变异算子的加入在一定程度上能增强算法的全局收敛能力,但由于新安江水文模型较为复杂,变异算子使群体跳出局部极值区域的能力相对较弱,导致GAXAJ模型出现“早熟”现象。在SFLAXAJ模型中,每个模因组中的最坏个体以较小的步长逐步向该模因组中的最优个体或者全局最优个体迭代靠拢,或者是在最坏个体的解得不到改善的情况下,将会在给定取值范围内随机生成新的个体。这种进化机制不会使所有粒子迅速地向同一极值区域迅速收敛,从而增强了每个粒子的搜索范围。同时在所有模因组完成局部迭代后,将会对所有模因组混合按照所有个体的目标函数值降序排序重新划分模因组,使得每个模因组中的所有个体的覆盖空间有所增大,增强了全局收敛能力。通过多个模因组的共同组合,大大提升了SFLAXAJ模型的全局收敛能力和收敛精度。

4.3.2固定优化精度

设定目标函数值NSE=0.75,比较SFLAXAJ模型和GAXAJ模型收敛至该优化精度值时所需要的迭代次数。每个模型分别独立运行30次,比较两种模型优化结果的成功率(当迭代次数大于 1 000 仍未收敛至特定目标函数值时,认为模型运行失败)、最优值、最差值、平均值以及30次结果的方差,统计结果如表4所示。

表4 两种模型循环30次获得的目标

从实验结果可以看出:在固定优化精度时,SFLAXAJ模型在30次运行过程中的成功率为100%,而GAXAJ的成功率不到50%,SFLAXAJ模型比GAXAJ模型的平均成功率提高了53.33%。在平均迭代次数方面,SFLAXAJ模型比GAXAJ模型低很多。这是由于在GAXAJ模型中,群体的进化缺乏对最优秀的个体的充分利用,同时,在父代个体进化计算产生子代个体时,缺乏对父代个体和子代个体优劣程度的对比,很难保证新的群体整体解的质量一定优于旧的群体解的质量,增加了群体进化的不确定性,导致模型的收敛精度和收敛速度不理想。而在SFLAXAJ模型中,群体中最为优秀的个体往往携带了重要的群体进化的启发信息,每个模因组中的最坏个体进化都是向模因组中的最优个体或者全局最优个体方向的进化搜索,充分利用了精英个体所携带的启发信息。即便是在最坏个体解的质量得不到改善的前提下,仍将会在给定空间内随机生成新的个体,扩展了群体的搜索空间,使模型的局部搜索能力和全局搜索能力得到了很好的结合。同时,在SFLAXAJ模型中,除了每个模因组最坏个体的搜索,其他个体并不参与进化,这样能保证除群体部分最坏个体外,其他个体并不会出现退化现象,使群体的进化朝着确定方向收敛,提高了模型的收敛精度和收敛速度。

4.3.3实验总结

对SFLAXAJ模型进行实验仿真,同时与文献[18]中的GAXAJ模型进行实验对比。通过对实验结果的定量分析,得出SFLAXAJ模型无论是在全局收敛能力,还是收敛精度与速度方面,都比GAXAJ模型更具优势。

5结束语

水文模型参数优化对水文模型的成功应用至关重要,但水文模型本身较为复杂,造成了水文模型参数估计较为困难,用传统的办法很难获得较优秀的参数结果。本文提出了基于混合蛙跳算法的水文模型参数方法,并将该算法与具体的新安江模型进行耦合,选特定区域进行实验仿真。通过与基于遗传算法的水文模型参数估计方法定量对比分析可知:基于混合蛙跳算法的水文模型参数估计更具优势,全局收敛能力更好,收敛速度更快,证明了混合蛙跳算法可以应用于水文模型的参数估计。

参考文献:

[1]FRANCHINI M,GALEATI G.Comparing several genetic algorithm schemes for the calibration of conceptual rainfall-runoff models[J].Hydrological Sciences Journal,1997,42(3):357-379.

[2]VRUGT J A,GUPTA H V,BOUTEN W.Real-time data assimilation for operational ensemble streamflow forecasting[J].J.Hydrometeorol, 2006(7):548-564.

[3]HAISHEN LU,TING HOU,HORTON R,et al.The streamflow estimation using the Xinanjiang rainfall runoff model and dual state-parameter estimation method[J].Journal of Hydrology,2013,480:102-114.

[4]ZHAO R J,ZHANG Y L,FANG L R,et al.The Xinanjiang model[C]//Hydrological Forecasting Symposium:Proceedings of the Oxford Symposium.Wallingford:IAHS Press,1980.

[5]ZHAO R J.The Xinanjiang model applied in China[J].J.Hydrol.1992,135:371-381.

[6]江燕,刘昌明,胡轶松,等.新安江模型参数优选的改进粒子群算法[J].水利学报,2007,39(10):1200-1206.

[7]CHENG C T,OU C P,CHAU K W.Combining a fuzzy optimal model with a genetic algorithm to solve multi-objective rainfall-runoff model calibration[J].Journal of Hydrology,2002,268(1):72-86.

[8]李致家,王寿辉,HAPUARACHCHI H A P.SCE-UA方法在新安江模型参数优化中的应用[J].湖泊科学,2001 (4):304-314.

[9]孟新华,涂启玉,周年华,等.基于遗传模拟退火算法的新安江模型参数优选[J].水电自动化与大坝监测,2009 (3):64-67.

[10]EUSUFF M M,LANSEY K E.Optimization of water distribution network design using the shuffled frog leaping algorithm[J].J of Water Resources Planning and Management,2003,129(3):210-225.

[11]崔文华,刘晓冰,王伟,等.混合蛙跳算法研究综述[J].控制与决策,2012,27(4):481- 486.

[12]骆剑平,李霞,陈泯融.混合蛙跳算法的Markov 模型及其收敛性分析[J].电子学报,2010,38(12):2875- 2880.

[13]刘立群,王联国,韩俊英,等.基于全局共享因子的混合蛙跳算法[J].计算机工程,2013,30(10):162-155.

[14]郑仕链,楼才义,杨小牛.基于改进混合蛙跳算法的认知无线电协作频谱感知[J].物理学报,2010,59(5):3611-3617.

[15]骆剑平,李霞,陈泯融.基于改进混合蛙跳算法的CVRP求解[J].电子与信息学报,2011,33(2):429- 434.

[16]蔡良伟,李霞.基于混合蛙跳算法的作业车间调度优化[J].深圳大学学报:理工版,2010,27(4):391-395.

[17]赵人俊.流域水文模拟—新安江模型和陕北模型[M].北京:水利水电出版社,1984:98-142.

[18]王书功.水文模型参数估计方法及参数估计不确定性研究[M].郑州:黄河水利出版社,2010:5-142.

(责任编辑杨黎丽)

Research of Parameters Estimation Method for Hydrological Model Based on Shuffled Frog Leaping Algorithm

HUO Jiu-yuan1, 2, LIU Li-qun3, ZHAO Hong-xing1

(1.School of Electronic and Information Engineering, Lanzhou Jiaotong University,Lanzhou 730070, China;2.Cold and Arid Regions Environmental and Engineering Research Institute, Chinese Academy of Sciences, Lanzhou 730000, China;3.Information Institute of Science and Technology,Gansu Agricultural University, Lanzhou 730070, China)

Abstract:Traditional heuristic algorithms usually have defects such as prematurity and slow convergence for parameter estimation in Hydrologic model. In order to improve the accuracy of parameter optimization and performance of optimization algorithm for hydrological model, Shuffled Frog Leaping Algorithm (SFLA) was introduced to propose a new method of Hydrological model parameters estimation based on SFLA. Then the method was applied to estimate the parameters of Xin’anjiang model, and compared with the parameter estimation method based on Genetic algorithm (GA) through experimental analysis. Experimental results show that the parameter optimization method based on SFLA could improve 2.5% of the average optimize accuracy and to GA, and 53.33% of success optimize rate under the fixed precision condition than the GA method. It is proved that SFLA could be applied for parameter estimation in Hydrologic model and it has more obvious advantages in both the speed and the accuracy of convergence.

Key words:shuffled frog leaping algorithm; Xin’anjiang model; parameter estimation; Nash-Sutcliffe efficiency coefficient

中图分类号:TP3

文献标识码:A 1674-8425(2016)03-0080-07

doi:10.3969/j.issn.1674-8425(z).2016.03.014

作者简介:火久元(1978—),男,甘肃永登人,博士,副教授,主要从事智能计算、模型参数优化研究。

基金项目:国家自然科学基金资助项目(61462058);兰州交通大学青年科学基金资助项目(2013032)

收稿日期:2015-12-10

引用格式:火久元,刘立群,赵红星.基于混合蛙跳算法的水文模型参数估计方法[J].重庆理工大学学报(自然科学),2016(3):80-86.

Citation format:HUO Jiu-yuan, LIU Li-qun, ZHAO Hong-xing.Research of Parameters Estimation Method for Hydrological Model Based on Shuffled Frog Leaping Algorithm[J].Journal of Chongqing University of Technology(Natural Science),2016(3):80-86.

猜你喜欢
蛙跳新安江模因
新安江钓者
“三层七法”:提高初中生三级蛙跳能力的实践研究
新安江
模因视角下的2017年网络流行语
三坐标测量在零件安装波动中的应用
试论翻译中的模因*
新安江上游横江地表水中砷、硒、汞含量变化研究
新安江上游流域农村污水处理技术应用
基于模因论的英语听说教学实验研究