基于供水管网漏失的泵组实时调度研究
0 引言
近年来, 中国水行业的年电耗量已达到40亿kW·h[1]。为了节约能源, 我国正大规模地发展节能降耗技术。泵组优化调度是一个具有众多离散变量的复杂目标优化问题, 其只能通过建立线性或非线性模型来找到最优的节能降耗方案。吕谋等[2]以供水管网的水量、水压为限定条件, 对泵组进行优化调度, 并通过二级寻优, 对混合泵站进行调度决策, 充分发挥了调速泵的可调能力, 提高了计算效率, 使混合泵站在最优的调度策略下运行;郑飞飞等[3]以水费为目标函数, 引入水龄作为限定条件, 成功地解决了供水调度问题;Martinez等[4]提出实时优化调度模型, 以电耗及供水成本费用作为目标, 对各个时刻水泵进行寻优求解;Pasha M F K等[5]提出了泵组能耗-流量的线性规划模型, 通过计算可最快速地求出最优解, 为大型管网计算提供了便利条件。
水力模型越复杂, 模型计算量就越大。为了快速得出最优解, 通常使用最优化算法。最常用的算法是遗传算法 (GA) , Haghighi A等[6]结合整型线性规划方法, 通过GA提高了泵组优化的速度, 但GA也有计算过程常常陷入局部最优的缺点, 有时不能得出完美方案。Yang[7]在2008年提出布谷鸟算法 (CS) , 该算法是一种收敛速度快的群智能算法, 其采用LEVY飞行机制, 向最优解的方向移动, 并通过概率进行筛选, 减少了陷入局部最优的情况。
根据以上分析。布谷鸟优化算法是一种简单有效、节省时间及可避免陷入局部最优的方式。因此, 本文选取布谷鸟算法, 通过EPANET工具箱, MATLAB及C#进行联合编程, 对供水管网进行水力模拟, 并对泵组进行实时优化调度。
1 优化模型的建立
泵组实时优化调度是以水泵转速比为自变量, 通过EPANET工具箱对管网进行水力计算而建立的, 其中目标函数分为两部分, 在限定条件下, 第一部分使各时段的运行费用达到最小, 第二部分使各时段管网整体漏损最小。
1.1 目标函数

式中Ct———t时刻泵组电耗及管网漏损的总费用, 元;
Ej———水泵j的能耗率, 计算公式为:Ej=KQjhj/ηj, kW;
Qj———水泵j的流量, m3/h;
hj———水泵j的压力, m;
K———常数, 取0.010 19;
ηj———水泵j的效率, %;
wt———单位电度电费, 元/ (kW·h) ;
Xj———水泵j的转速比, Xj∈[0, 1], 若水泵关闭则为0, 水泵全功率运行则为1, 其计算公式为:Xj=Nactual, j/Nrated, j;
Nactual, j———实际转速, r/s。
Nrated, j———额定转速, r/s。
α———管段i的漏失指数, 取1.18[8];
cl———管段的漏失系数, 取2.5×10-6;
L———管段l的管长, m;
Npipe———所有管段数;
Hi、Hj———连接管段l节点i、j的绝对水头, m;
zi、zj———连接管段l节点i、j的地面标高, m;
Wt———t时刻的水费, 元。
1.2 约束条件
优化调度模型首先应满足连续性方程及能量守恒方程, 除此之外在本文中考虑9个约束条件:
(1) 各时段各水泵出流量之和与该时段总供水量预测值相等, 如式 (2) :

式中qi, t———t时刻水泵i的出水量, m3;
Qpre, t———供水量的预测值, m3;
Np———水泵总数。
(2) 各时段水泵的出水压力值等于其预测值, 如式 (3) :

式中
(3) 各水泵的出流量在水泵的允许范围内, 如式 (4) :

式中qmin, j———水泵j的为最小出流量, m3/h;
qmax, j———水泵j的为最大出流量, m3/h;
qj———水泵j的出流量, m3/h。
(4) 水泵转速比在允许范围内, 如式 (5) :

式中Xmin, j———水泵j的最小转速比;
Xmax, j———水泵j的最大转速比;
Xj———水泵j的转速比。
(5) 水泵效率在允许范围内, 如式 (6) :

式中ηmin, j———水泵j的最小效率, %;
ηmax, j———水泵j的最大效率, %;
ηj———水泵j的效率, %。
(6) 各SCADA检测点压力在允许范围之内, 如式 (7) :

