水库调洪演算BP网络模型的建立与研究1※※※1※※※2※※※1※※※31.西北农林科技大学水建学院2.西北农林科技大学信息工程学院陕西杨凌712100;3.浙江省围海工程公司浙江宁波315051[摘要]分析了影响水库调洪演算的因素,建立了基于人工神经网络下的水库调洪演算BP网络模型,进行了洪水过程模拟和预测;对影响网络收敛速度的因素做了探索研究,阐述了BP网络参数选择原则和选取范围.[关键词]水库调洪演算;人工神经网络模型;参数选取水库调洪演算在水库设计中有着举足轻重的地位。通常借助于水库调洪演算辅助曲线图解计算,该方法操作复杂,曲线更新繁琐,计算精度也受人为因素的影响。本文以时段水库水量平衡原理和动力平衡原理为依据,使用人工神经网络的理论和技术,建立了基于BP网络的水库调洪演算人工神经网络模型,进行了洪水过程模拟和预测.并对影响网络收敛速度的因素做了探索,阐述了BP网络参数选择原则和选取范围。1.BP网络模型简介BP网络模型是实现复杂非线性映射的新方法。如果网络的输入层神经元个数为n,输出层节点数为m,则该网络实现的是Rn到Rm的映射,即有:Rn→Rm[1]。BP算法主要包括两个过程:一是由学习样本、网络权值W和阈值θ,按照输入层→隐层→输出层的顺序,逐层计算节点的输出;二是由期望输出与计算输出构造出误差函数E(Wk),采用梯度下降法调整网络权值,即Wk+1=Wk+η通过不断学习,当误差函数E(Wk+1)小于任意小的值ε时,网络收敛。2.水库调洪演算的BP网络模型建立2.1BP网络的输入与输出水库调洪演算是在水库水量平衡和动力平衡原理(即圣维南方程组的连续方程和动力方程)的支配下进行的[2]。水库水量平衡方程可用下式描述:式中,Q1和Q2为时段△t始、末的入库流量(m3/s),q1和q2为时段△t始、末的出库流量(m3/s),V1和V2为时段△t始、未的水库蓄水量(m3),△t为计算时段(s)。动力平衡用水库的蓄泄关系描述:q=f(H)(2)式中,q是下泄流量(m3/s);H为堰上水头(m)。在水库调蓄洪水期间,视水库为静水面,则有H=f(V),其中V为水库库容(m3)。结合(2)式,则有:q=f(V)(3)1[收稿日期]:2001-1[作者简介]:※※※(1965-),副教授KWE12222121VVttqqQQ(1)由(1)和(3)可得:q2=f(q1,Q)或q2=f(q1,Q1,Q2)水库调洪演算的实质就是确定时段末的下泄流量q2。q2是时段初的下泄流量q1和时段平均入库流量Q的函数,或是时段初的下泄流量q1和时段始、末入库流量Q1、Q2的函数。它们分别对应于网络的输出和输入,输入与输出之间存在着非线性映射关系。2.2BP网络模型的建立经比较,输入层神经元分别为Q1、Q2和q13个,隐层节点数为7,输出层节点数为1,构成BP网络(简称3-7-1模型)。表1为某水库12h洪水演算数据[2],将其中的前9个洪水过程数据作为学习样本,后3个(内插数据)作为预报样本。取学习率为1.85,冲量因子为1.3。经网络不断学习和对学习效果比较,得出网络最优权值和阈值,如矩阵W1、W2、W3、W4所示。W1为输入层对隐层的权值、W2为隐层对输出层的权值、W3为隐层阈值、W4为输出层阈值,BP模型拟合和预测结果如表2。W4=-6.6664表1某水库12h洪水过程基本数据Table1Somereservoirof12hfloodwaterprocessbasicdata序号No.Q1(m3/s)Q2(m3/s)q1(m3/s)实测值Realresults(m3/s)序号No.Q1(m3/s)Q2(m3/s)q1(m3/s)实测值Realresults(m3/s)11014010207321513010021407102010581510100753710279105235910107565427913123522510440190165242513165225175111909524220066532175130129545200150表2BP模型拟合和预测结果Table2ImitationandpredictionresultsoffloodWaterprocessBPneuralnetwork样本序号No.实测值Realresults(m3/s)计算值Calculationresults(m3/s)误差Error(%)序号No实测值Realresults(m3/s)计算值Calculationresults(m3/h)误差Error(%)12020.94-1.88710098.601.452105105.20-0.0287576.60-2.103235235.000.0096564.360.984225225.19-0.4010242234.803.30170.1244.1878.1706.1946.2312.2184.0264.5576.4814.3440.2483.4872.1344.2655.2308.0030.13840.0453.2585.0326.01w401.5714.4757.8477.3797.7579.3468.12w200.0348.0722.0250.1576.2282.0727.03w图2隐层节点数对网络学习速度的影响575174.72-0.4611200202.10-1.656130130.720.5612150153.70-2.453网络参数对网络收敛速度的影响在保证网络学习质量的前提下,提高BP网络的收敛速度,一直是人们研究的问题[3]。对于三层BP网络,影响收敛速度主要因素有:输入层神经元数、隐层节点数、输出层节点数、学习率、冲量因子。对此,本文分析研究如下:3.1输入层神经元个数一般认为,输入层神经元数为影响因子数[4],但由于研究问题的出发点不同,可得到同一问题,影响因子数不同。计算结果表明当网络其他参数不变时,输入层神经元数目多时,更有利于提高网络的收敛速度。水库调洪演算中的输入层神经元个数可为时段初出库流量和时段平均入库流量两个因子,也可为时段初、末入库流量和时段初出库流量3个。当为2个因子时,网络学习次数为321万次,当为3个时,网络学习次数为260万次,学习次数减少20%。3.2隐层节点数隐层节点数个数的确定也是人工神经网络理论界一直研究的问题[3]。图2表示了不同隐层节点数对网络学习速度的影响,可以看出隐层节点数增多,网络学习次数减少,收敛速度加快;但隐层节点数过大,反而会影响学习速度,考虑学习次数和每次学习时间,本模型以隐层节点数7为宜。这样也验证kolmogorov定理[5]。3.3学习率和冲量因子BP网络中引入学习率和冲量因子的目的是提高网络的学习速度,加快网络收敛[1]。试验结果表明:学习率和冲量因子取值不同,对网络的影响程度不同。当学习率和冲量因子增大时,网络更易于收敛,训练误差也更快满足要求;但当学习因子过大(如学习率为2.8时),观察学习过程,训练误差会出现反复和跳跃;当学习率较小时(小于0.3),训练误差平稳下降,但网络训练次数大大增多。图3、图4分别表示了“3-7-1”模型在网络其它因子不变时,学习率和冲量因子对网络学习速度的影响。图3学习率对网络学习速度的影响图4冲量因子对网络学习速度的影响4结语人工神经网络由于具有很强的自学习性、自组织性和自适应能力,因而,在水库调洪演算过程中具有许多优点:对于任意水库的洪水资料,只需采用三层BP网络对实测数据学习,就会产生出满足误差要求的BP网络,方便地进行洪水预报,因此具有广阔的应用前景;BP网络学习过程中的大量参数是学习所得,不受人为因素影响,预报结果准确、精度高。通过对影响网络收敛速度的因素的试验研究,得到了网络参数选择的原则和范围,避免人们使用时参数选取的盲目性。但这类问题无论从理论上还是在实践中,尚需进一步研究。[参考文献][1]焦李成.神经网络的应用与实现[M].西安:西安电子科技大学出版社,1995.[2]叶守泽.水文水利计算[M].武汉:武汉电力出版社,1992.271-272,275-276.[3]丁晶.水文水资源人工神经网络模型的研究神经网络的应用与实现[J].水资源研究,1996(l7):22-24[4]陈志军.灌溉发展需求预测人工神经网络模型的建立与应用[J].水利学报.1998.2:1-3.[5]NielsenRH.Kolmogorow’sMappingNeuralNetworkExistenceTheorem.SanDiego:Proc.IEEEFirstInternationalConferenceonNeuralNetworks.1987,3: