李成林 刘绍根 杨伟伟
摘要:从给水管网运行工况的在线模拟角度出发,基于遗传算法(GA)对建立的管网微观水力模型进行了状态估计,针对模型特点采用实数编码的编码方案,以及自适应的交叉和变异算子,并用算例对模型进行了验证,结果表明:状态估计是正确可行的,估计的精度较高,能满足管网实时模拟的要求。
关键词:管网微观水力模型;遗传算法(GA);实数编码;状态估计
中图分类号:TU991.33
文献标识码:A文章编号:16749944(2017)8003203
1引言
给水管网状态变量是管网运行工况的真实反映,是管网科学管理的依据,是实现供水管网优化调度的基础,以精确可靠的管网微观水力模型为前提条件,准确及时地获取状态变量信息对实现管网科学管理、调度决策具有重要意义[1]。
管网状态估计过程实质上是节点需水量的估计过程,通过估计的节点需水量经平差计算获得状态解。节点需水量的估计需要用到迭代的思想,目前有两种常用的方法:遗传算法(GA)[2]和加权最小二乘法(WLS)[3]。遗传算法是一种人工智能算法,每次迭代搜索目标解是随机的,不需考虑对象的特定知识。遗传算法编程实现简单,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性限定,具有更好的全局寻优能力,采用概率的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向而不需要确定的规则。WLS是一种基于梯度的算法,在每次迭代搜索目标解时都是从对象函数的梯度信息出发。WLS在每次迭代过程中需要进行繁杂的雅可比矩阵计算,而遗传算法计算过程则相对简单易行。
本文基于遗传算法,采用实数编码方案,以及自适应的交叉和变异算子,对给水管网进行了状态估计[4]。
2状态估计数学模型
给水管网的运行工况取决于两类参数[5,6],一类是管段参数:管长、管径、摩阻
系数S;另一类是节点流量Q。描述管网运行工况的参数也有两类,一类是节点水压H,一类是管段流量q。S和Q称为独立变量,H和q称为状态变量。独立变量决定了状态变量,状态变量是独立变量的反映。若已知所有独立变量,可唯一地求解状态变量。两类变量之间的关系可用连续方程和能量方程描述。
fj(H,S,Q)=0(j=1,2,…,JD-1)(1)
或者fj(q,Q)=0(j=1,2,…,JD-1) (2)
Fj(S,q)=0(j=1,2,…,Ls) (3)
式中JD為节点总数;
Ls为环数。
在已知各水源供水量和各管段摩阻的情况下,实测部分节点水压H0t(NH个)和管段流量q0i(Nq个),估计其余节点水压H,以获得管网不同时刻的水压分布情况。分两步来进行状态估计,第一步估计各节点流量Q,使得通过(1)式计算出的测压节点的水压Hi和测流管段流量qi接近或者等于实测值H0i,q0i;第二步,当第一步估计达到一定精度时,利用估计的节点流量Q通过管网平差计算出各节点水压H。
由JD-1个方程组成的方程组(1),联立Nq个管段方程Hl-Hm=Siqn0i组成方程组(4)。
fj(H,S,Q)=0(j=1,2,…,JD-1)
Hl-Hm=Siqn0i(j=1,2,…,Nq)(4)
式中Hl,Hm为i管段起末节点水压;
n为指数; 其余符号意义同前。
设未知节点流量Q的个数为JD,要使方程组(4)有唯一解,必须使方程的个数等于未知数个数,即NH+Nq=JD,实测参数个数等于被估计参数个数。当NH+Nq>JD时,(4)式为超定方程组,此时也是有唯一解的,但实际操作时很不经济。由于模型是存在一定的误差的,因此,只需保证模型误差在给定的误差允许范围内即可。
3遗传算法中目标函数的表达及求解
3.1目标函数及约束条件
已知量是各管段参数及管段连接关系、各水源供水量、部分实测节点水压H0i(NH个)、部分实测管段流量Q0i(Nq个)。状态估计的目标是估计参数与实测参数尽可能接近,固有如下式所示的目标函数:
minF(Q)=∑NHi=1W1(i)H0i-HiH0i2+∑Nqi=1W2(i)q0i-qiq0i (5)
约束条件:
∑JDm=1Qm=Qd,Qm≥0(6)
式(6)中:W1(i)为节点水压参数权重;
W2(i)为管段流量参数权重;
Qd为管网总用水量;
Qm为节点流量估计值;
其他符号意义同前。
参数权重W1(i)和W2(i)的选择一般用来反映测量参数的准确度。实际取值时,水压参数测量值的准确度较高,可取为1;而流量参数测量值为管段某一处的流量,而非管段的等效流量,其准确度较低,可取小于等于1的值。由于式中两项的量纲不一致,故在分母位置除以对应的实测值以消除量纲影响。
根据遗传算法本身的特点,约束条件选择以惩罚函数的形式体现到目标函数中去,从而起到约束自变量的作用。罚函数为满足下列条件的函数[7]:
P(x)=0,x∈X
>0,xX(7)
式(7)中:P(x)为罚函数,X为问题的可行域。
设F为增加约束惩罚后的最小目标函数,即:
minF=F(x)*(1+P(x))(8)
最后,以Fitness=1/F作为适应度函数参与遗传算法的计算。
3.2目标函数求解
3.2.1编码
遗传算法优化的对象是节点需水量,为连续变量,若使用传统的二进制编码,则需先离散化,以后文的算例为例,某一节点需水量为4.953 L/s,为使编码达到指定的精度,则需设置8位为该节点需水量的二进制染色体,而使用实数编码则只需一个浮点数即可表示一个个体的染色体,搜索空间得到很大优化,大大提高了搜索效率。
3.2.2选择、交叉和变异
以EPANET的计算引擎为平差工具[8],通过实数编码得到的初始染色体设置节点需水量,平差得到实测节点的计算压力和实测管段的计算流量,根据前文中的目标函数得到相应染色体的适应度值。这里采用精英策略选择作为选择算子,对父代染色体进行选择得到子代染色体。
为防止遗传算法陷入局部最优,以及加快收敛速度,采用自适应的交叉和变异算子使得遗传参数能根据适应度的统计变化自适应变化。即对于适应度高的解,取较低的Pc和Pm,使该解进入下一代的机会增大;而对于适应度低的解,取较高的Pc和Pm,使该解被淘汰掉;当成熟前发生收敛时,加大Pc和Pm,加快新个体的产生。Pc和Pm自适应改变公式为:
Pc=kc(Fitmax-Fitc)Fitmax-FitavgFitc≥Fitavg
kcFitc≤Fitavg(9)
Pm=km(Fitmax-Fitm)Fitmax-FitavgFitm≥Fitavg
kmFitm≤Fitavg (10)
其中,km是小于1的常数,Fitc为交叉的个体中适应度大的,Fitm为变异个体适应度,Fitmax为种群里最大的适应度,Fitavg为种群平均适应度,Fitmax-Fitavg为种群收敛程度,越小表示种群越收敛,此时对应的Pc和Pm会增大,防止陷入局部最优。
3.2.3算法流程图
计算流程图见图1。
4算例分析及模型验证
已知管网由一个水源,52个节点,74条管段组成,如图2所示。
管段的管径分别有DN50、 DN40、DN32、DN20、DN15。已知节点需水量、监测点压力数据和监测管段流量数据,根据部分实测节点压力和部分实测管段流量(共6个)来估计节点需水量,从而得到管网状态解,比较监测节点压力以及管段流量的实测值和估计值,若总体误差较小,模型即得以验证。计算结果见表1。节点需水量A-F对应于算例管网水力模型中水龙头2-6以及粗管末端的节点需水量,节点压力1-6和管段流量1-8为监测对象。
根据表1可得,由GA寻优得到的估计节点需水量和实测值误差均在5%以内时,监测数据(节点压力和管段流量)实测值和通过估计节点需水量平差计算的估计值均为较小误差,只有管段6超过5%,为8%,其余均在5%以内,故认为通过上述估计节点需水量平差计算的各节点压力估计值能满足管网状态模拟要求。
5结论与建议
在水源供水量、管段摩阻已知的情况下,利用遗传算法对节点需水量进行估计计算,得到的管网状态解精度较高,能满足管网工况实时模拟的要求。
在用实数编码方法进行决策变量的编码时,由于已知节点需水量,故设置的编码精度为对应节点需水量的1%,对于实际工程,节点流量大都根据节点服务范围内的用户营收系统中的历史用水量来推算,所反映的大体上是平均情况,可适当扩大编码精度以增大搜索范围。
算法中的估计求解是方程为正定的情况下进行的,对于实际工程往往是欠定方程,故需先将欠定问题转化为正定或超定问题,然后再进行GA寻优计算。一般可通过两种方法来实现,一是将先验信息添加到模型中,增加方程个数;二是对参数进行聚类,减少未知数的个数。
参考文献:
[1]
陶建科,刘遂庆.建立给水管网微观动态水力模型标准方法研究[J].给水排水,2000,26(5):4~8.
[2]孙柏.供水管网水力水质模型及其校核研究[D].长沙:湖南大学,2012.
[3] Kang D.,Lansey K..Real-Time Demand Estimation and Confidence Limit Analysis for Water Distribution Systems[J].Journal Hydraulic Engineering,2009,135(10):825~837.
[4]孫祥蕾,张光焱,罗晓琳,等.一种引入强制变异的改进遗传算法[J].中国科学院研究生院学报,2003,20(3):316~320.
[5]丛海兵,黄廷林.给水管网状态估计的优化方法[J].给水排水,2001,27(9): 34~38.
[6]丛海兵,黄廷林.给水管网的状态模拟[J].西安建筑科技大学学报,2003,35(4): 343~346.
[7]俞亭超.城市供水系统优化调度研究[D].杭州:浙江大学出版社,2004:48~53.
[8]Rossman L A.EPANET 2 users manual[M].Cincinnati:National Risk Management Research Laboratory office of Research and Development US Environmental Protection Agency,2000.
Abstract: Based on the genetic algorithm (GA), the state estimation of the established micro-hydraulic model of the pipe network was carried out from the point of view of on-line simulation of the operating conditions of the water supply network. Real number encoding is proposed according to the model features, an adaptive crossover and mutation operator. Moreover, the model is verified by an example. The results showed that the algorithm is correct and feasible. The accuracy of the estimation is high and it can meet the requirements of real-time simulation of pipe network.
Key words: pipe network microscopic hydraulic model; Genetic Algorithm (GA); real number coding; state estimation