APP下载

面向水生态的闸坝调度方法①

2017-10-20吕顺风

计算机系统应用 2017年10期
关键词:鱼群水量水库

吕顺风 ,刘 建 ,马 科

1(中国科学技术大学 管理学院,合肥 230026)2(淮河流域水资源保护局,蚌埠 230000)

面向水生态的闸坝调度方法①

吕顺风1,刘 建2,马 科1

1(中国科学技术大学 管理学院,合肥 230026)2(淮河流域水资源保护局,蚌埠 230000)

淮河流域是我国水环境治理的重点之一.由于淮河流域水情复杂,所以容易发生水污染事件.本文立足于突发水污染情况,研究如何调动闸坝和水库的生态用水并在最短时间内初步治理水污染问题.闸坝调度问题是组合优化问题,水资源调度效率为目标函数,约束条件包括蓄水、水中物质浓度和闸坝距离等.本文采用人工鱼群调度算法(AFSA),并加以约束条件,满足治水需求.人工鱼群算法有快速的跟踪变化和跳出局部极值的优点,能避免算法初期早熟的问题.实验结果表明,基于人工鱼群算法的生态水调度方法,在处理这类问题,不仅精确有效,并且能在较少的迭代次数内找到满意解,具有很高的可行性,参考性.

闸坝调度; 水生态; 鱼群算法; 组合优化

1 引言

淮河是我国水环境治理的重点之一.在淮河流域内洪涝灾害频繁,修建的闸坝水库众多,流域内的闸坝和水库不仅仅在防洪方面有着巨大作用,在防污方面也有着深远影响[1].由于社会经济发展,淮河流域突发的水污染状况时有发生,因此,如何优化水资源的调度方法,从而在最短的时间内控制和缓解突发的水污染状况显得尤为重要.

传统的优化问题通常分为线性规划问题、非线性规划问题等.在探索这类问题的过程中,人们从生物进化的机理和一些物理现象中受到启发,提出了各种高效的优化算法,例如:遗传算法,模拟退火算法等[2].本文针对闸坝调度问题的特性,采用了人工鱼群算法.人工鱼群算法相比较其他智能算法,在解决这类问题上具有较好的适应性和较短的运算时间.

本文主要分为四个部分:第一部分介绍了人工鱼群算法的基本情况以及应用方法; 第二部分则针对文章提出的问题,建立模型,并且通过人工鱼群算法寻找满意解; 第三部分是沙颖河流域的仿真实验; 第四部分总结结论以及不足.

2 人工鱼群算法

2.1 人工鱼群算法简介

鱼群算法中,人工鱼有一下四种行为[3]:

(1)觅食行为:这是生物最基本的一种行为,也是一种趋向于食物的行为.

(2)聚群行为:大量或者少量的鱼聚集在一起,通过集体觅食来增加觅食效率和躲避敌害.

(3)追尾行为:当一条或者几条鱼发现并游向食物时,它们身后的鱼也为尾随它们游向食物,从而导致更远处的鱼向食物的方向靠近.

(4)随机行为:鱼在水中自由游动觅食的行为,基本是随机的,这样有更大的几率发向食物和同类.

2.2 人工鱼群算法描述

2.2.1 觅食行为的(prey)

觅食行为的行为选择为

2.2.2 聚群行为(swarm)

聚群行为的行为选择为:

Xc表示领域内伙伴的中心位置

2.2.3 追尾行为(follow)

追尾行为的行为选择:

例如,地点0处发生水污染,需要生态用水5单位,地点0上游有5个水库可以供水分别编号1到5.各地点距离 di,j如为:d0,1=3; d0,2=1; d2,3=2; d2,4=1; d4,5=1.水库的蓄水量从 1 到 5 分别为:2; 1; 2; 3; 4.xi,j为 0-1 变量,xi,j=1 表示 j向 i调用水资源,蚁群算法的目标函数为调水的最短路径.

鱼群算法多次迭代后,我们可以得到2个最优解,分别是:

从结果看,最优调度方案为从水库 1,2,4 或者 1,2,3调水.

2.3 算法改进

传统算法虽然可以求解,但是我们更希望通过改进算法,提高算法效率,减少迭代次数,更加快速有效的找到满意解.

而鱼群算法中,视野Viusal的大小对算法结果有着重要的影响.较大的Viusal有助于提高鱼群的全局搜索能力并且加快收敛速度; 而较小的Viusal则提高了局部搜索能力[3,5].

根据分析,越是复杂的问题,越要加强全局搜索能力,在找到满意解的大致位置后,需要提高局部搜索能力.针对本文的问题,前期需要人工鱼对全局进行粗搜索,而在算法的后期,需要局部搜索来提高算法的寻优精度.所以,本文视野Viusal按下式动态调整:

Visualn为标准视野大小,t为当前迭代次数,Tmax为最大迭代次数,视野在算法初期保持最大值,然后逐渐由大变小,最后保持最小.a的函数变化如图1所示.

3 模型建立

3.1 问题描述

对突发水污染的问题,我们采用人工鱼群算法,算法模型的建立以及基本行为方式保持不变,但是为了算法的简便易行,最优值的获取方式采用了跟踪记录最优个体状态的方法,引入了公告板用来记录最优状态:每条人工鱼在寻优过程中,每次移动都将当前状态的结果与公告板相比较,如果自身状态优于公告板,则更改公告板的状态,使公告板始终记录下历史最优解[6];而在聚群的过程中,很可能因为聚群行为以及随机行为的操作,造成了人工鱼的状态不可行,最终难以获得最优解,这时,我们加入一定的约束条件和约束变量,使不可行的状态转变为可行的状态,从而引入了约束行为[7].

图1 函数 a 变化趋势

3.2 闸坝蓄水量的确定

闸坝和水库t时刻的蓄水量为Vt,上游t时刻的来水量为Qt,下游t时刻的去水量为qt,水库闸坝t时刻所必要的备用水量为Ct,t时刻的可用水量为:

那么在t+1时刻,蓄水量可以表示为:

其中 Ii,t表示入闸的水量,Qi,t表示出闸的水量,Wi,t为上游的引水量.公式(3)(4)表示蓄水量和来水量的约束条件,蓄水量要小于最大蓄水量并且大于最小蓄水量,来水量要小于最大来水量大于最小来水量[8].

3.3 模型的构造

对于突发的污染状况,污染地需要一定量的无污染生态水来稀释被污染的地方,使污染物质的含量降到国家指定水质标准之下,其中主要包含磷,氨氮这类物质.我们把污染处作为有向图的起始点,用鱼群算法寻找满意解,找寻最优的闸坝和水库,可以保证在最短的时间内,把足够的生态水量调用到污染地.根据人工鱼群算法,人工鱼的状态为Xi,则污染地为初始状态X0(0,0),也是人工鱼的初始状态; 目标函数为 Yi,表示能找到的满意解[9],整个寻优的过程,就是人工鱼从起始点出发寻找最优目标函数的过程.

污染点和闸坝水库以及支流干流之间的关系可以看成有向图,污染点为起始点,干流直流为有向路径,闸坝水库为目标点.对于这类问题,与TSP问题有一定的相似度,TSP问题的求解就是找出最短的路径通过所有的城市,而鱼群算法对于解决TSP问题有着一定的优势,随着迭代次数的增加,函数的收敛比较优于遗传算法和蚁群算法[10].而对于面向水生态的闸坝调度方法这个问题,也可以看成是一个有着特殊条件的,简化的TSP问题[11]:以污染点为起始点,找寻通过闸坝和水库的最短路径,这里不需要每一个闸坝和水库都通过,只要满足在通过的闸坝和水库中,它们能提供的生态用水量能满足污染点的需求的条件下找寻满意解即可[12].

如果某处发生突发污染事件,在污染点,污染物a浓度为w,污染水量为V污,污染物正常情况下的标准浓度为γ.那么要想将污染地的污染物浓度降到标准以下,至少需要不含a的纯净水为:

公式(5)表示至少需要的不含a的纯净水量,而对于闸坝和水库调用的水资源,都含有一定量的标准浓度之下的污染物质a,设闸上水位和闸下水位a的浓度分别为 wi,wi’,水库的库容为 Vi那么

