河流水质多参数识别反问题的演化算法

  • 格式:pdf
  • 大小:333.63 KB
  • 文档页数:5

 2003年10月水 利 学 报SHUILI XUEBAO第10期

收稿日期:2002211208

基金项目:陕西省自然科学基金资助项目(2001D01);陕西省教委自然科学专项科研计划项目(106-220140)作者简介:闵涛(1963-),男,陕西西安人,副教授,博士,主要从事环境水力学反问题的研究。

文章编号:055929350(2003)1020119205

河流水质多参数识别反问题的演化算法闵涛,周孝德,冯民权(西安理工大学理学院,陕西西安 710048)

摘要:给出了利用演化计算方法求解河流水质多参数反问题的一种新方法。该方法把参数识别反问题转化为优化问题用演化方法求解。它的特点在于:从多个初始点开始寻优,并借助交叉和变异算子来获得水质参数的全局最优解。数据模拟结果表明,该方法具有很高的精度,收敛速度快,且编程简单,易于计算机实现,值得在实际工作中采用。关键词:反问题;污染物;参数识别;演化算法;遗传算法中图分类号:X522文献标识码:A

1 问题的提出近些年来,环境污染的问题越来越受到人们的普遍重视,如何合理地、有效地和经济地保护人类环境,是环境工作的主要研究课题。为了达到净化环境的目的,研究污染物在水体中扩散现象,进而加以控制,就成为其中重要内容之一。污染物在水体中的输移、转化、累积过程,除了要考虑分子的扩散与湍流扩散外,还要考虑到由剪切流造成的类似分子扩散的弥散作用。但在天然河流中,分子扩散系数具有数量级10-5~10

-4m2Πs,

湍流扩散系数具有数量级0101~1m

2Πs,而弥散系数的数量级为10~103m2Πs,因此,在河流水质模型

中,一般可以忽略分子扩散及湍流扩散的影响,于是可建立如下微分方程9(AC)9t+9(QC)9x=99xDA9C

9x

+AS

其中:A为河床断面(L

2);Q为流量(L3T-1);D为弥散系数(L2T-1

);C为某组分子在x断面处t

时刻的浓度(ML

-3

);S

为各种源和漏的代数和。

对于一个不太长的河段,常可假定其水流近似地处于稳定状态,断面沿程均匀,这样A、Q、D

都可近似地作为常数处理,上述微分方程可简化为9C9t+u9C9x=D92C

9x

2

+S

式中:u表示断面平均流速,u=

Q

A(LT-1)。

若河流中某种污染物进行一级衰减反应,并假定河底无渗漏,忽略面源的侧向输入,这时S=-

KC,K为常数,在不太长的河流中,某一污染物扩散所满足的微分方程是一个抛物型方程,结合实际问题的假设,可得如下定解问题

—911—9C9t+u9C9x=D92C

9x

2

-KC(0t

)

C|t=0=0(0≤x<∞)C|x=0=C0 C(∞,t)=0(0)

(1)

当u、D、K、C

0均为已知时,方程组(1)构成适定的定解问题。对其进行求解,得出

C=C

(x,t),从而可预测污染浓度的演进过程,这是人们熟知的正问题。

现在的问题是,若u、D、K未知,如何根据方程组(1)及其它已知信息来确定这些未知参数

,

便构成了一类参数识别反问题,这类问题在研究水污染水质模型中非常重要,已引起了人们的广泛重视,它们的确定,对改善模型的精度起着关键作用。但由于问题的非线性及不适定性,这方面的研究进展缓慢,还没有成熟方法。关于方程(1)中的弥散系数D的反演在文[1-4]中进行了专门研究,例如用矩量法、演算法、反函数法及非线性优化性,但都存在着一些明显的不足,有的要求示踪实验中样品的完整性(而实际上很难完全做到),有的要利用正态分布的性质及实验数据拟合一些标准曲线并进行作图描点,有的要把解删去一部分以求简化。而用这些方法同时反演u、D、K的难度会更大,到目前为止还没见到与之相关的文献。为此,本文作者基于演化算法,提出一种新的同时反演u、D、K的方法,该方法克服了上述的不足,并且反演的精度高,易于计算机编程实现,适合在实际中采用。

2 参数反演的优化方法为了辩识这些参数,常通过对C=C(x,t)的某种观测,把它转化为一个优化问题,根据观测方式的不同,采用的优化指标也不相同,实际中常有以下几种情况。(1)观测得到某一点在不同时刻的浓度值󰁦C(x

0,ti),(i=1,2,…,n)。(2)观测得到同一时刻在不同点上的浓度值󰁦C(xi,t0

),

