背景技术
传统的水电站洪水优化调度方法将所有闸门视为一个调度对象,只考虑所有闸门的整体泄流能力,不考虑各个闸门的允许开度、开启顺序、开度组合等闸门操作规则,仅能计算出水电站闸门群整体的优化总泄洪流量过程线,而无法自动制定出各个闸门的优化操作计划。在实际运行环节中,需由调度人员根据该优化总泄洪流量过程线,人工制定各个闸门的操作计划。这种方式难以满足水电站精细化调度和实时滚动调度的业务需求,同时也严重影响了防洪决策的效率。此外,由于实际运行中必须遵循各个闸门的操作规则,无法控制闸门按照预期的优化总泄洪流量过程线运行,造成闸门实际总下泄流量与预期的优化总下泄流量之间的偏差,进而引起后期实际库水位与预期库水位的偏差,进一步加剧实际泄洪流量和预期泄洪流量之间的偏差程度,严重影响了传统水电站洪水优化调度方法的实用价值。
水电站洪水优化调度主要解决入库洪水的优化蓄泄问题,在确保水电站自身安全的前提下,尽可能减轻洪水对下游的危害作用,并适当考虑洪水的资源化利用。传统水电站洪水优化调度方法将所有闸门视为一个对象,通过优化调度计算得到整个水电站的优化泄洪流量过程线,在此过程中并不考虑各个闸门的操作规则。实际执行过程中,需要凭借调度人员的经验和不断试算,参照已得到的预期优化泄洪流量过程线和实际的库水位,确定满足各闸门允许开度、开启顺序、开度组合等操作规则的操作计划,并人工实时调节泄洪设施的闸门开度,使得实际泄洪流量与预期泄洪流量尽可能接近。由于忽略了各闸门的操作规则,传统水电站洪水优化调度方法得到的优化泄洪流量过程线与水电站真实泄流特性不符,从而造成执行环节和计划环节的严重偏离,大幅降低了传统方法计算结果的价值和可参考性。
洪水优化调度的最终目的是通过对洪水的合理调度,使得国民经济损失最小化。然而,洪水所造成的国民经济损失本身难以定量化计算,因此水电站洪水优化调度通常采用简化的方式来考虑洪水损失。一般情况下,洪水所造成的国民经济损失与最大泄洪流量呈正相关性,可以将国民经济损失最小化目标转化为最大泄洪流量最小化目标。利用数学推导可以证明,洪水调度期内运用确定的防洪库容时,最大泄洪流量最小化的方案实际上就是泄洪流量最均匀的方案。由于洪水调度的初始水位和末水位均提前确定,而洪水入库的水量也提前确定,因此根据水量平衡的原理可提前确定出调度期内的总泄洪水量,这意味着调度期内各时段的泄洪流量之和是一个固定值。根据数学原理,当多个自变量之和一定时,可以用各自变量的平方和来表述其均匀程度。因此,可以建立如下目标函数:
为了便于使用计算机求解,可对上述目标函数进行离散化:
约束条件:
防洪库容约束
无预泄时流量约束qi≤Qmax,i=1,2,L,N
最大泄流能力约束qi≤qmax(zi),i=1,2,L,N
水库水量平衡约束Vi+1=Vi+(Qi-qi)·Δt,i=1,2,L,N
式中,t0为调度期起始时刻,td为调度期结束时刻,q(t)为泄洪流量过程,qi为第i个时段的泄洪流量,Qmax为洪水的最大入库流量(洪峰流量),Δt为时段长,N为总时段数,ΔVf为拟动用的防洪库容,zi为第i个时段的库水位,qmax(zi)为所有泄洪设施在zi库水位下的最大泄流能力,可根据最大泄流能力曲线插值得到,Vi为第i个时段初的库容。
拟动用的防洪库容大小ΔVf应小于等于水库的总防洪库容。ΔVf的具体大小应根据后期来水预报情况并结合人工经验来确定。后期来水较多时,应设定较小的ΔVf,使调度期内以较大的削峰流量下泄洪水,以便水库在洪水退水过程中尽快降低至汛限水位以下。后期来水较少时,可设定较大的ΔVf,使调度期内以较小的削峰流量下泄洪水,减少下游洪灾损失。
根据上述数学模型,使用传统的动态规划算法即可计算得到整个水电站的优化泄洪流量过程线。
从上述数学模型可以看出,现有技术方案仅考虑了水电站所有泄洪设施的最大泄流能力约束,并未考虑各个闸门的允许开度、开启顺序、开度组合等闸门操作规则对泄洪过程产生的影响,仅能得到理论上的优化泄洪流量过程线,且无法得到对应于该优化泄洪流量过程线的各闸门操作计划。实际运行时,需要依靠人工实时地监视水库水位变化,根据当前库水位和预期的优化泄洪流量决定是否开启或关闭闸门,并计算相应的闸门开度,工作量非常大。此外,由于泄洪设施闸门的开度均只局限于若干个离散的固定开度值,实际闸门泄洪流量与预期优化泄洪流量会存在较大的偏差。该偏差在整个调度期内均存在,偏差的不断累积使得调度期中后部分的优化泄洪过程线失去预测和指导意义。传统的滚动调度方法并无法彻底解决该问题,使得调度人员无法准确预判出调度期内库水位和下泄流量的发展趋势,甚至会导致经验不足的调度人员误判防洪形势,给防洪工作带来较大的安全隐患。
发明内容
针对现有技术存在的不足,本发明目的是提供一种考虑闸门操作规则的水电站洪水优化调度方法,解决了传统方法实际执行环节与计划环节存在严重偏差的问题,提高了水电站优化泄洪流量过程线的实际指导作用,降低了调度人员的工作强度和出错概率,同时,辅助调度人员更准确地研判后期防洪形势变化。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明考虑闸门操作规则的水电站洪水优化调度方法,依次包括以下几个步骤:
(1)闸门操作规则结构化描述,采用结构化的描述方法来完整表述闸门允许开度、开启顺序和开度组合等复杂信息,为闸门操作规则实例化以及计算机解析闸门操作规则提供基础;
(2)针对特定水电站进行闸门操作规则实例化,根据实际水电站的真实闸门允许开度、开启顺序和开度组合等信息,按照一定的规则动态生成和排列各类闸门操作规则结构体的多个实例,并建立不同实例之间的关联关系;
(3)生成优化的闸门开度组合号序列,根据传统水电站洪水优化调度方法推求的理论泄洪流量过程线,逐时段计算最优开度组合序号,形成整个调度期内的优化闸门开度组合号序列,用于解决闸门操作规则与传统洪水优化调度方法的耦合问题;
(4)对闸门开度组合号序列进行优化调整,针对洪水调度过程中个别库水位越限的时段,按指定方法调整前次闸门操作时刻,直至消除库水位越限问题。针对调度期末库水位与目标水位的偏差情况及前次闸门操作情况,按指定方法调整最后一次闸门操作时刻,直至调度期末水位最接近;
(5)生成闸门操作计划,通过对优化闸门开度组合号序列的逐时段解析,动态生成满足所有闸门操作规则要求的闸门操作计划。
步骤(1)中,所述闸门操作规则包括闸门的允许开度、开启顺序及开度组合信息,其结构化描述方法如下:
分别采用开度结构体(以下简称OM结构体)、闸门结构体(以下简称GT结构体)及开度组合结构体(以下简称CB结构体)来表征闸门的允许开度、开启顺序及开度组合信息。
所述OM结构体用于存储闸门特定开度的信息,其内容包括开度序号、开度值、开度类型、开度描述和由若干个水位、流量二元信息组构成的水位流量关系曲线;
所述GT结构体用于存储水电站特定闸门的信息,其内容包括闸门序号、闸门描述和允许的开度序号,GT结构体通过开度序号与OM结构体关联;
所述CB结构体用于存储特定的闸门开度组合信息,其内容包括规则序号和由若干个闸门序号、开度序号二元信息组构成的开度组合信息,CB结构体通过闸门序号和开度序号与GT结构体关联。
步骤(2)中,对闸门操作规则进行实例化,是指针对实际水电站的闸门允许开度、开启顺序及操作规则信息,分别实例化OM结构体、GT结构体和CB结构体,并形成针对该水电站的开度表、闸门表和组合表。具体包括以下步骤:
首先,根据实际水电站的每种闸门允许开度,分别构建对应的OM结构体实例,表述该闸门允许开度的相关信息。所有的OM结构体实例共同构成完整的开度表。
其次,根据实际水电站的每个泄洪闸门,分别构建对应的GT结构体实例,表述该闸门的相关信息。所有的GT结构体实例共同构成完整的闸门表。
最后,根据实际水电站的每种闸门开度组合,分别构建对应的CB结构体实例,表述该开度组合的相关信息。所有的CB结构体共同构成完整的组合表。
所述各OM结构体实例中的水位流量关系曲线应该严格按照水位递增规律排列,以便于在求解过程中根据库水位快速插值计算该开度对应的泄洪流量。
所述开度表中的各OM结构体实例可以按照开度值从小到大排列;所述闸门表中的各GT结构体实例可以按照闸门的类型和物理位置排列;所述组合表中的各CB结构体实例则应严格按照闸门开启先后顺序和组合情况进行有序排列。
采取以下方法检查所述组合表各CB结构体实例之间顺序是否正确:
(a1)在洪水起调水位和允许的最高库水位之间按等间距原则选定若干个水位;
(a2)选定其中一个水位,依次计算出该水位下不同CB结构体实例对应的泄洪流量;
(a3)验证所有CB结构体实例是否满足泄洪流量是否随其组合序号单调递增的规律,若满足则通过验证,若不满足则说明其中必有一个CB结构体实例的信息存在错误,需校验CB结构体实例顺序或CB结构体实例信息的正确性,针对问题修改CB结构体实例顺序或CB结构体实例信息直至通过验证为止;
(a4)若未遍历完所有水位,则跳转至步骤(a2),若已遍历完所有水位,则结束验证。
步骤(3)中,优化的闸门开度组合号序列采用以下几个步骤生成:
(b1)根据时段初的库水位,计算不同组合序号CB结构体实例在该库水位下的实际泄洪流量,并记录实际泄洪流量与预期时段优化泄洪流量之间的绝对值差或差值的平方;
(b2)将绝对值差或差值的平方最小的CB结构体实例作为时段最优决策,将其组合序号作为该时段的最优组合序号;
(b3)根据时段初库水位和该最优组合序号,计算出时段的最优泄洪流量;
(b4)利用水量平衡方程计算出下个时段初的库水位;
(b5)是否遍历完所有时段,若未遍历完所有时段,则转至步骤(b1),若已遍历完所有时段,则终止遍历过程;
(b6)将得到的多个最优闸门开度组合号保持至序列中,即可形成优化的闸门开度组合号序列。
步骤(4)中,闸门开度组合号序列优化调整包括调度过程库水位越限的调整和调度期末库水位的调整;
所述调度过程库水位越限的调整方法如下:
(c1)兼顾洪水调度过程控制的精度要求及闸门调节频度的容许度要求,确定合理的闸门开度组合号序列优化调整时段长,并将第一时段作为当前时段;
(c2)判断时段末的库水位是否越高限,若未越高限则直接进入下一个阶段;
(c3)若时段末库水位越高限,则往前寻找最近的一次闸门操作;
(c4)判断该次闸门调整是开闸还是关闸,若闸门开度组合序号与前时段相比增加,则说明该次闸门操作为开闸操作;若闸门开度组合序号与前时段相比减小,则说明本次闸门操作为关闸操作;
(c5)若为开闸操作,则应将开闸时刻提前。若闸门开度组合号序列优化调整时段长为ΔT′,原闸门操作时刻为tr,则假定闸门操作时刻为tr-ΔT′,并从tr-ΔT′时刻所处的时段初开始进行逐时段水位计算,若该时段水位仍越限,则假定闸门操作时刻为tr-2ΔT′,依次类推直至当前时段水位不越限为止。若为关闸操作,则应将关闸时刻延迟。假定闸门操作时刻为tr+ΔT′,并从tr+ΔT′时刻所处的时段初开始进行逐时段水位计算,若该时段水位仍越限,则假定闸门操作时刻为tr+2ΔT′,依次类推直至当前时段水位不越限为止;
(c6)若在步骤(c5)中闸门操作时刻已前移至更早的一次闸门操作时刻或后移至更迟的一次闸门操作时刻,则应该将更早的或更迟的闸门开度组合序号删除,若闸门操作时刻已前移至调度期初或后移至当前时段末,则终止当前时段的水位越限调整,进入下一时段并转至步骤(c2);
(c7)若未遍历完所有时段,则进入下一时段并转至步骤(c2),若已遍历完所有时段,则退出调度过程水位越限调整。
所述调度期末库水位的调整方法基本原理与调度过程库水位越限的调整方法类似,具体步骤如下:
(d1)根据调度期末库水位与目标水位的偏差要求,对闸门开度组合号序列优化调整时段长进行适当的加密,作为调度期末库水位调整的时段长ΔT′′;
(d2)综合判断调度期末库水位越限情况和最后一次闸门操作情况,决定正确的闸门调整策略。若调度期末水位高于目标水位且最后一次闸门操作为关闸操作,或者调度期末的水位低于目标水位且最后一次闸门操作为开闸操作,则应该延迟最后一次闸门操作时刻。若调度期末水位高于目标水位且最后一次闸门操作为开闸操作,或者调度期末的水位低于目标水位且最后一次闸门操作为关闸操作,则应该提前最后一次闸门操作时刻;
(d3)假定最后一次闸门操作时刻为tr。若应该延迟最后一次闸门操作时刻,首先找到最后一次闸门操作时刻所在的时段,然后从该时段初开始,分别假定最后一次闸门操作时刻为tr+ΔT′′,tr+2ΔT′′,……,直至调度期末,并利用水量平衡原理进行逐时段水位计算,得到相应于上述每个闸门操作时刻的调度期末水位,找到其中与目标水位偏差最小的调度期末水位以及对应的闸门操作时刻,即为优化调整后的闸门操作时刻;
(d4)若应该提前最后一次闸门操作时刻,首先找到倒数第二次闸门操作时刻所在的时段,然后从该时段初开始(若总共只有一次闸门操作,则从第一个时段初开始),分别假定最后一次闸门操作时刻为tr-ΔT′′,tr-2ΔT′′,……,直至该时段初为止,并利用水量平衡原理进行逐时段水位计算,得到相应于上述每个闸门操作时刻的调度期末水位,找到其中与目标水位偏差最小的调度期末水位以及对应的闸门操作时刻,即为优化调整后的闸门操作时刻。
步骤(5)中,闸门操作计划采用以下方法生成:
逐时段对比优化闸门开度组合号序列中相邻两个时段的闸门开度组合序号,并通过对两个闸门开度组合信息的对比解析,得出该时段的闸门操作计划。遍历所有时段并将各个时段的闸门操作计划均保存到一个序列中,形成调度期内的闸门操作计划。
若相邻两个时段的闸门开度组合序号相同,则本时段不进行闸门操作;若后一时段开度组合序号大于前一时段开度组合序号,对该时段进行开闸操作;若后一时段开度组合序号小于前一时段开度组合序号,对该时段进行关闸操作。
本发明在洪水优化调度模型中考虑了水电站闸门的允许开度、开启顺序、开度组合等操作规则,能够直接输出各个闸门在洪水期间的优化操作计划,大幅度减小了调度人员的工作量和工作难度;与传统技术方案相比,本发明计算得到的水电站优化泄洪流量过程线更加符合水电站的实际泄流能力特性,能够更加准确地预测洪水调度期间水库水位和下游泄洪流量的演化规律,辅助调度人员对洪水调度期间的风险进行更好的研判。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参见图1,本发明的洪水优化调度方法包括闸门操作规则结构化描述、闸门操作规则实例化、闸门开度组合号序列优化生成、闸门开度组合号序列优化调整、闸门操作计划生成五个步骤。
其中,闸门操作规则结构化描述采用了结构化的描述方法来完整表述闸门允许开度、开启顺序和开度组合等复杂信息,为闸门操作规则实例化以及计算机解析闸门操作规则提供基础。
闸门操作规则实例化根据实际水电站的真实闸门允许开度、开启顺序和开度组合等信息,根据一定的规则动态生成和排列各类闸门操作规则结构体的多个实例,并建立不同实例之间的关联关系。
闸门开度组合号序列优化生成根据传统洪水优化调度方法推求的理论泄洪流量过程线,逐时段计算最优开度组合序号,形成整个调度期内的优化闸门开度组合号序列,用于解决闸门操作规则与传统洪水优化调度方法的耦合问题。
闸门开度组合号序列优化调整针对洪水调度过程中库水位越限的时段,按指定方法调整前次闸门操作时刻,直至消除库水位越限问题;针对调度期末库水位与目标水位的偏差情况及前次闸门操作情况,按指定方法调整最后一次闸门操作时刻,直至调度期末水位最接近。
闸门操作计划生成通过对优化闸门开度组合号序列的逐时段解析,动态生成满足所有操作规则要求的闸门操作计划。
由此可见,仅闸门开度组合号序列优化生成部分属于对传统洪水优化调度方法的改进,其它四个部分均由本发明首次提出,用于进一步补充完善传统洪水优化调度方法体系。
闸门操作规则结构化描述为其余四部分提供基础性规范支撑,而其余四部分则构成水电站洪水优化调度方法的完整步骤。
(1)闸门操作规则结构化描述
水电站闸门操作规则主要包括闸门的允许开度、开启顺序和开度组合。允许开度指各个闸门的允许开度位置,可采用闸门实际开启的高度(绝对开度)或实际开启高度与最大开启高度的比值(相对开度)表示。洪水调度过程中实际选取的闸门开度必须为允许的若干个离散开度之一。因此,闸门开度只能逐级加大,相应的泄洪流量呈台阶状变化,无法准确跟踪预期泄洪流量过程。闸门允许开度是传统洪水优化调度方法执行环节泄洪流量偏差的主要因素(见图2)。由于允许开度均针对特定闸门,因此其结构化表达方法比较简单,只需要将开度类型(绝对开度、相对开度)和允许开度的集合,如{0,0.25,0.5,0.75,1},保存到相应的闸门信息中即可。
部分水电站闸门调度规则简单约定了多个闸门之间的先后开启顺序,并且规定优先级最高的那个闸门全开后才能开启优先级次之的闸门。当需要开启闸门泄洪时,先操作优先级最高的那个闸门,随着入库洪水流量逐渐增大而加大该闸门的开度。当该闸门达到全开位置且入库洪水继续增大时,则选取优先级次之的一个或多个闸门,并适时地增大或减小闸门开度。在洪水退水阶段,则采用相反的调节顺序,即后开启的闸门先关,先开启的闸门后关。对于这种情况,只需要采用“优先级序列”即可满足结构化存储要求。
然而,也有部分水电站闸门调度规则要求在多个闸门之间轮流调节,以优化水电站下游的水力学条件。例如,某水电站有A(左侧)、B(中间)、C(右侧)三个闸门,要求随着入库洪水流量的逐渐加大,先开启B闸门至0.25开度和0.5开度,然后保持B闸门在0.5开度,同时开启A、C两个闸门至0.25开度和0.5开度,当泄洪流量进一步增大时,再次加大B闸门至0.75开度和全开,然后再依次加大A、C闸门至0.75开度和全开。在这种情况下,由于低优先级闸门会在高优先级闸门全开之前就提前开启,上述“优先级序列”方法无法满足该情况下的闸门开启顺序结构化存储要求。
为解决上述问题,本发明存储不同的闸门开度组合情况,并通过不同闸门开度组合信息的有序排列,来隐含存储复杂闸门开启顺序信息,实现复杂闸门开启顺序的间接表述。该方法不但能够很好地解决上述轮流调节闸门的复杂开启顺序表述问题,而且也能够有效兼容并替代简单的“优先级序列”表述方法。此外,该方法还实现了不同闸门开启顺序和开度组合信息的一体化存储,降低了信息存储的冗余度。
根据上述分析,参见图3,分别采用OM、GT、CB三种结构体来共同表征闸门的允许开度、开启顺序和开度组合信息。OM结构体用于存储闸门特定开度的信息,内容包括开度序号、开度值、开度类型、开度描述,以及由若干个水位、流量二元信息组构成的泄流特性曲线。GT结构体用于存储水电站特定闸门的信息,内容包括闸门序号、闸门描述以及允许开度的序号,通过开度序号与OM结构体关联。CB结构体用于存储特定的闸门开度组合信息,内容包括规则序号,以及由若干个闸门序号、开度序号二元信息组构成的开度组合信息,通过闸门序号和开度序号与GT结构体关联。这种将开度信息与闸门信息分开存储的方式,可以避免型式和安装高程均相同的多个闸门重复定义相同的开度信息,使得冗余信息最小化。
(2)闸门操作规则实例化
闸门操作规则结构化描述仅解决不同类型信息的表述问题。对于特定的水电站而言,需要根据其具体的闸门数量、各个闸门的允许开度以及开度组合情况,对不同结构体进行实例化,以便利用结构化表述方法描述特定水电站的所有信息。
由于不同水电站的闸门数量、允许开度、开度组合均各不相同,因此各类结构体实例化的数量也各不相同。OM结构体实例的数量取决于水电站闸门的数量和允许开度的数量。原则上,应该对各个闸门的所有允许开度均建立一个OM结构体实例。但是,当水电站有多个闸门,且其允许开度及相应开度下的泄流特性曲线均相同时,可以不重复定义相同开度的OM结构体实例。以上述A、B、C三个闸门为例,若三个闸门型式、安装高程均相同,允许开度均为{0.25,0.5,0.75,1},且任一开度下的泄流特性曲线也完全相同,则实际只需要定义4个OM结构体实例,开度值分别为0.25,0.5,0.75,1。GT结构体实例的数量与水电站闸门的数量相等,分别针对各个闸门进行实例化。CB结构体实例的数量则与水电站各闸门开度组合的数量相等,分别针对各开度组合进行实例化。
为了消除对商用数据库管理***(DBMS)的依赖性,实现轻量化的信息配置,本发明采用文本形式的结构块来表示闸门操作规则信息,计算机程序可解析这些结构块,并实例化相应的结构体。值得注意的是,OM实例中的水位流量关系曲线应该严格按照水位递增规律排列,以便于在求解过程中根据库水位快速插值计算该开度对应的泄洪流量。仍以上述A、B、C三个闸门为例,其闸门操作规则表述如图4所示。
采用对象数组的方式将三种类型的结构体实例全部载入计算机内存中,分别建立如图5所示的开度表、闸门表和组合表,各表中的每一项成员均为一个结构体实例。开度表和闸门表对各个实例之间的顺序无要求,但是为了更加清晰地反映出开度变化规律和闸门情况,宜按照一定规律有序存放。例如,开度表中的结构体实例可以按照开度值从小到大排列。闸门表中的结构体实例可以按照闸门的类型和物理位置排列。组合表中的各个实例则应该严格按照闸门开启先后顺序和组合情况进行有序排列,以便遵循闸门操作规则制定合理的闸门操作计划。
当给定库水位z时,CB实例对应的泄洪流量可唯一确定。方法是遍历CB实例中的所有开度序号,分别找到该开度序号对应的OM实例,然后遍历该OM实例中的水位、流量信息组,分别找到小于等于和大于等于z的两个相邻水位值,记为z′和z′′,对应的泄洪流量分别为q′和q′′,则库水位为z时该OM实例的流量可表述为qom=q′+(q′′-q′)·(z-z′)/(z′′-z′)。若未找到z′和z′′,则库水位为z时该OM实例的泄洪流量为零。依次累加CB实例中各OM实例的泄洪流量,得到总的泄洪流量,即为该CB实例的泄洪流量。因此,泄洪流量是库水位和开度组合序号的函数,记为qcb=frq(z,c),其中z为库水位,c为开度组合序号,qcb为该闸门开度组合下的水电站总泄洪流量。
把所有结构体实例载入内存后,应对实例信息进行正确性校验,分为序号校验、关联校验和资料校验三种,见图6。其中,序号校验对各OM实例的开度序号、GT实例的闸门序号以及CB实例的组合序号进行校验。要求各序号必须以自然数序列递增,不得出现重复或跳跃。关联校验用于验证各实例之间的关联性是否正确,包括闸门表中的开度序号是否在开度表中存在对应的OM实例,组合表中的闸门序号在闸门表中是否存在对应的GT实例,以及对应的开度序号是否存在于该GT实例中。资料校验用于验证资料数据自身是否存在错误,这种错误可能来自于原始资料,也可能来自于数据录入过程的人工失误。校验内容主要包括OM实例的水位流量关系曲线是否合理,以及组合表各CB实例及顺序是否合理。根据同一开度下库水位越高泄洪流量越大的原理校验OM实例,逐一对比OM实例的各水位、流量二元信息组,检查水位和流量是否为单调递增,不满足要求则判定该OM实例存在错误。组合表存储了随着入库洪水增大而逐级加大开启闸门的开度组合信息,因此相同库水位下,较小组合序号CB实例的下泄流量应该小于较大组合序号CB实例的下泄流量。基于该原理,可采取以下步骤检查组合表各CB实例及顺序是否合理:
(a1)在洪水起调水位和允许的最高库水位之间按等间距原则选定若干个水位;
(a2)选定其中一个水位,依次计算出该水位下不同CB实例对应的泄洪流量;
(a3)验证所有CB结构体实例是否满足泄洪流量随组合序号单调递增的规律,若满足则通过验证,若不满足则说明其中必有一个CB实例的信息存在错误,需校验CB结构体实例顺序或CB结构体实例信息的正确性,针对问题修改CB结构体实例顺序或CB结构体实例信息直至通过验证为止;
(a4)若未遍历完所有水位,则跳转至步骤(a2),若已遍历完所有水位,则结束验证。
(3)闸门开度组合号序列优化生成
水电站闸门需要遵循一定的开启顺序和开度组合要求,而这两类信息均被保存在组合表中。单个的CB实例代表了一种特定的闸门开度组合,而CB实例之间的有序排列,可以确保优化求解得到的闸门操作方案始终满足开启顺序要求。在正确构建开度表、闸门表和组合表的情况下,只需要在有序排列的组合表中搜索不同时段的最优CB序号,即可全面考虑闸门的允许开度、开启顺序和开度组合约束,有效解决了闸门操作规则与洪水优化调度计算的耦合问题。
此外,水电站允许在不同的闸门开度组合之间跨越调节,例如洪水增长非常快时,处于全关位置的闸门可以跨越0.25开度而直接开至0.5开度,所以任意两个组合序号之间的跳转,均能够自然满足闸门开启顺序和开度组合要求。因此,相邻时段的组合序号之间并不存在关联约束,闸门开度组合序号的寻优空间为整个组合表,使得开度组合序号的寻优操作得到了极大的简化。
如前所述,传统洪水优化调度方法中水电站泄流能力约束为qi≤qmax(zi),在此过程中并不考虑闸门的操作规则,使得模型未能真实反映水电站的闸门操作规则约束。通过闸门操作规则的结构化表述,水电站泄洪流量可表示为库水位和开度组合序号的函数,即qcb=frq(z,c)。由于组合表中的各个CB实例按照闸门开度情况有序排列,因此可利用最大的组合序号求得特定库水位下的水电站泄流能力。所以,传统洪水优化调度方法中的水电站泄流能力约束可以修改为qi≤frq(zi,cmax),其中cmax为水电站的最大开度组合序号。利用该修改后的数学模型及传统求解方法,求得预期的优化泄洪流量过程线。
将上述优化泄洪流量过程线作为基准,依次遍历每一个时段,寻找实际泄洪流量与预期优化泄洪流量最接近的开度组合序号。第i时段的数学模型如下:
目标函数:
约束条件:
实际下泄流量约束
无预泄时流量约束
水库水量平衡约束
水位库容转换关系
水库最高水位约束
式中,q
i为第i个时段的优化泄洪流量,
为第i个时段选择第j个开度组合号的泄洪流量,
为第j个闸门开度组合号,R为闸门开度组合号数量,f
rq是泄洪流量与库水位、闸门开度组合号之间的函数关系,f
vz为库水位与库容的函数关系,
为第i个时段选择第j个开度组合号情况下的时段末(i+1时段初)库容,
为第i个时段选择第j个开度组合号情况下的时段末(i+1时段初)库水位。若j=0时目标函数最小,则该时段应该将所有闸门全部关闭。由于实际下泄流量约束已反映了闸门开度对下泄流量的限制作用,因此本模型不需要考虑最大泄流能力约束。
在时段优化过程中会出现流量约束和最高水位约束无法同时满足的情况。若保持出库流量小于入库流量,则时段末的库水位会超过高限。若保持时段末水位在高限以下,则必须确保出库流量大于入库流量。此时,应该优先确保出库流量小于入库流量,避免造成人工洪水,并通过后续的闸门操作计划优化调整方法解决水位越限问题。
采用上述数学模型求解优化闸门开度组合号序列的具体求解步骤如下:
(b1)根据时段初的库水位,计算不同组合序号CB结构体实例在该库水位下的实际泄洪流量,并记录实际泄洪流量与预期时段优化泄洪流量之间的绝对值差或差值的平方;
(b2)将绝对值差或差值的平方最小的CB结构体实例作为时段最优决策,将其组合序号作为该时段的最优组合序号;
(b3)根据时段初库水位和该最优组合序号,计算出时段的最优泄洪流量;
(b4)利用水量平衡方程计算出下个时段初的库水位;
(b5)是否遍历完所有时段,若未遍历完所有时段,则转至步骤(b1),若已遍历完所有时段,则终止遍历过程。
(b6)将得到的N个最优闸门开度组合号保持至序列中,即可形成优化的闸门开度组合号序列。
(4)闸门开度组合号序列优化调整
如前所述,优化闸门开度组合号序列只追求各阶段的闸门泄洪流量最接近于预期的优化泄洪流量,无法避免洪水调度过程中出现库水位超限的问题。此外,部分水电站考虑到后期来水情况对水库风险的影响,以及洪水资源优化利用的需求,会要求洪水调度期末库水位回复至设定水位。闸门开度组合号序列优化调整用于同时解决上述调度过程库水位越限问题和调度期末水位调整问题。
参见表1,调度过程水位越限的调整方法如下:
(c1)兼顾洪水调度过程控制的精度要求及闸门调节频度的容许度要求,确定合理的闸门开度组合号序列优化调整时段长ΔT′,ΔT′宜取15分钟或10分钟,将第一时段作为当前时段;
(c2)判断时段末的库水位是否越高限,若未越高限则直接进入下一个阶段;
(c3)若时段末库水位越高限,则往前寻找最近的一次闸门操作(闸门开度组合序号发生变化的时段);
(c4)判断该次闸门调整是开闸还是关闸。若闸门开度组合序号与前时段相比增加,则说明该次闸门操作为开闸操作;若闸门开度组合序号与前时段相比减小,则说明本次闸门为关闸操作;
(c5)若为开闸操作,则应将开闸时刻提前。若原闸门操作时刻为tr,则假定闸门操作时刻为tr-ΔT′,并从tr-ΔT′时刻所处的时段初开始进行逐时段水位计算,若该时段水位仍越限,则假定闸门操作时刻为tr-2ΔT′,依次类推直至当前时段水位不越限为止。若为关闸操作,则应将关闸时刻延迟。假定闸门操作时刻为tr+ΔT′,并从tr+ΔT′时刻所处的时段初开始进行逐时段水位计算,若该时段水位仍越限,则假定闸门操作时刻为tr+2ΔT′,依次类推直至当前时段水位不越限为止。
(c6)若在步骤(c5)中闸门操作时刻已前移至更早的一次闸门操作时刻或后移至更迟的一次闸门操作时刻,则应该将更早的或更迟的闸门开度组合序号删除,若闸门操作时刻已前移至调度期初或后移至当前时段末,则终止当前时段的水位越限调整,进入下一时段并转至步骤(c2);
(c7)若未遍历完所有时段,则进入下一时段并转至步骤(c2);若已遍历完所有时段,则退出调度过程水位越限调整。
表1:调度过程中水位越限的调整方法
序号 |
前次闸门操作情况 |
闸门调整策略 |
1 |
关闸 |
延迟关闸时间 |
2 |
开闸 |
提前开闸时间 |
参见表2,调度期末库水位的调整方法基本原理与调度过程库水位越限的调整方法类似,具体步骤如下:
(d1)根据调度期末库水位与目标水位的偏差要求,对闸门开度组合号序列优化调整时段长进行适当的加密,作为调度期末库水位调整的时段长ΔT′′;
(d2)综合判断调度期末库水位越限情况和最后一次闸门操作情况,决定正确的闸门调整策略。若调度期末水位高于目标水位且最后一次闸门操作为关闸操作,或者调度期末的水位低于目标水位且最后一次闸门操作为开闸操作,则应该延迟最后一次闸门操作时刻。若调度期末水位高于目标水位且最后一次闸门操作为开闸操作,或者调度期末的水位低于目标水位且最后一次闸门操作为关闸操作,则应该提前最后一次闸门操作时刻;
(d3)假定最后一次闸门操作时刻为tr。若应该延迟最后一次闸门操作时刻,首先找到最后一次闸门操作时刻所在的时段,然后从该时段初开始,分别假定最后一次闸门操作时刻为tr+ΔT′,tr+2ΔT′,……,直至调度期末,并利用水量平衡原理进行逐时段水位计算,得到相应于上述每个闸门操作时刻的调度期末水位,找到其中与目标水位偏差的调度期末水位以及对应的闸门操作时刻,即为优化调整后的闸门操作时刻;
(d4)若应该提前最后一次闸门操作时刻,首先找到倒数第二次闸门操作时刻所在的时段,然后从该时段初开始(若总共只有一次闸门操作,则从第一个时段初开始),分别假定最后一次闸门操作时刻为tr-ΔT′,tr-2ΔT′,……,直至该时段初为止,并利用水量平衡原理进行逐时段水位计算,得到相应于上述每个闸门操作时刻的调度期末水位,找到其中与目标水位偏差的调度期末水位以及对应的闸门操作时刻,即为优化调整后的闸门操作时刻。
表2:调度期末水位调整方法
(5)闸门操作计划生成
本部分用于根据已得到的优化闸门开度组合号序列生成闸门操作计划。基本思想是逐时段对比相邻两个时段的开度组合号,通过对两个闸门开度组合信息的对比解析,得出该时段的闸门操作计划。遍历所有时段并将各个时段的闸门操作计划均保存到一个序列中,形成满足所有闸门操作规则要求的闸门操作计划。
若相邻两个时段的闸门开度组合序号相同,则本时段不进行闸门操作。若相邻两个时段的闸门开度组合序号不同,则提取相应的2个闸门操作规则实例,并通过内容的比对得到时段闸门的操作方案。由于组合表中的各个CB实例按照闸门开启情况从小到大排列,因此可以简单地通过相邻两个时段的闸门开度组合号的大小,判断是该时段是进行开闸操作还是进行关闸操作。若后一时段开度组合序号大于前一时段开度组合序号,则该时段进行开闸操作;反之,则该时段进行关闸操作。
为了便于说明,仍以图4所示的开度组合为例。分别考虑开闸和关闸两种情况,开闸情况假定前后两个是时段的优化开度组合号是分别是1和3,关闸情况假定前后两个是时段的优化开度组合号是分别是3和1,分别提取闸门开度组合信息如下:
图7左侧部分的闸门开度组合号由1变为3,因此为开闸操作。通过对两个CB实例内容的比对分析可以得出,闸门2(闸门B)需要从开度1(0.25开度)调节至开度2(0.5开度),闸门1(闸门A)和闸门3(闸门C)需要从全关状态开启至开度1(0.25开度)。
同理,图7右侧部分的闸门开度组合号由3变为1,因此为关闸操作。通过对两个CB实例内容的比对分析可以得到,闸门2(闸门B)需要从开度2(0.5开度)调节至开度1(0.25开度),闸门1(闸门A)和闸门3(闸门C)需要从开度1(0.25开度)调节至全关位置。见图8。
从闸门开度组合号序列优化生成的方法可知,上述闸门的调节时间均应为该时段初的时刻值。闸门调节的信息可由闸门名称、调节时刻、目标开度三元信息组描述,当某个时段有多个闸门需要进行调节时,可由多个三元信息组构成该时段的闸门操作计划。重复利用上述方法遍历所有时段,可以得到各个时段的闸门操作计划,共同构成整个调度期内的闸门操作计划。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。