公式(6)(7)(8)计算了如果从该水库和闸坝调水,可以调用多少水量.由于每个闸坝和水库的闸上闸下浓度都不一样,则每个水库调水都需要分别计算[13].

在整个运算的过程中,我们的目标是为保证所需生态用水能在最短时间内调用完成,那么只要找到调用的最短路径,就可以保证整个调度过程在最短时间内完成.则目标函数为:

在模型中,xi,j为 0-1 变量,xi,j=1 表示水库 j向 i调用水资源,ai表示与i直接相连的闸坝或水库的数量,di,j表示水库 j和水库 i之间的距离.式(9)表示目标函数是最短路径,式(10)(11)表示下游可以接受多个上游水库和闸坝的同时供水,式(12)表示,水库闸坝能提用的水量要满足污染地所需水量,式(13)(14)(15)为变量约束.

算法步骤:

(1)初始化相应参数,自定义变量 Xi,水库和闸坝的蓄水量Vi,目标函数Yi.

(2)污染地为 X0(0,0),确定人工鱼的数量,公告板以及约束行为,并计算处理水污染所需要的水量,可供水的水库和闸坝为食物源,目标函数食物浓度为Yi.

(3)每条人工鱼通过觅食、聚群、追尾和随机行为更新自己的位置.

(4)更新Viusal大小,人工鱼状态与公告板比较,更新最优值.

(5)检查终止条件(达到最大迭代次数或者得到满意解),若果满足,则结束算法,输出最优值; 否则转到步骤3.

4 仿真实验

仿真案例:

沙颍河流域在淮河一带水利调用复杂,调水情况经常发生,污染突发情况下影响巨大,所以,我们以沙颍河流域为例:

假设2014年6月界首监测站上游距离槐店闸25.3 km处发生突发的水污染事件,污染物导致COD(化学需氧量)超标,浓度为 35(mg/L),污染面积为25(万立方米),而国家规定第三类水质标准应该小于20(mg/L).根据式(5),计算得出污染物处理需要的不含COD生态用水量为18.75(万立方米),此时,闸坝和水库的上下游浓度如表1所示.

图2 沙颍河流域概化图

表1 污染地上游闸坝上下游浓度(单位:mg/L)

由于水库上下游的COD浓度基本相同,所以我们简化水库的上下游浓度均为6.5(mg/L).闸坝和水库的库容如表2所示.

表2 上游闸坝水库库容(单位:万立方米)

通过式(6)(7)计算得出每个闸坝或者水库能提供的水量如表3所示.

这里为了方便最后的计算,把水库和水闸的水量看成两部分,一部分为水库水闸的水量进行压缩直到其COD浓度为标准浓度; 另一部分为不含COD的可调用生态用水.在计算结束后,再将实际调用的不含COD的生态用水换算成实际调用水量.

为了对比算法的结果好坏,我们把改进后的鱼群算法和传统鱼群算法对比试验,结果如图3所示.

表3 上游闸坝水库可调水量(单位:万立方米)

图3 迭代结果

输出结果为槐店闸、周口闸、沙河节制闸、马湾拦河闸,水量为 5.88、1.41、0、11.46.通过计算,则实际的调用生态水量为:10、2、0、13.8(单位:万立方米).

其中,黑色实线表示的是传统的鱼群算法,黑色虚线表示的是改进的鱼群算法.

5 结论

通过最后的计算可以看出,改进后的人工鱼群算法对于目标函数,有较快的收敛速度和较高的算法效率,在更少的迭代次数下,能够很好的满足约束条件,并且找到合适的满意解.

人工鱼群算法提供了一种新的思路,对于一定问题的一定求解过程中,取得了一定成果.算法具有以下几个特点:(1)算法只需要比较目标函数值,对目标函数的性质要求不高; (2)算法对参数设定的要求不高,有较大的容许范围; (3)算法具备并行处理的能力,寻优速度较快[14].

人工鱼群算法提供了一个灵活的框架,可以通过不同的问题性质来调整框架,例如在面对小规模的问题是,我们可以简化某些算法甚至可以忽略某些条件来达到简化算法,提高效率的目的; 而对于较为复杂的规模较大问题是,我们可以添加一定的行为和参数来达到更加精准的结果,例如:行为约束,视野以及公告板的使用等等.

