2.4 多级别多目标水库供水调度规则
多目标水库在服务多个供水对象时,其供水优先权并不总是一致的,因此,研究有着不同优先级和保证率的多个供水目标的水库调度规则是十分必要的。本节设计了一种水库多目标供水的调度规则,该规则能分别处理不同的供水目标,保证各项用水不发生深度破坏,在此基础上寻求累积缺水最小的调度目标。另一种混合模拟和遗传算法的模型被用来对该规则的参数进行优化,在搜索规则最优参数组合的过程中遗传算法显示出很好的优化性能。实例研究检验了提出的供水调度规则的合理性。
2.4.1 研发目的
如何从水库的历史运行状况中提取出具有操作性的调度规则,是一个值得探讨的问题,这些调度规则对水库长期运行起到了重要的指导作用。本节重点从供水的角度探讨水库的调度规则。国外水库供水调度的研究很多,提出了许多不同形式的调度规则,如标准调度策略(Standard Operating Policy,SOP)、线性限制供水规则(Linear Hedging Rule,LHR)等。我国常见的供水调度规则是水库供水调度图。求解方法一般采用长系列模拟法,利用水库来水、设计用水具有较好代表性的长系列资料,逆时序模拟推求水库运行过程线,得到供水的加大线和限制线,这两条线将水库划分为3个调度区:加大供水区、正常供水区和限制供水区。上述供水调度规则的设计多针对单个供水目标,但随着社会经济的发展,我国许多水库的运用正从单一目标供水为主向包括工业、生活、灌溉甚至生态环境的多目标供水转变,且各供水目标的优先级和保证率都不同。针对这种情况,本节着重研究水库多目标供水调度的规则及其求解模型。
2.4.2 多目标供水调度规则
实际上用水需求是有一定弹性的,在弹性范围内用户可以通过节水和其他某些措施缓解用水不足。所以少量的缺水一般不会造成大的损失,但超出用户需求弹性范围的深度缺水却会造成重大经济损失,如工厂停产、农业绝收等。所以对每一项供水,研究目的重在提出一套供水规则,能够有预见地限制供水,避免造成后期的严重缺水。该规则应该解答2个重要问题:①在何种情况下开始限制供水,即限制供水的启动标准;②以何种程度限制供水,即限制供水的度量标准。很明显,如何限制供水是供水规则的重点,对于加大供水,由于用户的正常需水已包含在水库的设计供水中,一般而言其经济意义并不明显,所以本节在供水规则中没有考虑加大供水。对于限制供水的启动标准,常依据可供水量,可供水量常用水库蓄水量或水库蓄水量与面临时段水库来水量之和表示。因为目前很难保证水库来水量的预测精度,本节提出的供水规则以水库蓄水量的某个阈值作为限制供水的启动标准。不同于LHR所有时段都用同一个限制供水启动值,本节认为年内不同的调度时段设置不同的限制供水启动值更为合理,因为径流在年内不同时段呈现出明显的丰枯交替。对于每一个供水目标,试图找到一组限制供水启动值的组合,使得该项供水不发生深度缺水。对于限制供水的度量标准,以供水缺口不超出用户需求弹性范围为准。
图2-7 调度分区供水规划
假设水库有3个供水目标Dit(i=1,2,3为目标序号;t=1,2,…,T为时段序号),供水优先级从低到高依次为D1t、D2t、D3t,若限制供水在时段t启动,那么应先限制D1t,其次限制D2t,最后限制D3t。设一年分为p个调度时段,Si(Si,1, Si,2,…, Si,K,…, Si,p)为第i供水目标的限制供水启动向量,那么任取k∈[1,p],都应有S3,K<S2,K<S1,k。Si将水库划分为4个不同的调度区,相应的供水规则如图2-7所示。图中S表示水库蓄水量,Smax为最大库容,Smin为最小库容。
具体的供水规则为
其中,a1,a2,a3∈(0,1)分别为对应供水目标的限制系数,其值根据各自的需求弹性范围设定。供水目标的用水特征不同,其需求弹性范围也不同。如工业用水效率较高,对缺水比较敏感,需求弹性范围一般较小;而灌溉用水效率较低,弹性范围就较大。这里借用工程上常用的允许破坏深度来定义需求弹性范围的阈值。允许破坏深度是指供水不足时用户能承受的缺水量的最大限度,用缺水量占需用水量的百分比表示。简便起见,本节直接以弹性范围的阈值作为限制供水系数,含义很明确:当低优先级用水不能进一步限制时,才开始限制下一优先级的用水;当可供水量很少,所有用水都需要限制时,以最大允许缺水量限制所有供水。
2.4.3 数学模型
采用模拟优化混合模型,模型含水库模拟和遗传优化2个模块。模型中供水规则是决策变量,具体说就是限制供水启动向量组合(S1,S2,S3)。模型首先任意给出一定数量的可行决策变量集,运行水库模拟模型,得到与之对应的运行性能指标;然后转入优化模块,根据决策变量的运行性能指标评价其适应度,通过遗传操作得到改进的可行决策变量集再转入模拟模块,如此反复,直到收敛。
2.4.3.1 模型目标
调度目标是使水库运行期内缺水损失最小化。实际上,缺水损失与缺水量一般表现出凸函数的关系(见图2-8),所以累积缺水量最小并不一定保证经济上缺水损失最小。但若将每次缺水控制在用户需求弹性的范围内,则累积缺水量的最小能对应缺水损失的最小,因为在需求弹性的范围内可以认为缺水损失与缺水量是线性函数关系。
图2-8 缺水损失曲线
所以模型目标函数为:
2.4.3.2 水库模拟
(1)连续方程:
(2)库容约束:
(3)缺水方程:
式中 Rt——水库放水量;
R i,t(i=1,2,3)——为对3种用水的供水量;
S t、St+1——第t时段初、末水库蓄水量;
I t——径流量;
L t——水库的蒸发渗漏损失量;
d i,t(i=1,2,3)——对应3种用水时段缺水量;
t——时段序号;
T——时段总数。
在给定供水规则后,水库按式(2-51)~式(2-58)运行。若时段末库蓄水量大于Smax,说明水库除正常供水外,还要弃水;若时段末库蓄水量小于Smin,说明水库不能实现该阶段的供水任务,如水库已处于限制供水区,除记录缺水量外,还要记录一次“缺水超出允许破坏深度”。整个运行期结束后,统计缺水超出破坏深度的总次数M和累计缺水量Z。
2.4.3.3 遗传优化
遗传算法(Genetic Algorithms,GA)是一种新兴的启发式搜索算法,它基于生物学的自然选择和进化机制,具有全局性、并行性、鲁棒性等优点。用遗传算法优化水库系统调度问题,已有很多研究成果。针对不同的问题,遗传算法需要设计不同的算子,以便最大程度适合于问题,具体叙述如下:
1.编码
采用实数编码,设水库容量C=Smax-Smin,通过变换r(i-1)p+k=(Si,k-Smin)/C,决策变量组合(S1,S2,S3)中的每个分量Si,k都可对应一个实数r(i-1)p+k∈(0,1),由此将(S1,S2,S3)编码为染色体R=(r1,r2,…,rl,…,rL),L=3p为染色体长度。考虑到各供水目标的限制供水启动向量应不交叉,对于任意k∈[1,p]应有S3,k<S2,k<S1,k。随机产生R,局部排序使r2p+k<rp+k<rk,通过逆变换解码可得决策变量(S1,S2,S3)。
2.适应度评价
性能指标PI不是供水规则(S1,S2,S3)的显函数,而是通过水库模拟得到。对于目标函数,一个重要的约束条件是确保缺水不超出用户相应的允许破坏深度,处理该约束的方式是在PI中对违反约束的情况给予很大的惩罚,PI定义为:
惩罚系数λ为一很大的正数,使得对于任意两个PI(i)与PI(j)满足:①若M(i)>M(j),不考虑Z的变化,都有PI(i)>PI(j);②若M(i)=M(j),则由Z决定PI的大小。个体的适应值由其性能指标的排序决定,设N为种群规模,个体R(j)的性能指标为PI(j)(j=1,…,N),将所有的PI(j)从小到大进行排序。设PI(j)的序号为order(j),PI(j)的值越小,说明R(j)越好,其适应值F(j)也应越大,所以对R(j)的适应值定义为
显然,性能指标最小的个体对应的适应值最大,为N;性能指标最大的个体对应的适应值最小,为1。
3.选择、交叉与变异
采用轮盘赌的方法进行个体选择。对选出的个体采用算术交叉(Arithmetic crossover),设两个父个体为R(1)和R(2),且有R(1)优于R(2),经交叉所得子个体为:
a为事先给定的常数 (一般取0.75比较合适)。这样产生的子个体R′是两父个体的线性组合,仍满足其基因中的要求,而且倾向于父代中较好的个体。采用均匀变异 (Uniform mutation),设R中的某个基因r(i-1)p+k需要变异,受Smin<S3,k<S2,k<S1,k<Smax的约束,其可行的变异空间有上下界,设为,变异时将r(i-1)p+k替换为中均匀分布的随机数,可行变异空间的确定方法为:
4.精英保留
若经上述遗传操作后,所得的下一代群体的最佳个体的性能指标劣于上代群体的最佳个体的性能指标,则将上一代中优于下一代最佳个体的多个个体直接复制到下一代,替代下一代中最差的个体。采用精英保留,可保证如果在某一代的变异中得到整体最优解,则它不会在后面的进化过程中从种群丢失。
经过试算,遗传算法参数设定如下:种群规模N不小于50,交叉概率pc=0.8,变异概率pm=0.01,最大进化代数取200。
2.4.4 实例研究
将模型应用于北方某水库,该水库控制流域面积2842km2,死库容Smin为2400万m3,正常库容Smax为10800万m3,有效库容为8400万m3。来水利用水库1956—2000年的径流资料,用水采用2010水平年的设计用水。该水库主要有3个供水目标:①居民生活用水,年均1584万m3;②工业及市政用水,年均2190万m3;③农业灌溉用水,年均5315万m3。供水优先级依次降低,按设计要求3种用水的缺水允许破坏深度分别为10%、10%、30%。水库按月将1年分为12个调度时段,模型一共有36(12×3)个决策变量。
图2-9 种群的平均性能指标
分别采用50、100的种群规模进行计算,种群的平均性能指标随进化代数增加逐步改善,总体呈收敛趋势,图2-9反映的是种群数为50时的平均性能指标收敛情况,从中可看出在进化代数达到90后,种群的平均性能指标已基本收敛,所以采用精英保留条件下,选择进化200代为遗传迭代停止条件,能保证得到的解接近最优解。
表2-5 计算结果对比
注 GA-X表示由种群规模为X的遗传算法优化所得的调度规则。
表2-5列出了2种不同种群规模下遗传算法的计算结果,可见当种群规模增大时,计算结果(累积缺水量)略有改善,这是因为遗传种群规模越大,算法的搜索能力就越强,找到最优解的概率也越大;但种群规模越大,算法的计算量也相应变大,表中GA-100的计算时间约是GA-50的119倍。总的说来,在足够长的进化代数后,两者的结果相差不大。在表中列出了经优化的水库原供水调度规则的计算结果。原规则没有对供水做区分,将所有用水集总为一项用水,当不能满足正常供水时,所有用水同时发生缺水,所以各项用水的缺水时段数相同,缺水总量为2489.4;比较可见本节规则工业和生活用水的缺水次数有明显减少,缺水量也比原规则减少约25%。原因在于:很多情况下本节规则优先让农业缺水以确保工业和生活,故从农业到工业再到生活,缺水次数必定是依次减少的;此外由于能将各项用水分开处理,当不能满足正常供水时,若只限制农业用水就行,则不必限制工业与生活用水,这样可使缺水尽可能减少。而原供水规则是统一处理缺水,使得某些情况下本来不必限制的工业用水或工业与生活用水产生了缺水。对比本节规则(GA-100),原规则调度结果13次缺水中,有8次不必要的工业缺水,11次不必要的生活缺水。运行结果的比较说明了本节提出的供水调度规则的优点。应该指出,本节并没有明确区分农业、工业及生活3种不同用水的缺水损失差异,但供水优先级的设定隐含了这样一个判断:相同的缺水对居民生活造成的损失最大,工业其次,农业灌溉最小。
2.4.5 小结
本节提出了一种水库多目标供水的调度规则,并采用模拟优化混合模型对该规则的参数进行了优化。该规则能区别处理不同的供水目标,保证各项用水不发生深度缺水,在此基础上寻求最小的缺水总量。遗传算法在搜索供水调度规则的参数向量组合的过程中显示出很好的寻优性能。最后对提出的供水调度规则进行了实例研究,调度结果的比较说明了本规则在处理多目标供水问题上的优越性。此外,现实中水库管理不光面对不同用户供水的多目标,更重要的,还要面对防洪、发电、供水等多目标的运用方式,本节研究的只是其中的一个方面。不同的调度目标决定了不同的调度规则,如何合理地设计调度目标将是研究调度规则的前提。所以,如何在统一基础上在不同运用方式之间做出科学的平衡也是值得深思的问题。
本章只研究了在确定性条件下的水库运行调度问题,事实上,考虑水库入流和降水的随机性,许多学者建立了水库随机优化调度模型和实时调度模型,并取得了丰硕的研究成果,但考虑基本模型的相似性,本书不再赘述。