式中Hmin, i———监测点i的最小压力, m;
Hmax, i———监测点i的最大压力, m;
Hi———监测点i的压力, m;
(7) 各节点需水量与漏失水量之和与该时段总需水量的预测值相等, 如式 (8) :

式中qi———节点i的需水量, m3;
qij———连接节点i的管段j流量, 其流入为正, 流出为负, m3;
qleak, ij———管段j的漏损量, m3;
Npipe———连接节点i的管段总数。
(8) 各TCV阀门流量在允许范围之内, 如式 (9) :

式中qmin, TCV———阀门最小通流量, m3;
qmax, TCV———阀门最大通流量, m3;
qTCV———阀门通流量, m3。
(9) 各分区阀门的开启度在允许的范围之内, 如式 (10) :

式中Xmin, TCV———阀门最小开启度;
Xmax, TCV———阀门最大开启度;
XTCV———阀门开启度。
2 模型的优化求解
对于水泵实时优化调度问题, 可应用布谷鸟算法 (CS) 进行求解。CS是引入levy飞行机制模仿布谷鸟产卵的活动的一种群智能算法[9]。与PSO算法相似, 首先生成一系列初始解, 接着计算适应度, 通过某种信息得知当前最优的方向并向之移动, 并偏移生成更多的解, 最终找出最优解。
2.1 布谷鸟算法 (CS) 模型
在布谷鸟算法中, 设xti= (xti1, xti2, ..., xtin) T, xti为鸟巢i在第t代的位置。其鸟巢位置更新方法如式 (11) 所示:

式中
α———步长因子;
L (λ) ———服从参数λ (1<λ<3) 的一个随机搜索向量, 如式 (12) 所示。