进一步的研究:在本文的案例中,并没有考虑到生态用水的储备问题,只考虑了在最短的时间内缓解水污染的情况,这样虽然可以迅速控制住污染问题,但是也加大了水库和水闸的风险,以及面对突发用水情况的应变能力.

1葛继志,陈巨华,万一.淮河水污染及其治理的现状和展望.安徽大学学报(自然科学版),2000,24(2):103–106.

3李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式:鱼群算法.系统工程理论与实践,2002,22(11):32–38.[doi:10.3321/j.issn:1000-6788.2002.11.007]

4Li XL,Qian JX.Studies on artificial fish swarm optimization algorithm based on decomposition and coordination techniques.Journal of Circuits and Systems,2003,8(1):1–6.

5李晓磊,路飞,田国会,等.组合优化问题的人工鱼群算法应用.让东大学学报(工学版),2004,34(5):64–67.

6胡中功,李静.群智能算法的研究进展.自动化技术与应用,2008,27(2):13–15.

7傅春,杨志峰,刘昌明.水利现代化的内涵及评价指标体系的建立.水科学进展,2002,13(4):502–506.

8张梅凤,邵诚,甘勇,等.基于变异算子与模拟退火混合的人工鱼群优化算法.电子学报,2006,34(8):1381–1385.

9郭旭宁,胡铁松,吕一兵,等.跨流域供水水库群联合调度规则研究.水利学报,2012,43(7):757–766.

10王联国,洪毅,赵付青,等.一种改进的人工鱼群算法.计算机工程,2008,34(19):192–194.[doi:10.3969/j.issn.1000-3428.2008.19.065]

11高海昌,冯博琴,朱利.智能优化算法求解 TSP 问题.控制与决策,2006,21(3):241–247,252.

12李晓磊,薛云灿,路飞,等.基于人工鱼群算法的参数估计方法.让东大学学报(工学版),2004,34(3):84–87.

13廖四辉,程绪水,施勇,等.淮河生态用水多层次分析平台与多目标优化调度模型研究.水力发电学报,2010,29(4):14–19,27.

14范玉军,王冬冬,孙明明.改进的人工鱼群算法.重庆师范大学学报(自然科学版),2007,24(3):23–26.

Dam Scheduling Method Oriented to Aquatic Ecosystems

LV Shun-Feng1,LIU Jian2,MA Ke11(The School of Management,University of Science and Technology of China,Hefei 230026,China)2(Huaihe River Resources Protection Bureau,Bengbu 230000,China)

Huaihe River basin is one of the key areas for the water environment control.Due to its complicated water situation,water pollution is easy to happen.This paper considers the situation of emergent water pollution and how to schedule the ecological water in the dams and reservoirs to control the pollution in the shortest time.Dam scheduling problem is the combinatorial optimization problem,and the efficiency of scheduling is the objective function.The constraints include water storage capacity,concentration of water and dam distance.In this paper,the artificial fish swarm algorithm (AFSA)is applied to water pollution control requirements,which is adopted and satisfied.AFSA has the advantage of fast track change and jumping out of local extremum,and can avoid possible premature problems at initial stage.Experimental results show that the water ecological scheduling method based on AFSA performs accurately and efficiently in dealing with such problems.It can find near optimal solutions within fewer iterations,and the results have better feasibility and referential.

dam scheduling; water ecology; artificial fish swarm algorithm; portfolio optimization

10.3969/j.issn.1674-098X.2012.24.019]

吕顺风,刘建,马科.面向水生态的闸坝调度方法.计算机系统应用,2017,26(10):161–165.http://www.c-s-a.org.cn/1003-3254/6027.html

国家科技重大专项(2014ZX07204006)

2017-01-12; 采用时间:2017-03-02

猜你喜欢

鱼群水量水库
漳河有一水库群
小水量超纯水制备系统的最佳工艺选择
不同灌水量对春玉米酒玉505 耗水特性的影响
中型水库的工程建设与管理探讨
空中有个隐形水库
人工鱼群算法在雷达探测器射频端电路设计中的应用
鱼群漩涡
朱梦琪??《鱼群》
基于水力压裂钻孔的注水量及压裂半径的应用研究
具功能反应食饵捕食模型动力学分析