基于动态收索与离散机制的动态规划降维的水库调度方法
技术领域
本发明属于水库调度相关技术领域,更具体地,涉及一种基于动态收索与离散机制的动态规划降维的水库调度方法。
背景技术
水库调度通常是一个多目标、多属性、多阶段的复杂决策过程,对整个水库的运行管理至关重要,水库调度水平的高低直接影响着水库综合效益的发挥,而传统的线性优化、非线性优化虽然能用与水库调度模型的求解,但往往存在简化处理或求解效果不佳等问题。
动态规划法是水库调度模型求解算法中最经典的算法之一,具有全局收敛性和不需要初始解等优点,该方法通过分段降维转化处理等方法将多目标的决策问题分解成单个简单的低维单目标问题,再利用各阶段之间的相互关系递归求解,在此过程中各阶段的状态变量以及决策变量仅仅相当于下阶段的初始条件故不影响后面子问题的求解,最终便可得到符合要求的全局解以及最优解。但是在传统的动态规划算法中,当系统的规模增加时其计算量以及存储量均呈指数式的增长;此外在整个计算过程中,水位上下限一般都较大,例如防洪调度中一般取汛限水位到设计洪水位等,若计算时每个时段都对这个范围进行统一的离散,为了满足精度要求,一般离散数就会很大,会带来“维数灾”问题;而当离散点数较少时,精度又很低,最终约束被破坏而出现下泄流量为负的情况。现有的动态规划改进方法如POA算法,离散微分动态规划法(DDDP),DPSA算法分别从减少优化阶段、离散状态、计算维度等实现降维,虽能在一定程度上缓解“维数灾”问题,但是随着计算规模的增大依然会面临着严重的“维数灾”问题。故如何提高动态规划法的计算速度以及结果的准确性使其更好的应用于水库调度一直以来便是诸多水文学家研究的重点。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于动态收索与离散机制的动态规划降维的水库调度方法,以此来解决动态规划计算过程中离散点较少,下泄流量为负,以及离散度很大,计算时间很长的问题。
为实现上述目的,按照本发明,提供了一种基于动态收索与离散机制的动态规划降维的水库调度方法,该方法包括下列步骤:
S1确定待处理水库的初始水位上限和下限,根据水位库容关系确定初始水位上限和下限各自对应的初始库容,以此确定待处理水库的初始库容的上限和下限;
S2将库容量与时间的连续曲线离散为多个时刻,每个时刻对应一个库容量,构建每个时刻库容上限和下限的更新规则,以此更新每个时刻对应的库容的上限和下限,即实现每个时刻库容上限和下限的更新,进而实现待处理水库的降维;
S3将每个时刻的库容上限和下限之间的部分划分为多个等分获得离散点的数量,判断每个等分对应的库容量与该时刻对应的实际库容变化量进行比较,设定判定条件,调整并直至划分的等分数量满足所述判定条件,以此获得所需的离散点数量;
S4将所需的离散点数和每个时刻对应的库容上限和下限输入水库最大削峰准则对应的目标函数中,以此获得水库的最大下泄流量和计算时间。
进一步优选地,在步骤S2中,所述构建每个时刻库容上限和下限的更新规则,按照下列方式进行:
对于t+1时刻的库容下限为V下(t+1),V下(t+1)=Qt-mtΔt;
对于t+1时刻的库容上限为V上(t+1),V上(t+1)=Qt+ktΔt;
其中,Qt是t时刻对应的库容量,mt是t时段的最大下泄流量,kt是t时段的最大入库流量,Δt是t时段的时段长度。
进一步优选地,对于计算获得的V下(t+1)和V上(t+1),还需进行如下判断:
当V下(t+1)<Vend,则V下(t+1)=Vend,否则V下(t+1)不变;
当V上(t+1)>Vnormal,则V上(t+1)=Vnormal,否则V上(t+1)不变;
其中,Vend是死库容,Vnormal是正常蓄水位对应的库容。
进一步优选地,在步骤S3中,所述每个等分对应的库容量按照下列方式进行:
ΔV(i)=(V上(i)-V下(i))/N(i)
其中,ΔV(i)是将在i时刻库容上限和下限之间的部分划分为多个等分后,每个等分对应的库容量,V下(i)是在i时刻的库容下限,V上(i)在i时刻的库容上限,N(i)是在i时刻划分的等分总数量。
进一步优选地,在步骤S3中,所述实际库容变化量按照下列方式计算:
W(t)=V*(t+1)-V*(t)
其中,W(t)是t时刻对应的实际库容变化量,V*(t+1)是t+1时刻对应的实际库容,V*(t)是t时刻对应的实际库容。
进一步优选地,在步骤S3中,所述判定条件按照下列进行:
当每个等分对应的库容量大于实际库容变化量时,增加离散点的数量,以此增加划分的等分的数量;
当每个等分对应的库容量小于或等于实际库容变化量时,当前离散点的数量即为所需的离散点数量。
进一步优选地,在步骤S3中,所述离散点数量的最小值为:
N(i)=(V上(i)-V下(i))/W(i)
其中,W(i)是i时刻对应的实际库容变化量,V下(i)是在i时刻的库容下限,V上(i)在i时刻的库容上限,N(i)是时刻对应的离散点的最小数量。
进一步优选地,在步骤S4中,所述最大削峰准则对应的目标函数按照下列关系式进行:
其中,t0、tD分别是调度期的始、末时刻;qt为水库t时段的出库流量;q区,t为区间流量,f是下游控制断面的流量,t是时刻。
进一步优选地,所述最大削峰准则对应的目标函数对应的约束条件包括水库平衡约束、水位约束、泄流能力约束、出库流量的变幅约束、防洪库容约束以及防洪策略约束。
进一步优选地,所述水库平衡约束、水位约束、泄流能力约束、出库流量的变幅约束、防洪库容约束以及防洪策略约束分别按照下列方式进行:
(1)水库水量平衡约束
Vt=Vt-1+(Qt-qt)Δt
式中:Vt、Vt-1分别为期末、期初的库容;Qt、qt分别为t时段末水库的入库流量、出库流量;
(2)水位约束
Zmin≤Zt≤Zmax
式中:Zt为t时段水库的水位;Zmin、Zmax分别为t时段水库允许的最低、最高水位;
(3)泄流能力约束
qΔt≤q(Zt,Bt)
式中:qΔt为时段内的平均下泄流量;Bt为溢洪道的操作方式;
(4)出库流量的变幅约束:
式中:|qt-qt-1|为相邻时段出库流量的变幅;为相邻时段出库流量变幅的允许值;
(5)防洪库容约束
式中:t0、tD是超过下游安全泄量的洪水起止时间;Qt是时段Δt内的平均入库流量;qΔt是时段内的平均下泄流量;V防是水库的防洪库容;
(6)防洪策略约束
qt≤q安,qt≤Q策
式中:q安是下游安全泄量;Q策是防洪策略最大泄量。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具备下列有益效果:
1.本发明中根据各个时段来水量的大小和初始库容,以来水全部蓄入水库且不下泄时确定各个时段的水位上限,以出库等于入库或在时段初水位的基础上按照最大下泄原则确定各个时段的水位下限,以此得到一个动态的水位上下限,避免了DP计算中不必要的离散计算;
2.本发明根据各个时段的来水量、最大下泄流量以及库容上下限,动态确定库容离散程度,以保证当前时段来水至少能够使得水位离散点跳动一个点,最终取最小离散点的倍数优化确定最终的离散点数,形成动态离散机制。与原有技术相比本发明不仅可以降低计算时间解决“维数灾问题”,还可以避免出现负的下泄流量提高计算结果的准确性。
附图说明
图1是按照本发明的优选实施例所构建的基于动态收索空间与离散机制的动态规划降维方法流程图;
图2是按照本发明的优选实施例所构建的动态水位上下限确定的示意图;
图3是按照本发明的优选实施例所构建的动态水位上下限确定的流程图;
图4是按照本发明的优选实施例所构建的变动离散机制的示意图;
图5是按照本发明的优选实施例所构建的变动离散机制的流程图;
图6是按照本发明的优选实施例所构建的额勒赛下游水电站位置图;
图7是按照本发明的优选实施例所构建的额勒赛下游水电站“20180715”号洪水入库流量图;
图8是按照本发明的优选实施例所构建的降维前后下泄流量对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,一种基于动态收索与离散机制的动态规划降维的水库调度方法,该方法包括下列步骤:
S1:确定最大削峰准则为模型优化控制的目标并以动态规划算法进行建模,再根据相应的水库调度规则确定初始的水位上下限,之后由水位上下限结合水位库容关系曲线确定对应的初始库容上下限;
S2:根据调度期初边界水位、各时段来水量以及最大下泄流量,按照不放水或按最大下泄放水的原则,基于水量平衡关系,更新初始的库容上下限;
S3:根据时段来水量及更新后的库容上下限,以优化计算中各时段库容离散点至少能够跳动一个点为原则,获取各个时段的最小离散点数;
S4:根据计算结果情况,以各个时段最小离散点的倍数优化确定各个时段最终的离散点数,形成各时段动态离散机制并应用与动态规划的算法中。
S5利用更新的初始的库容上下限和离散点数,计算最大削峰准则为模型,以此实现水库的调度,其中,计算的方法采用现有常规计算方法,在此不再累述。
进一步地,最大削峰准则的目标函数(调度期间,水库下泄的最小流量)如下;
式中:t0、tD分别为调度期的始、末时刻;qt为水库t时段的出库流量;q区,t为区间流量,f是下游控制断面的流量。
进一步地,最大削峰准则的约束条件如下:
(1)水库水量平衡约束
Vt=Vt-1+(Qt-qt)Δt
式中:Vt、Vt-1分别为期末、期初的库容;Qt、qt分别为t时段末水库的入库流量、出库流量。
(2)水位约束
Zmin≤Zt≤Zmax
式中:Zt为t时段水库的水位;Zmin、Zmax分别为t时段水库允许的最低、最高水位。
(3)泄流能力约束
qΔt≤q(Zt,Bt)
式中:qΔt为时段内的平均下泄流量;Bt为溢洪道的操作方式。
(4)出库流量的变幅约束:
式中:|qt-qt-1|为相邻时段出库流量的变幅;为相邻时段出库流量变幅的允许值。
(5)防洪库容约束
式中:t0、tD是超过下游安全泄量的洪水起止时间;Qt是时段Δt内的平均入库流量;qΔt是时段内的平均下泄流量;V防是水库的防洪库容。
(6)防洪策略约束
qt≤q安,qt≤Q策
式中:q安是下游安全泄量;Q策是防洪策略最大泄量。
进一步地动态规划算法的步骤如下:
(1)划分时段:按调度期的时间间隔划分调度总时段。
(2)定义状态变量:将每个时段末的水位Z或者水库库容V作为状态变量。在时段t内,起始时刻的蓄水量Vt(初始水库蓄水量)是初始确定状态,终端时刻的Vt-1(递推得到的水库蓄水)是终端状态。
(3)定义决策变量:定义好状态变量后,将各时段水库的平均下泄流量qt作为决策变量。
(4)定义状态转移方程:Vt=Vt-1+(Qt-qt)Δt
(5)定义阶段指标:此处以最大削峰准则进行优化调度,故将时段下泄流量的平方qt 2作为阶段指标。
(6)递推方程:根据当前时段的状态变量和上一时刻的目标函数递推下一时刻的目标函数值,递推方程为:
式中:Vt是t时刻的状态变量;Vt-1是t-1时刻的状态变量;Ft(Vt-1)是t-1时刻的目标函数;Ft+1(Vt)是t时刻的目标函数;qt 2是t时刻的状态变量。
进一步地,如图2和3所示,根据对应的水库调度手册中规定的调度期内水位运行的边界范围确定初始的水位上下限;
进一步地,根据初始的水位上下限以及水位库容关系曲线,由线性插值法确定对应的初始库容上下限;
进一步地,步骤S2所述的方法,包括以下步骤:
S21:将初始库容上下限离散后得到时段初水位对应的时段初库容,再基于水量平衡关系,以来水全部蓄入水库且不下泄时得到入库时的时段末库容;如果入库时的时段末库容大于正常蓄水位对应的库容则正常库容即为库容上限,反之取该计算出的时段末库容作为此时段末的库容上限;
S22:按照最大下泄原则得到出库时的时段末库容;如果出库时的时段末库容小于死库容则死库容即为库容下限,反之取该计算出的时段末库容作为此时段末的库容下限;
进一步地,如图4和5所示,步骤S3所述的方法,包括以下步骤:
S31:判断时段初末库容差与离散库容的关系,如果离散库容大于时段初末库容差则进行步骤S32,反之则无需更新离散点数;
S32:将更新后的库容上限记为V上(i),库容下限记为V下(i);依据当前时段来水W(i)至少能够使得水位离散点跳动一个点为原则确定最小离散点数为:N(i)=(V上(i)-V下(i))/W(i)。
下面将结合具体的实施例进一步说明本发明。
如图6所示,本发明以额勒赛下游水电站为例对本发明所提出的方法进行详细的说明,以该水库编号为“20180715”的洪水数据作为数据输入,以最大削峰准则作为模型优化调度的控制目标。并将结果与传统方法进行对比分析,以表现本发明达到的效果。
额勒赛河发源于柬埔寨王国西部国公省东北部高程600~1200m的山区豆蔻山脉南坡,是Kaoh Pao河的三条支流之一。额勒赛下游水电站分上、下电站两级开发,总装机338MW,设计年平均发电量11.982亿kWh。上电站正常蓄水位为263m,最大坝高125m,正常蓄水位以下设计总库容为4.018亿m3,电站装机容量为2×103MW;下电站正常蓄水位为108m,最大坝高为58.5m,正常蓄水位以下设计总库容为0.167亿m3,电站装机容量为2×66MW。鉴于额勒赛下游此水电站以上电站为主,本文则以上电站为例进行研究。本发明实施例的具体步骤如下:
步骤一:以最大削峰准则为模型优化控制目标,其目标函数选取在水库断面有区间入流的计算公式,约束条件包括:水库水量平衡约束,水位约束,泄流能力约束、出库流量的变幅约束、防洪库容约束、防洪策略约束。
之后确定初始的水位上下限以及库容上下限,具体的,在本实施例中,根据《额勒赛下游水电站水库调度手册》,水库水位在死水位到正常蓄水位之间时,原则上不泄流,故取正常蓄水位263m为时段水位上限,死水位238m为时段水位下限;之后由水位库容关系曲线结合线性插值法确定初始的库容上下限。
步骤二:根据调度期初边界水位及各时段来水量和最大下泄流量,按照不放水或按最大下泄放水的原则,基于水量平衡关系,更新初始的库容上下限。
具体的,在本实施例中,入库时的时段末库容=时段初库容+入库流量(来水全部蓄入水库),当入库时的时段末库容大于正常蓄水位对应的库容,则取正常蓄水位对应的库容为下一时段水位上限,反之取下一时段初库容;出库时的时段末库容=入库时的时段末库容-出库流量(2倍的入库流量或者等于入库流量),当出库时的时段末库容小于死库容时,则取死库容为下一时段水位下限,反之取下一时段初库容;此次洪水过程的入库流量如图7所示。
步骤三;根据时段来水量及更新后的库容上下限,以优化计算中各时段库容离散点至少能够跳动一个点为原则,获取各个时段的最小离散点数;
进一步的,在本发明中动态规划计算时每个时段最小离散点数的确定规则为:Nt=(Vt 上-Vt 下)/Wt,其中Nt为第t个时段的变动离散点数,Vt 上为第t个时段的水位上限,Vt 下为第t个时段的水位下限,Wt为第t个时段的来水总量;为了使获得精度更高,离散点数可以取Nt的倍数。本实施例中不同的时段对应不同的库容离散点,其平均离散点数为292个,为进行DP降维效果分析,对于变动离散处理前,同样以离散数292进行计算。降维处理前后的具体结果如表1以及图8所示;
表1同离散程度下DP降维前后结果对比
对比项 |
DP降维处理前 |
DP降维处理后 |
计算时间(s) |
15 |
9 |
最大下泄流量(m3/s) |
623.63 |
622.12 |
由表1以及图6可知DP降维处理前整个过程流量在410m3/s至620m3/s范围内频繁波动最大下泄流量623.63m3/s;而DP降维处理后整个下泄流量过程更加均匀,大概以500m3/s下泄,最大下泄流量622.12m3/s比降维处理前降低了1.51m3/s,计算时间也比处理前快了6秒,时间降低40%。
由以上分析可知本发明提出的基于动态收索空间以及离散机制的动态规划降维方法效果很明显,无论是程序运行结果还是程序运行时间均优于处理前,尤其是时间上可以降低40%,可有效缓解DP的维数灾问题。当模型应用到梯级水库群联合调度时,将会大大降低DP的计算时间,提高水库群联合调度的效益。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。