为了模拟布谷鸟的产蛋行为, 设定了3条规律:
(1) 每只布谷鸟只随机选取一组自变量作为鸟巢繁殖。
(2) 当代鸟巢最优取值将会被保存到下一代。
(3) 鸟巢的数目固定, 宿主发现布谷鸟的卵的概率为pα, 如果宿主发现卵, 放弃该位置。
2.2 联合编程实现
MATALB与EPANET联合编程有多种方案, 其中OpenWaterAnalytics (OWA) 较为常用, OWA工具虽然可以直接被MATLAB调用进行管网模型的求解, 但工具箱系统较封闭, 仅能通过类中的方法对管网进行水力计算, 很难开发出泵组实时优化调度程序。为了提高程序的开源性, 合理地编写优化调度程序, 因此采用EPANET工具箱, MATALB及C#联合编程。
联合编程首先以MATLAB随机生成一组符合约束条件的水泵转速比X, 通过dlmwrite () 方法将X保存为txt文本文件格式, 通过C#中的FileStream、StreamWriter类将txt文本导入C#程序中, 并导入用于EPANET二次开发的epanet.dll文件, 通过ENopen () 方法打开管网模型, 运用ENsetpatternvalue () 方法将转速比导入水泵, 并通过ENrunH () 方法进行水力计算。计算完毕后, 判断是否符合约束条件, 并计算目标函数的总费用, 后将总费用保存为txt文件。并通过MATLAB中dlmread () 方法导入, 运用CS算法对X进行更新, 重复计算直到目标函数接近最优值。在MATLAB程序中, 将C#程序Build成exe文件, 运用system () 方法即可实现MATLAB与C#连续不间断的切换工作。联合编程的过程如图1所示。
2.3 模型求解步骤
CS算法进行水泵实时调度的算法步骤如下:
(1) 设置鸟群总数M、最大迭代次数N、阈值U及宿主发现概率pα, 并设置时刻t、迭代次数s为1。
(2) 通过MATLAB随机生成M组满足式 (5) 的自变量
(3) 利用式 (11) 对最小值以外的的自变量进行更新。
(4) 计算各组费用, 并与上一代最小值比较, 若比最小值小, 则替换上代的最小值。
(5) 产生一个[0, 1]之间的随机数r, 如果r>pα, 则随机改变鸟巢位置, 获得一组新的自变量, 计算目标函数值并与当前最小值进行比较, 保留最优解。
(6) 设置迭代次数s=s+1, 返回第三步重复运算, 直到迭代次数达到N或目标函数小于阈值U为止。
(7) 输出t时刻费用最小值及所对应的水泵调速比。
(8) 设置时刻t=t+1, 返回第一步重复运算, 直到时刻t大于最大时刻T为止。
3 案例分析
采用E市实际供水管网作为案例来验证本文提出的泵组优化调度方法论的实用性。如图2所示, E市供水管网有17 282个节点, 15 587条管线, 2 142个阀门, 1个水厂, 包含1个定速泵和4个变速泵, 其编号分别为13 241~13 245, 且管网中存在16个压力监测点。该市用电费用按梯度收取, 其中8:00~11:00、18:00~23:00为高峰时段;11:00~18:00、7:00~8:00为平峰时段;23:00~7:00为低谷时段。收费标准如表1所示。水费费用按3个流量梯度收取, 收费标准如表2所示。
按照本文提出的方法, E市管网实时调度的步骤如下:
(1) 将2015年5月11日0:00~23:00的供水量预测数据导入水力模型, 并按节点的用水定额分配。通过MATLAB软件随机生成5个水泵的转速比25组。其中, 4个变速泵的转速比限制范围设定在0~1之间;定速泵转速比仅取值为0、1。
(2) 将水泵转速比带入水力模型, 采用C#、EP-ANET联合编程, 编写如式 (1) 所示的适应度函数, 生成exe文件, 并采用system (‘*.exe’) 语句, 把文件嵌入MATLAB编写的布谷鸟算法之中。
(3) 运用CS算法对各时段的费用最小值进行求解。其中, 鸟群总数M为25, 输入变量X为5个水泵的转速比, 最大迭代次数N为200。CS算法的9个约束条件按如下方法设置:
(1) 水泵的出流量取值范围为0至出口流量之间, 且各水泵出流量之和小于该时刻总供水量Qt。E市水厂水泵的额定流量及扬程如表3所示。 (2) 水泵效率设置为5%~100%之间。 (3) 根据监测点正常压力数据, 范围设置为30~40m之间。 (4) 为了保证水力计算无误, TCV阀门允许流量范围设置在0~Qt (管网该时刻总供水量) 之间, 且5个水泵出水口处阀门的通流量之和等于Qt。 (5) 为满足各用户达到的充足需水量, 阀门的开启度取值范围应在5%~90%之间。
对各时段的进行水力求解后, 得到水泵的出流量、出水压力及转速比, 如图3~图5所示。
将上述获得的各时刻水泵参数带入式 (1) 求解总费用, 并与经验工况下的总费用做对比, 如图6所示, 其中, 经验工况指水厂工作人员根据经验对水泵进行调节的情况下, 泵组能耗及管网的漏损的总费用。
由图6可知, 优化后的2015年5月11日0:00~23:00的供水总费用共87 561.12元, 比传统调度的96 231.82元, 减少8 670.70元。
5 结论
在供水管网水力模型的基础上, 提出了通过布谷鸟算法, 利用EPANET工具箱、MATLAB及C#联合编程对水泵实时调度的模型。通过E市供水管网的实例验证, 案例模型优化后, 漏失与水泵能耗费用比传统方法花费减少9.01%。结果表明, 该方法对于管网的节能降耗是一种有效的方法。
参考文献
[1]翟光日.基于节能的给水管网运行研究:[学位论文].哈尔滨工业大学, 2014
[2]吕谋, 张土乔, 赵洪宾.大规模供水系统直接优化调度方法.水利学报, 2001, 32 (7) :84~90
[3]郑飞飞, 信昆仑, 刘遂庆.给水管网耦合优化调度模型的建立及应用.中国给水排水, 2008, 24 (17) :102~104
[4] Martinez F, Hernández V, Alonso J M, et al.Optimizing the operation of the valencia water distribution system.Journal of Hydroinformatics, 2007, 9 (9) :65~78
[5] Pasha M F K, Lansey K.Strategies to develop warm solutions for real-time pump scheduling for water distribution systems.Water Resources Management, 2014, 28 (12) :3975~3987
[6] Haghighi A, Samani H M V, Samani Z M V.GA-ILP method for optimization of water distribution networks.Water Resources Management, 2011, 25 (7) :1791~1808
[7] Yang X S, Deb S.Cuckoo search via lexy flights.Nature&Biologically Inspired Computing, 2009.NaBlc 2009.World Congress on.2009:210~214
[8] Germanopoulos G, Jowitt P W.Leakage reduction by excess pressure minimization in a water supply network.Proceedings of the Institution of Civil Engineers Part Research&Theory, 1989, 87 (2) :195~214
[9] Viswanathan G M, Bartumeus F, Buldyrev S V, et al.Lévy flight random searches in biological phenomena.Physica A Statistical Mechanics&Its Applications, 2002, 314 (1~4) :208~213