袁 华,刘元会,郭建青,张洪波,付 翠
(长安大学 a 理学院,b 环境科学与工程学院,陕西 西安 710064)
河流水质参数是河流水质模型应用的基础,其值的正确与否直接决定了河流水质状态预测和预报的准确性。进行河流水团示踪试验,分析示踪剂浓度随时间的变化是确定河流水质参数的主要方法。目前,针对一维河流水团示踪试验的数据分析方法较多,如单站法、双站法、相关系数极值法[1]、演算优化方法[2]、单纯形加速法[3]、抛物方程近似拟合法[4]、粒子群优化算法[5]、单纯形-模拟退火混合算法[6]和有限差分-单纯形法[7]等。但有关分析二维河流水团示踪剂试验数据,确定河流横向扩散系数的方法较少,目前常用的主要有改进矩法[8]、经验公式法、相关系数极值法[9]和人工神经网络法[10]等,这些方法在求解实际问题时都有各自的缺点[11]。
粒子群作为一种高效运算的优化方法,能够有效地应用于求解非线性、多峰值和不可微的复杂函数优化问题。因此,其在实际问题中的应用得到了快速的发展,但是该算法在计算过程中易陷入局部最优。鉴于此,本研究对基本的粒子群优化算法进行了改进,并将其应用于分析一维及二维河流水团示踪试验数据及求解河流纵向离散系数、综合排放参数、断面平均流速、河流横向扩散系数和污水排放点的函数优化问题,通过数值实验初步分析了改进粒子群优化算法的可靠性;针对一维问题,对比分析了初始粒子数减少时改进前后2种算法的收敛性;针对二维问题,讨论了待估参数的初始取值范围对收敛速度的影响,并与基本的粒子群优化算法的计算精度、收敛性和运算速度进行了比较。本研究旨在为改进的粒子群优化算法在河流水质参数确定中的应用提供参考。
粒子群优化算法是1995年Kennedy等[12]通过对鸟类和鱼类觅食行为的模拟而提出的一种群体优化算法。其基本步骤为:在一定范围内初始产生粒子群体,每个粒子的Pbest坐标位置就是当前位置,计算出每个粒子的适应度并进行比较,将群体中适应度最好粒子的坐标位置记为gbest,并记录该粒子的序号。判断个体当前值是否优于历史值,若优于则替代之;再判断个体当前值是否优于全局最优值,若优于则替代之;更新粒子的位置和速度,判断是否满足算法终止条件,若满足则跳出循环,输出结果。
鉴于基本的粒子群优化算法易陷入局部最优,本研究在以下几个方面对其进行了改进:
1)基于混沌序列的种群初始化[13]。初始化的混沌序列具有随机性与遍历性,能够使初始种群最大程度地不重复遍历整个解空间,进而改善粒子群优化算法易陷入局部最优的不足。
2)缩小解空间。粒子群搜索过程中已找到一个非常接近最优解的点,为了提高计算结果的精度,加入局部搜索性能好的单纯形搜索,在局部搜索前按照下式缩小解空间,以提高收敛速度。
(1)
3)局部搜索。在算法最后加入了局部搜索速度快且计算结果精度较高的单纯形算法,以搜索提高求解的精度。
改进的粒子群优化算法的具体步骤如下:
步骤1:通过Logistic映射产生初始粒子种群,将粒子种群Xn,m+1转化为用于优化的粒子种群,初始化每个粒子的速度。
步骤2:计算每个粒子的适应度,每个粒子的Pbest坐标为其当前位置,种群中适应度最好的粒子记为全局最优,记录其序号,并将gbest设置为最好粒子的当前位置。
步骤3:计算每个粒子的适应度。
步骤4:对每个粒子,将其适应度与个体极值比较,若较优,则替代之。
步骤5:对每个粒子,将其适应度与全局最优值比较,若较优,则替代之。
步骤6:根据下式更新每个粒子的位置和速度:
(2)
式中:vik为粒子速度;ωik为惯性权重系数;c1、c2为加速因子,取c1=c2=2.0;rand1、rand2为在[0,1]区间内变化的随机函数;pik为个体极值;xik为粒子当前位置;pgk为全局最优值;xgk为当前最好粒子的位置;t为迭代次数。
步骤7:若2次求得的最优值之差小于设定的极小值ε或迭代次数达到最大,转到步骤8,反之转到步骤2。
步骤8:缩小解空间。
步骤9:进行单纯形搜索[14]。
在确定河流断面平均流速V、纵向离散系数DL与综合排放参数时,一般采用瞬时投放示踪剂情况下的一维河流水团示踪试验示踪剂质量浓度的解析解表示,其解析式为:
(3)
式中:c为示踪剂质量浓度,mg/m3;M0为瞬时投放示踪剂的质量,mg;A为河流的横断面积,m2;DL为河流纵向离散系数,m2/s;t为时间,s;x为投放点与采样点的距离,m;V为河流断面的平均流速,m/s。
在河流岸边连续投放含有惰性污染物的污水,设水流方向为x轴,垂直水流方向为y轴,污水投放点的坐标为(x0,y0),在构建二维河流水质模型时假设污染物在沿水深方向很快均匀混合,忽略污水在河流中的纵向弥散作用,并将河流对岸看成无限远边界,在此情况下,稳定的二维河流水团示踪剂试验解析模型的基本方程式[15]为:
(4)
式中:c(x,y)为在空间坐标(x,y)处的污染物质量浓度,mg/m3;q为投放污水的流量,m3/s;lq为投放污水的质量浓度,mg/m3;h为河流断面的平均深度,m;u为河流的平均流速,m/s;Dy为河流的横向扩散系数,m2/s;x、y为污染物质量浓度实测点的坐标,m;x0、y0为污水排放点的位置坐标,m。
为保证文中算法能够得到正确的使用,要求示踪试验时,在污水排放点下游布设纵向坐标分别为x=x1和x=x2的2个横断面,测量其沿河流宽度方向分布的2组污染物的质量浓度。
应用改进的粒子群优化算法预估河流水质参数时,待估参数值需使河流水团示踪剂质量浓度观测值与计算值的离差平方和的平均值最小。
一维模型的目标函数表示为:
(5)
二维模型的目标函数表示为:
(6)
实例1:一维河流水质模型引自参考文献[16],在参数真值为θ=DL=3 000 m2/min、θ2=V=30 m/min、A=20 m2和x=500 m时,已知M0=10 kg,θ3=M0/A=0.5 kg/m2,对应不同时刻的河流水团示踪剂质量浓度的实测数据见文献[16]。
实例2:二维河流水质模型引自文献[9],河流宽度B=60 m,平均水深h=12.0 m,污水投放点的坐标x0=-200 m,y0=5.0 m,污水的排放流量q0=0.6 m3/s,河流平均流速u=0.5 m/s,投放污水污染物的质量浓度lq=8.0×107mg/m3,横向扩散系数Dy=0.04 m2/s,2个横向观测断面位置x1=300 m,x2=600 m,y1、y2为观测断面的纵向坐标(y1=y2) ,2个观测断面污染物质量浓度c1和c2见表1。
表1 实例2中2个观测面上污染物的质量浓度比较
根据算法流程,采用MATLAB编写的程序进行数值试验。
3.2.1 一维河流水质模型参数的优化 在初始粒子数为100,最大迭代次数为50次,给定待估参数初值范围为真值20倍的情况下,进行数值试验100次,并求参数平均值。利用CPSO算法估算得河流纵向离散系数、断面平均流速和综合排放参数分别为DL=3 001.8 m2/min、V=30.01 m/min和M0/A=0.5 kg/m2。将参数计算结果与其真值相比较,可知3个参数的相对误差最大值为0.06%。由此可知,CPSO算法的计算结果是可靠的。与文献[16]中直线图解法求得的DL=3 078.8 m2/min、V=29.6 m/min对比可知,CPSO算法在计算精度上有很大程度的提高。
当每个参数预估值与真值的相对误差均小于0.3%时,认为算法收敛成功,反之则认为算法收敛失败。定义收敛成功次数与试验总次数之比为收敛率。取粒子数分别为30,60,100和200,在最大迭代次数为1 000的情况下,进行数值试验100次,计算结果见表2。由表2可以看出,随着粒子数的减少,PSO算法运算过程中收敛失败的次数呈递增趋势,而CPSO算法却没有出现收敛失败的情况,且在粒子数很少时也能达到理想的收敛结果,这表明CPSO算法很好地弥补了PSO算法在计算一维河流水质模型参数时易陷入局部最优的不足,并且在粒子数较多时也可以保证算法的收敛性,这与文献[5]的结论一致。
表2 求解一维河流水质模型参数时PSO和CPSO收敛率的比较
3.2.2 二维河流水质模型参数的优化 当每个参数预估值与真值的相对误差均小于2.5%时,认为算法收敛成功,反之则认为算法收敛失败。在初始化粒子数为300,最大迭代次数为50次的情况下,给定待估参数初值介于参数真值的2~15倍时的4种方案,分别进行数值试验100次并求平均值,计算结果见表3。由表3可以看出,CPSO算法的优化结果非常接近参数真值,这表明CPSO算法是可靠的;随着参数初值的增大,CPSO算法的平均运行时间呈递增趋势,但优化结果基本一致,这表明CPSO算法收敛性良好。
由表3中的计算结果还可以得到,在相同条件下,随着参数初值的增大,PSO算法收敛失败次数明显增多。相比之下,CPSO算法收敛失败的次数较少。由此可知,CPSO算法很好地弥补了PSO算法在计算河流水质参数时易陷入局部最优解的不足;由于在PSO算法中添加了单纯形算法,CPSO算法的运行时间稍长,但随着参数初值的增大,CPSO算法预估的参数平均值与真值的相对误差最大为7%,而PSO算法预估的参数平均值与真值的相对误差最大为35%,显然PSO算法计算的参数精度大大低于CPSO算法。这表明在计算河流水质参数时,CPSO算法在提高PSO算法收敛率的同时还提高了其运算结果的精度。
表3 CPSO算法与PSO算法求解二维河流水质模型参数在参数初值不同时计算结果的比较
通过对以上数值试验结果的分析可以得出如下结论:CPSO算法能够有效地应用于一维及二维河流水质模型参数的优化问题;CPSO算法估算的一维及二维河流水质参数值是可靠的;河流水质参数初值的取值范围对CPSO算法的收敛速度有一定影响;CPSO算法能够有效地弥补PSO在估计河流水质参数时易陷入局部最优的不足,且计算精度较高。
[参考文献]
[1] 郭建青,王洪胜,李云峰.确定河流纵向离散系数的相关系数极值法 [J].水科学进展,2000,11(4):387-391.
Guo J Q,Wang H S,Li Y F.The correlation coefficient extreme value method to determine the dispersion parameters of river [J].Advances in Water Science,2000,11(4):387-391.(in Chinese)
[2] 顾 莉,华祖林,何 伟,等.河流污染物纵向离散系数确定的演算优化法 [J].水利学报,2007,38(12):1421-1425.
Gu L,Hua Z L,He W,et al.Routing optimization method for determination of longitudinal dispersion coefficient in river [J].Journal of Hydraulic Engineering,2007,38(12):1421-1425.(in Chinese)
[3] 张江山.示踪试验确定河流纵向离散系数的单纯形加速法 [J].环境科学,1994,15(4):66-68.
Zhang J S.Accelerated simplex algorithm to determine the longitudinal dispersion coefficient in a river by tracer test [J].Environmental Science,1994,15(4):66-68.(in Chinese)
[4] 郭建青,李 彦,王洪胜,等.确定河流水质参数的抛物方程近似拟合法 [J].水利水电科技进展,2005,25(2):11-14.
Guo J Q,Li Y,Wang H S,et al.Approximate fitting method of parabolic equation for determination of water quality parameters for rivers [J].Advances in Science and Technology of Water Resources,2005,25(2):11-14.(in Chinese)
[5] 郭建青,李 彦,王洪胜,等.粒子群优化算法在确定河流水质参数中的应用 [J].水利水电科技进展,2007,27(6):1-5.
Guo J Q,Li Y,Wang H S,et al.Application of particle swarm optimization algorithms to determination of water quality parameters of river streams [J].Advances in Science and Technology of Water Resources,2007,27(6):1-5.(in Chinese)
[6] 郭建青,李 彦,王洪胜,等.应用单纯形-模拟退火混合算法估计河流水质参数 [J].水科学进展,2004,15(6):765-769.
Guo J Q,Li Y,Wang H S,et al.Using hybrid algorithm of simplex annealing to estimate water quality parameters of river stream [J].Advances in Water Science,2004,15(6):765-769.(in Chinese)
[7] 薛红琴,赵 尘,刘晓东,等.确定天然河流纵向离散系数的有限差分-单纯形法 [J].解放军理工大学学报,2012,13(2):214-218.
Xue H Q,Zhao C,Liu X D,et al.Finite difference method-simplex method for determination of longitudinal dispersion coefficient in natural river [J].Journal of PLA University of Science and Technology:Natural Science Edition,2012,13(2):214-218.(in Chinese)
[8] 郭建青,郑鹏海.确定河流横向扩散系数的改进矩法 [J].水电能源科学,1998,16(4):32-35.
Guo J Q,Zheng P H.The improved moment method for determining the transersal dispersivity of river stream [J].Internal Journal Hydroelectric Energy,1998,16(4):32-35.(in Chinese)
[9] 郭建青,李 彦,王洪胜,等.分析二维河流水质试验数据的相关系数极值法 [J].水利发电学报,2010,29(4):102-106.
Guo J Q,Li Y,Wang H S,et al.Correlation coefficient extreme method for analyzing the 2-D data of water quality experiment of river stream [J].Journal of Hydroelectric Engineering,2010,29(4):102-106.(in Chinese)
[10] 龙腾锐,郭劲松,冯裕钊,等.二维水质模型横向扩散系数的人工神经网络模拟 [J].重庆环境科学,2002,24(2):25-28.
Long T R,Guo J S,Feng Y Z,et al.Modulus of transverse diffuse simulation based on artificial weural network [J].Chongqing Environmental Science,2002,24(2):25-28.(in Chinese)
[11] 顾 莉,华祖林.天然河流纵向离散系数确定方法的研究进展 [J].水利水电科技进展,2007,27(2):85-89.
Gu L,Hua Z L.Advances in determination of longitudinal dispersion coefficient of natural rivers [J].Advances in Science and Technology of Water Resources,2007,27(2):85-89.(in Chinese)
[12] Kennedy J,Eberhart R C.Particle swarm optimization [C]//IEE Int Lconf on Neural Networks.Perth,Australia:IEBE Service Center,1995:1942-1948.
[13] 郭建青,李 彦,王洪胜,等.利用混沌优化算法确定河流水质模型参数 [J].水利发电学报,2004,23(4):92-96.
Guo J Q,Li Y,Wang H S,et al.Chaotic optimization for parameter estimation of water quality model of river [J].Journal of Hydroelectric Engineering,2004,23(4):92-96.(in Chinese)
[14] 张智星,孙春在.神经-模糊和软计算 [M].西安:西安交通大学出版社,2000.
Zhang Z X,Sun C Z.Neuro-Fuzzy and soft computing [M].Xi’an:Xi’an Jiaotong University Press,2000.(in Chinese)
[15] 金士博,杨汝均,侯然杰,等.水环境数学模型 [M].北京:中国建筑工业出版社,1987.
Jin S B,Yang R J,Hou R J,et al.Mathematical model of water environment [M].Beijing:China Architecture & Building Press,1987.(in Chinese)
[16] 郭建青,温 季.示踪试验确定河流纵向弥散系数的直线图解法 [J].环境科学,1990,11(2):24-27.
Guo J Q,Wen J.The linear graphic method for determining longitudinal dispersive coefficient of the streams by tracer test [J].Environmental Science,1990,11(2):24-27.(in Chinese)