(i=1,2,…,n)。(3)观测得到不同时刻不同点上的浓度值󰁦C(xi,tj),(i=1,2,…,n;j=1,

2,…,m

)。

若固定C

0,当方程(1)中的u、D、K取不同值时,一般说相应的解是不同的,

为了表示这种

依从关系,把方程组(1)的解表示为C=C(x,t,u,D,K),利用Laplace变换,不难得到[4]

C(x,t,D,K)=C02expux2Dexp-x2Du2+4DKerfcx-u2+4DK・t2Dt+

expx2Du2+4DKerfcx+u2+4DK・t2Dt(2)其中erfc(x)=2π∫∞xe-t2dt是一广义积分。

根据c(x,t)的不同观测,参数u、D、K的识别问题就可相应的转化为下面的优化问题。(4)u,D,Kmin∑ni=1[c(x0,ti,u,D,K)-󰁦C(x0,ti)]2,

(如果得到某一点在不同时刻的值󰁦C(x0,ti)时,i=1,2,…,n),

(5)u,D,Kmin∑ni=1[c(xi,t0,u,D,K)-󰁦C(xi,t0)]2,

(如果得到某一时刻在不同点上的浓度值󰁦C(xi,t0)时,i=1,2,…,n),

(6)u,D,Kmin∑ni=1∑mj=1[c(xi,tj,u,D,K)-󰁦C(xi,tj)]2,

(如果得到不同时刻不同点上的浓度值󰁦C(xi,tj)时,i=1,2,…,n;j=1,2,…,m)。

由于C(x,t,u,D,K)的表达式非常复杂,是关于u、D、K的高度非线性函数,要用传统的方法,例如牛顿法,共轭梯度法及非线性优化法等来求解(4)、(5)、(6)相当困难,甚至不可能—021—实现。3 演化算法演化算法(也称遗传算法)是由美国密执安大学的JohnHolland教授60年代提出的,是模拟自然界的生物演化过程,借鉴生物界的自然选择和自然遗传机制而发展起来的一类问题求解的策略和随机计算模型,其最大的优点是直接以目标函数作为搜索信息,无需目标函数的导数值等其它一些辅助信息,并且使用多个搜索点的搜索信息。由于演化算法本身具有自组织,自适应和自学习等智能特征以及本质的并行性和易于操作通用性强等特点,已被成功地应用于机器学习,模式识别,经济预测,优化控制及其各种复杂数据的分析和计算等[8-10]。本文将(4)、(5)、(6)作为演化算法的适应值函数,根据所提供的观测值采用演化技术,对模式适时调整参数使用(4)、(5)、(6)取得最小值以得到参数的最优估计值。其具体步骤如下:①采用实数编码策略,每个个体包含待估计的3个参数,种群中取10个个体。②采用择优选择策略,即当前最好个体不如上一代最好个体,则用上一代最好个体替换之。③遗传算子只包括交叉和变异。④算法的控制参数:本文中取交叉概率为p

c=018,变异概率为pm=012。⑤算法的停机准则,

当演化

代数大于最大演化代数G=1000或结果在50代内没有改进。具体的算法描述如下:

Procedure:GeneralGeneticAlgorithmsBegin随机初始化种群,P(0),t=0;

计算P(0)

中个体的适应值

;

保留最好个体;

While(不满足终止条件)do执行交叉算子;

执行变异算子;

计算p(t+1)中个体适应值,t=t+1;

如果当前最好个体不如上一代最好个体,则用上一代最好个体替换之;

endend

4 数值模拟试验为了检验上述演化参数反演方法的性能,我们进行了数值模拟试验,试验中,预先规定方程(1)参数的真值,将这种情况下的解的输出值作为观测值。试验1。表1中给出的数据为在弥散系数D=2km

2

/h,流速u=5kmΠh,污染的一级反应速率常数

K=01015kmΠh,C0=10mgΠL的条件下,由式(1)算出的在x=110km处不同时刻的观测数据󰁦C(x0,

t),(i=1,2,…10)。在演化算法中,群体中取10个个体,每个个体中包含3个待估计的参数u、D、K,限定参数的范围都在区间[0,100]内取值,并取(4)作为演化算法中的适应值函数,经过1000代演化得到参数u、D、K的估计值为u3=419990,D3=119999,K3=010150。其均方误差为012682×10-4,结果与真值十分接近。试验2。表2给出t=018时不同点上的观测数据,此时参数的真值为u=6,D=315,K=0125,

类似于试验1,经过1000次演化得到参数的估计值为u

3=610142,D3=31545,k3

=012500,其均

方误差为016872×10

-5

—121—