关键词:防洪调度;防洪重点时段;动态规划;灰狼算法;构皮滩水库
中图分类号:TV697. 1 文献标识码:A 文章编号:1001-9235(2024)11-0062-10
洪涝是发生频次最高、危害和损失最大的自然灾害之一[1],防洪不仅关系到人民的生命和财产安全,也关系到国家和社会的长远发展。水库是防洪的重要工程措施[2],水库防洪调度是水利调度的重要部分,旨在确保水库大坝工程安全的前提下,根据上下游来水情况拦蓄洪水、削峰错峰,最大限度减少洪水对下游地区的影响。
近年来国内外对于水库防洪调度的研究已较为广泛,取得了大量的成果,建立了各种水库防洪调度模型,比如最大防洪安全保证模型[3]、最大削峰模型[4]、最高调洪水位最小模型[5];同时,众多专家学者引入各种思想方法研究水库防洪调度模型的求解,比如王文川等[6]提出一种轻量化的Mε-OIDE约束优化算法进行求解,贾本有等[7]利用自适应拟态物理学算法(Adaptive Artificial PhysicsOptimlzation,AAPO)求解水库防洪调度模型,马志鹏等[8]采用混合粒子群算法研究了百色水库的优化调度,改进的多目标差分进化算法[9]、基于约束条件进行编码的改进遗传算法[ 10]、稳定的改进动态规划(Stable Improved Dynamic Programming,SIDP )算法[11]、改进秃鹰搜索算法[12]等改进算法也运用到水库防洪的求解中。但由于水库防洪调度模型的求解具有多阶段、多约束等特征,获得相应最优解仍是学术界和工程界的关键技术难题[13]。目前现有的优化方法存在约束难处理、早熟收敛、求解效率低等缺点[14]。灰狼优化算法作为一种新兴的算法,近年来其在电力调度、工程作业调度、预测等领域的应用逐渐增多,将灰狼优化算法与其他算法融合可以产生更好的效果[15]。灰狼优化算法原理通俗易懂、鲁棒性较好[16]、有较强的收敛性[17]、求解速度较快并且算法参数较少[18],李浩平等[19]在研究柔性作业车间调度问题时指出,相对于遗传算法、NSGA、PSO-GA的求解结果,改进灰狼算法求解效率高,精度好,具有较高的实际应用潜力。Motlagh等[20]研究了灰狼优化算法(Gray Wolf Optimization,GWO)和遗传算法(Genetic Algorithm,GA)在Taleghan 水坝水资源配置优化中的应用,模拟从2010年到2020年的水资源需求,结果表明灰狼优化算法在最优化目标函数、脆弱性指数和时间可靠性等方面表现优于遗传算法,可以帮助决策者优化配置水资源。目前,灰狼优化算法在水库调度领域的运用还比较少,因此将灰狼优化算法与其他算法进行融合,运用于水库防洪问题的求解是有实际意义的。
本文以乌江构皮滩水库为研究对象,以水库下游控制断面的洪峰流量最小为目标,建立水库防洪优化调度模型,基于防洪各时段的重要性,提出防洪重点时段和非重点时段的概念,将动态规划与灰狼优化算法进行耦合。通过对极端洪水、常遇较大洪水的2个典型案例进行模拟调度,从水库出库流量、库水位、下游控制断面洪峰流量、求解耗时等方面进行对比分析,以论证本文所建模型及所提出的耦合动态规划与灰狼算法的合理性。
1水库优化调度模型及求解方法
1. 1最大下泄流量最小模型
最大下泄流量最小模型基本思想是利用水库防洪库容,对入库洪水进行调节,通过人为控制水库对洪水的拦蓄和下泄,将出库流量与下游区间流量错峰,从而降低下游控制断面的洪峰流量。
1. 1. 1目标函数
最大下泄流量最小模型一般采用下游防洪控制断面洪峰流量最小作为目标[21],下游控制断面的入库流量为上游水库出库流量和下游区间流量之和,因此目标函数可表示为:
1. 2常规与智能优化相结合的模型高效求解方法
1. 2. 1动态规划算法
动态规划法是一种用于求解多阶段决策最优的数学方法,应用于水库调度中可确定最优解[22],具体步骤如下。
a)划分阶段。将调度期(短期为周、日)按日或小时为时段划分为T 个阶段,i 代表阶段变量,i=1~T。
b)状态变量。取水库蓄水量或库水位作为状态变量,记Vi-1为i 时段初的水库蓄水量,Vi为i 时段末的水库蓄水量。
c)决策变量。取各时段水库的平均下泄流量qi作为决策变量。
动态规划的主要参数是离散精度,动态规划在处理连续状态空间时,需要将状态进行离散化处理(将连续的空间划分为有限数量的空间),离散精度反映了离散化的精细程度,高精度能够求解得到更准确的结果,但计算成本和时间也随之大幅增加。对于小时尺度数据,离散精度一般取10~50,对于日尺度数据,2个时段间的可行解空间较大,离散精度需要在100以上。
1. 2. 2灰狼优化算法
灰狼优化算法由Mirjalili等[23]于2014年提出,反映了自然界中灰狼家族的社会制度和群体狩猎行为[24]。基于灰狼群体内部等级关系和捕食过程,可以建立数学模型来模拟寻优过程。α 狼是最高等级的领导狼,β 和δ 是协助领导的狼,ω 是最低等级的狼。捕食过程包括跟踪猎物、包围猎物和攻击猎物。最终目标是通过模拟这些过程得到最优解α,β和δ 则分别表示第二和第三最优解,而ω 表示候选解。狼群捕食过程中的围捕行为可见式(8):
灰狼优化算法主要有2个参数:种群数量和最大迭代次数。种群数量代表算法中狼群的大小,增大种群数量可以减少陷入局部最优解的风险,但会增加计算时间,对于小时尺度数据种群数量一般设置在20~50,对于日尺度数据种群数量一般设置在50~100,实际使用时可以根据求解速度和精度的需求对种群数量进行调整。最大迭代次数决定了算法搜寻最优解的迭代轮数,一般从100开始取,求解后若结果不理想则逐步增加迭代次数。
1. 2. 3动态规划与灰狼算法有机融合的策略
在模型求解时,动态规划算法求解精度高,但易陷入维数灾导致求解时间长;灰狼算法属于启发式优化算法,较难获得全局最优解[25]。洪水调度时,洪峰到来时段比较重要,若防洪时段全部采用动态规划求解会浪费大量算力,若完全采用灰狼算法求解,洪峰到来时段的求解精度可能达不到要求。鉴于此,本文引入防洪重点时段和非重点时段的概念,重点时段指可预见的洪水对调度造成较大影响的时段,非重点时段指除了重点时段外的其他时段,重点时段和非重点时段分别采用动态规划算法和灰狼算法进行求解,从而将动态规划算法与灰狼优化算法的有机融合,融合后求解水库防洪调度问题的步骤如下。
步骤一 划分时段。将防洪调度期划分为多个时段,根据可预见的洪水过程以及洪水预报的精度选取防洪重点时段(日尺度数据按峰现时段加前后1~2个时段确定,因为峰现前后1~2 d水库仍可能遭遇较大洪水,之后洪水逐步结束;小时数据按可预见的洪水时段以及前后几个时段确定,因为洪水存在随机性并且预报存在偏差,预报精度较高可以取较少的时段作为重点时段),其余则确定为非重点时段。
步骤二 确定适应度函数。根据水库防洪调度问题的优化目标,适应度函数为目标函数和惩罚函数的加和,惩罚函数主要基于下泄流量是否在允许范围内进行惩罚,从而满足防洪中出库流量的约束。
步骤三 灰狼优化算法求解非重点时段。将非重点时段作为灰狼优化算法的搜索空间,在搜索过程中不断根据适应度函数值基于灰狼捕食的模拟进行寻优。
步骤四 更新适应度值。基于各灰狼的位置更新适应度值。在灰狼优化算法的搜索空间中,如果2个时段是分开的,表明中间是重点时段,转到步骤五,将2个非重点时段的灰狼算法求解结果作为动态规划算法的输入,利用动态规划算法在前后水位固定的情况下对重点时段进行寻优并更新适应度值;若两个非重点时段相连(中间不是重点时段),直接更新适应度值。适应度值更新完成后转到步骤六。
步骤五 动态规划求解重点时段。基于灰狼算法对非重点时段的求解结果,固定重点时段前后的初末状态,根据目标函数和状态转移方程,在重点时段前后水位固定的情况下进行寻优,基于目标函数值返回步骤四更新适应度值。
步骤六 更新灰狼个体。根据步骤四的适应度值,依据灰狼算法的搜索机制更新非重点时段灰狼个体的位置,继续进行下一代的搜索。
步骤七 判断是否达到终止条件。判断灰狼算法是否达到最大迭代次数,若满足终止条件则结束求解,输出最优结果;若不满足终止条件则回到步骤三继续求解。
通过将动态规划算法与灰狼优化算法结合,利用灰狼算法更新非重点时段的灰狼位置,重点时段在非重点时段之间,重点时段前后水位固定的情况下采用动态规划进行寻优,更新适应度值;灰狼算法根据适应度值再次更新位置,动态规划根据灰狼的位置再次对重点时段进行寻优,这样灰狼算法提供了动态规划算法寻优的边界条件,动态规划算法的结果反过来又影响灰狼算法的适应度值,从而影响灰狼算法对非重点时段的寻优,这种双向反馈循环机制帮助算法在多次迭代后逐步靠近全局最优解。将动态规划与灰狼优化算法相结合,从而求解水库防洪调度模型的流程见图1。
2构皮滩水库防洪优化调度
2. 1水库概况
构皮滩水库是乌江干流的第七级,位于贵州省余庆县境内的乌江干流上,距下游思林水库89 km。构皮滩水库坝址以上控制流域面积43 250 km²,占全流域的49%,水库正常蓄水位630 m,相应库容55. 64亿m³,设计洪水位为632. 89 m,死水位为590m,构皮滩水库调节库容为29. 02亿m³,满负荷发电流量约为1 800 m³/s,6—7月预留防洪库容4亿m³,汛限水位为626. 24 m,8月预留防洪库容2亿m³,汛限水位为628. 12 m,具体水位限制按长江防总和贵州省防办的调令执行。构皮滩水库的位置见图2。
乌江梯级电站已运行十余年,洪水预报技术已经较成熟,预见期为24 h[26]。构皮滩水库的防洪任务是确保枢纽自身防洪安全,分担乌江中下游防洪任务。乌江夏季暴雨发生时,雨强大,产汇流快,而构皮滩水库下游的思林、 沙沱水库仅具有日调节能力,因此构皮滩水库需要配合思林、沙沱、彭水等拦蓄洪水。由于本文拥有的数据较有限,将构皮滩水库的下游防洪断面设定为思林水库,思林水库的入库洪水可分为可控的构皮滩出库流量、不可控的构思区间流量两部分,根据构皮滩及下游水库的运行情况,本文取构皮滩水库的安全泄量为8000 m³/s(特殊情况可以超过)。
2. 2结果与分析
本文所获取的洪水数据有日尺度、小时尺度数据,分别以1 d、1 h为单位划分时段。本文将选取构皮滩水库实际发生的极端洪水和常遇较大洪水作为2个典型案例,采用耦合算法进行求解,从而论证分析本文所建模型及耦合算法在极端洪水和常遇洪水条件下的适用性和有效性。
2. 2. 1第一场典型洪水
2014年7月中旬,乌江流域遭遇了50年一遇的大洪水,支流清水河、干流构皮滩至沙沱区间甚至遭遇100年一遇的洪水,是一场典型的极端洪水事件,给水库的防洪调度带来了很大挑战。因此第一场典型洪水选自2014年7月13—25日的洪水,此次洪水数据为日尺度数据,构皮滩水库的入库、出库流量、水位变化过程及下游区间流量见图3。
从图3可以看出,此轮洪水中构皮滩入库和下游区间洪峰都极大,构皮滩水库在时段4、5进行了错峰,但由于时段6出库达到8 400 m³/s,下游控制断面的洪峰流量达到11 171 m³/s。考虑到预报误差,将时段4~7设定为防洪重点时段,其余为非重点时段。求解时初水位取615. 92 m,依据实际情况水位上限设定为实际发生的629. 83 m,末时段水位不超过629. 1 m。利用灰狼优化算法求解非重点时段时,灰狼种群数量取50,最大迭代次数取100;动态规划求解重点时段时,离散精度取300;求解结果见图4、5。
从图4、5可以看出,洪水预见期前的时段1—3水库保持满负荷发电,没有弃水;时段4进入洪水预见期后,水库水位处于较低的611. 5 m但预见到未来有10 000 m³/s的极端洪水,适当预泄1 000 m³/s腾出库容;洪水来临前构皮滩水库预留了近15亿m³的库容,因此时段5—8构皮滩水库全力拦蓄洪水,根据下游区间流量调整自身出库,将下游控制断面洪峰流量控制在6 446 m³/s,与实际相比削减了42%。
为分析本文提出的耦合算法的优劣,采用不同精度的动态规划及灰狼算法同样对该场洪水进行求解,3个算法的结果见表1。
从表1可以看出,日尺度数据由于间隔长,求解空间较大,动态规划求解需要较大的离散精度,若较优的解不在动态规划离散的解空间里,动态规划的结果将受到很大影响,增大离散精度(如100增加到400)可以改善求解结果(控制断面洪峰流量由7 438 m³/s 下降至6552 m³/s),但耗时会大幅增加(4. 36 s 增加至57. 75 s);相比而言灰狼算法较灵活,能够在连续的搜索空间内寻找解,求解速度快,但由于求解空间太大求解结果不是很优(相当于动态规划离散精度为200的结果);将动态规划与灰狼算法进行耦合,能提高寻优能力,求解结果(控制断面洪峰流量6 446. 23 m³/s)耗时仅19. 54 s,而动态规划耗时在90~141 s,可见耦合算法兼顾了求解效率与求解精度。
2. 2. 2第二场典型洪水
2017年6月29日起构皮滩水库遭遇了暴雨袭击,本次洪水是近几年来构皮滩水库常遇洪水中的较大洪水[27],洪水数据为小时尺度数据。因此第二场典型洪水过程,选2017年6月28日0点至7月3日0点的洪水过程,构皮滩水库的入库、出库流量、水位变化过程及下游区间流量见图6。
从图6可以看出,此轮洪水洪峰流量较大,时段67—84构皮滩水库出库洪峰与下游区间洪峰重叠,造成下游控制断面洪峰流量接近9 000 m³/s。构皮滩入库洪水大致为时段45—85,考虑到预报误差将时段40—90设定为防洪重点时段,其余为非重点时段。初水位按622. 89 m 确定,时段45前水库水位上限为汛限水位626. 24 m,时段45—100水位上限取627 m,时段100开始水位上限取627. 5 m。利用灰狼优化算法求解非重点时段时,灰狼种群数量取30,最大迭代次数取100;动态规划求解重点时段时,离散精度取50;求解所得结果见图7、8。
如图7、8,在预见未来可能出现暴雨的情况下,构皮滩以满负荷发电方式运行,若发生大洪水则提高了水能利用率,若洪水不及预期水库也不会因泄洪产生弃水;时段24进入洪水预见期后,水库水位在处于较高的623. 5m,并且预见入库洪峰在8 000m³/s左右,防洪库容较小且入库洪水较大,水库保持满负荷发电的同时预泄2 500 m³/s的流量,加快消落速度以腾出库容;时段45洪峰到来后构皮滩根据下游区间流量的变化调整出库流量,时段67—84出库流量减少至2200m³/s左右实现错峰,将下游控制断面洪峰流量控制在5 100 m³/s左右,与实际相比削减了43%,降低了下游的防洪压力。
为分析本文提出的耦合算法的优劣,采用不同精度的动态规划及灰狼算法同样对该场洪水进行求解,3个算法的结果见表2。
从表2可以看出,由于是小时尺度数据,动态规划算法求解时,随着离散精度增加求解时间增加得非常明显,离散精度为45时求解时间达到了613s,维数灾缺点比较明显;采用纯灰狼算法求解,求解结果(控制断面洪峰流量5230. 80 m³/s)介于动态规划精度10~20,求解耗时较少仅有20 s,但求解结果不是很理想;采用本文提出的耦合动态规划与灰狼算法求解,求解结果(控制断面洪峰流量5132. 81m³/s)接近动态规划离散精度35~40的结果,耗时71. 27s明显低于动态规划同精度结果的耗时,与纯灰狼算法相比耗时变长但求解结果变优,可见耦合算法兼顾了求解效率与求解精度,可用于水库防洪问题的求解。
通过对极端洪水、常遇较大洪水的分析,本文给出构皮滩水库防洪的几条建议。①当预见到未来几天会有暴雨发生时,水库按预见期前满负荷发电的方式运行。②若构皮滩水库水位较高(超过620 m)且预见洪峰流量较大(超过6 000 m³/s),采用预见期预泄腾库(2000 m³/s左右)、洪水期间错峰出库的调度方式,在保证发电的前提下发挥水库的防洪作用。③若构皮滩水库水位较低(610 m左右)且预见有极端洪水发生(洪峰流量在10000 m³/s以上),采取预见期适当预泄腾库(1000m³/s左右)、洪水期间错峰出库的调度方式,尽可能降低极端洪水对下游的影响。
3结论
本文以构皮滩水库为防洪研究对象,提出重点时段和非重点时段的概念,通过灰狼算法提供动态规划算法优化的边界条件,动态规划算法反过来影响灰狼算法的适应度值从而影响对非重点时段寻优的双向反馈循环机制,将动态规划与灰狼优化算法有机融合在一起。对极端洪水、常遇较大洪水的2个典型案例分别进行求解,并与单纯采用动态规划与灰狼算法的求解结果进行对比,结果表明本文提出的耦合动态规划与灰狼算法的策略兼顾了两者的优点,保证了求解精确性的同时也提高了求解效率。
如何更好地融合灰狼算法与动态规划将是未来研究的方向,进一步优化算法,使其能够智能识别出重点时段与非重点时段,提高算法的智能化水平。目前,精细化和高精度的需求给梯级水库防洪问题的求解带来了挑战,维数灾问题极大限制了传统动态规划的应用,而将灰狼算法与动态规划耦合,可以在降低维数灾影响的同时保证重点时段求解的精度,从而为梯级水库防洪问题的求解提供新的思路。