水电优化调度算法(精选9篇)
水电优化调度算法 篇1
0 引言
重大事件、极端天气和节假日等原因使电力系统相邻日间负荷发生较大的变化,给电力系统调度运行带来巨大的困难,特别是对火电的平稳运行产生较大的冲击。从保障电力系统安全稳定运行的角度出发,本文提出了水电站群中期调峰出力最大模型,该模型一方面能够利用水电启停灵活的特性,使其充分发挥调峰作用;另一方面能够为火电运行预留出平稳的运行负荷,保障火电稳定运行。
随着水电站群规模的日益扩大,其优化调度求解面临着巨大的维数灾问题,为缓解维数灾给获取符合计算精度和时间要求的满意解带来的困难,研究通常会致力于引入新的算法或对已有算法进行改进,如遗传算法、粒子群算法、人工神经网络、改进动态规划等在水电站群优化调度中的应用正是基于这一思想。但随着计算机技术的普及与进步,采用分布式编程,充分利用计算机的并行机制提高计算效率已经成为水电站群优化调度研究的新方向[1,2,3,4]。
本文针对水电站群优化调度问题建立了中期调峰出力最大模型,并采用并行遗传算法对模型进行求解,最后以乌江流域8座水电站计算结果为例对模型和算法进行分析验证。
1 数学模型
水电站群中期调峰出力最大模型是指在满足水电站综合利用要求及各种约束的条件下,合理安排水电站的运行方式,使得水电系统调峰出力最大,其数学表达式如下:
其中,G为调度期内系统剩余负荷最大值的最小值(MW);g为调度期内系统剩余负荷的最大值(MW);T为调度周期时段总数;t为调度周期时段号(t=1,2,…,T)(d);M为参与计算电站总数;m为电站编号(m=1,2,…,M);St为整个系统t时段的负荷(MW);Pm,t为电站m在t时段的出力(MW)。该模型的约束条件包括:库水位约束、电站出力约束、发电流量约束、出库流量约束、末水位控制约束、系统出力约束。
2 替代目标函数
由式(1)可得,水电站群中期调峰出力最大模型的目标函数是一个在工程、金融等领域极为常见的典型极大极小问题,它的直接求解是非常困难的[5,6,7]。因此,首先通过引入变量θ,将式(1)转化为一个约束规划问题:
其中,ft为t时段的剩余负荷。
从式(2)可以看出,原问题转化为求一个最小的θ值,使任意ft均小于等于θ,当任意ft都相等时所求得的θ值最理想。对应实际问题其物理意义为:一方面能够充分发挥水电的调峰作用,使其出力Mm=鄱1Pm,t尽可能大;另一方面又能使系统剩余负荷ft尽量平稳,减轻其他电源的调峰压力。
对于式(2)的约束规划问题,数学上通常采用惩罚函数法,将其转化为无约束规划问题进行直接求解。惩罚函数的形式多样,为避免简单罚函数收敛速度慢的问题,本文采用指数罚函数φ(x)=exp(x-1)将式(2)转化[8]为无约束优化问题:
其中,c为惩罚因子。
为保证θ为式(3)的解,根据文献[8]可得θ的数学表达式为:
将式(4)代入式(3)中,中期调峰出力最大问题可以转换为直接求解的无约束规划问题:
从式(4)可以看出,当参数c足够大时,该问题和原问题等价,因此在求解过程中,参数c应从一个较小的数开始逐步增大。
3 并行遗传算法
3.1 标准遗传算法
遗传算法[9,10,11,12,13]作为一种群体智能进化算法,不但具有自适应、自学习性等特点,而且以其易实现、适应性强及无可微限制等优势,已在水电优化调度中得到了广泛的研究和应用。采用遗传算法求解中期库群优化调度问题主要包括以下几个过程。
a.个体编码。
虽然二进制编码便于实现交叉、变异等遗传操作,但是对于库群中期优化调度这类高维次问题,二进制编码需要进行编码转换,会大量增加计算量;另外二进制编码串过长,处理较为费时。本文采用浮点数编码,个体每一项为序列真值,其描述为:
其中,ZUm,t为第m个水库t时段的上游水位(m);ZmUm,tax、ZmU,tmin为第m个水库t时段的上游水位上限及下限(m);r为0~1之间的随机数。
b.适应度函数。
适应度函数可以用来评价个体的优劣,而其形式的选取直接关系到算法的收敛速度及寻优精度。本文采用惩罚函数处理约束条件,原问题的适应度函数表示为:
其中,fit为原问题的目标函数值;N为违约的约束数目;pi为约束i对应的惩罚因子;Wi为约束i对应的违约值。
c.遗传操作。
遗传操作包括:选择运算、交叉运算和变异运算。本文选择算子采用最优保存策略,交叉运算采用固定交叉概率下的单点交叉,变异运算采用固定变异概率下的基本位变异。
3.2 遗传算法并行性分析
遗传算法是针对种群进行迭代计算,对应于不同种群,遗传算法的计算过程是彼此独立的。从生物进化的角度而言,同一物种不同的种群可以按照一定规律独立进化,互不影响,这符合自然界生物并行进化的实际状况。因此,遗传算法的多种群计算具有良好的可并行性。
遗传算法的并行模型主要有3类:主从式模型、细粒度模型和粗粒度模型。其中,细粒度并行模型和粗粒度并行模型都是基于种群进化独立而实现的。不同的是,粗粒度模型将种群划分为若干子种群,子种群独立进化,偶尔与临近子种群交换个体;而细粒度模型将种群划分为多个子种群,最理想的情况是每个子种群只有1个个体,通过相邻个体之间的交流促进整个种群的进化[14]。由于细粒度并行模型的实现需要足够多的处理器,对计算机硬件要求较高,从应用的普遍性角度出发,本文选择粗粒度模型对遗传算法进行并行。
3.3 遗传算法并行计算模式
现行的并行模式主要有主从式、单程序流多数据流、数据流水线、分治策略和混合方法等。本文采用分治策略将原问题分解为多个子问题,独立进行求解,再对子问题的结果进行组合得到原问题的解。
采用分治策略实现多核并行计算时,合理选择问题分解的阈值ψ,可以有效地匹配子问题数目与内核数目,同一时刻充分利用所有计算内核,提高并行求解效率,阈值计算方式为:
其中,n为子问题数目(即种群总数);nc为计算内核数目;roundup(·)为向上取整函数。
3.4 并行迁移策略
为了提高算法的求解质量和求解速度,保证群体的多样性,达到全局搜索目的,需要设计合理的策略对遗传算法进行并行。采用粗粒度并行遗传算法需要考虑的关键问题包括:迁移拓扑、迁移规模和迁移策略。
迁移拓扑明确了子群体间的迁移路线,对结果精度影响较大,单向环、双向环、超立方体等都是常见的种群间迁移拓扑方式[15]。本文采用图1所示单向环式迁移方式,即子种群进化到一定代数时向下个子节点迁出a个最优个体,同时接受相邻上一节点的a个最优个体,以保证子群体规模不变。研究表明,单向环的迁移拓扑方式虽然收敛速度较慢,但它在种群隔离的基础上保证了优良基因的交换,能够获取高质量的求解结果[15]。
迁移规模包括迁移周期和迁移率2个方面。同步迁移是粗粒度并行遗传算法使用最早、应用最为广泛的方式,本文选用同步迁移方式,即在进化达到指定代数时向其他群体申请迁移。迁移率选择15%以维持种群多样性。
粗粒度并行遗传算法在选择迁移策略时,可以随机选择个体进行迁移,也可以根据个体适应度进行选取。本文采用种群中若干最优个体迁出,替代相邻下一子种群中最差个体的方法。
3.5 并行遗传算法实现
粗粒度并行遗传算法求解水电站群中期优化调度问题,采用分治策略,其实现框架如图2所示。
具体计算流程如下。
步骤1初始化n个种群及各种群的个体。采用浮点编码方式,以式(6)对染色体进行编码;以式(7)作为个体适应度函数。
步骤2计算阈值ψ,依次将种群分配到不同的内核上执行进化计算。
步骤3设置进化代数为1,在各内核上执行遗传进化计算,包括选择、交叉、变异操作。
步骤4当各群体进化到指定代数q时,按照15%的比例依次从子种群中选择适应度值最优的a个个体迁出,替换下个群体中适应度最差的a个个体。
步骤5设置进化代数为1,继续进行进化操作。
步骤6判断是否满足终止条件。如果不满足,返回步骤4;否则将优化结果返回到主程序。
步骤7所有子线程计算完毕后,选择各子线程中目标函数最小的结果作为原问题的最优解。
4 实例分析
4.1 工程背景及测试环境
乌江是我国开发最早的水电基地,由三岔河、清水河和乌江干流串并混联而成,其中乌江公司调度的洪家渡等8座水电站装机容量7 545 MW,占贵州电网水电装机的70%以上,在电网调峰调频中发挥着重要的作用。这些电站中包含4座年调节及以上电站、1座季调节电站和3座日调节电站,梯级拓扑结构如图3所示,电站特性如表1所示。4、5月份是贵州水电从枯期到汛期的过渡期,水火电开机较为频繁,同时5月1日是特殊节假日,系统负荷变动较大。本文以8座水电站2011年4月25日至5月4日共计10天内的调度为例对水电站群中期调峰出力最大模型及并行遗传算法进行验证。
测试环境为IBM机架式服务器X3850,CPU类型为Xeon E7520(4核,2颗),内存大小为16 G。遗传算法种群个体数目为1 000,交叉概率为0.6,变异概率为0.05。
4.2 并行效率分析
加速比SP=T1/TP和效率EP=SP/P是衡量并行性能的主要指标,其中T1为串行方法的执行时间,TP为并行方法在P个处理器上的执行时间。分别在单核、2核、4核、8核环境下,对并行遗传算法求解水电站群中期优化调度问题进行测试,得到加速比、效率如表2所示,表中每组数据都是计算10次得到的平均值。
从表2的计算结果可以看到,对于水电站群中期调峰出力最大问题,其串行计算时间接近10 min,这使其在生产中应用的价值极大降低。而通过多核并行,其计算时间2核约为5 min,缩短了49.7%;4核约为2.5 min,缩短了74.3%;8核约为1.3 min,缩短了86.2%。同时,8核时的并行加速比达到7.23。由此可见,并行遗传算法可有效缩短计算时间,提高计算效率。
4.3 计算结果分析
采用中期调峰出力最大模型进行优化调度后的负荷过程如表3和图4所示,从表3中可以看出,原系统负荷相邻日间负荷最大差异发生在4月30日与5月1日之间,差额达到2 024 MW,火电机组按200 MW装机计算,在这两日间需至少调整11台火电机组开机方式才能满足系统发电要求。经过优化调度之后,预留给火电的剩余负荷相邻日间最大差值为56 MW,此时至多调整1台火电机组即可满足相邻日间的电量差。
从图4中可以看出,水电系统在负荷高峰期(4月25日至4月29日)增大发电量,而在5月1日前后降低出力运行,使得剩余给火电机组的负荷过程平稳,相邻日间火电机组开停机较少,减少了火电机组的损耗。同时,从图4各个电站的出力过程可以看出,各电站在系统负荷高峰时都会加大出力,在系统负荷降低时都会相应减小出力。构皮滩电站装机容量大,调节性能好,其在整个系统中调峰作用最为显著。由此可见,水电站群调峰出力最大模型符合水火电实际运行的需求。
5 结论
本文从保障电网安全,特别是火电平稳运行的角度出发,建立了水电站群中期调峰出力最大模型,采用指数罚函数对目标函数进行处理,然后采用粗粒度并行遗传算法对模型进行求解。以乌江流域2011年4至5月过渡期数据进行测试的结果表明,中期调峰出力最大模型能够缓解日间负荷突变对火电运行产生的影响,同时粗粒度并行遗传算法能够极大提高求解的效率,利于其在生产中的应用。
水电优化调度算法 篇2
TT&C测控资源调度是一个涉及卫星、测控站以及调度准则等多方面因素的复杂优化问题.针对这一优化问题,根据测控调度的一般原则和优化准则,建立了相应的优化模型,并给出了基于遗传算法求解该问题的.方法和步骤;最后,通过两个示例分析,演示验证了该方法对于解决一般测控调度问题的有效性.
作 者:吴斌 李元新 黄永宣 WU Bin LI Yuan-xin HUANG Yong-xuan 作者单位:吴斌,WU Bin(西安交通大学,西安,710049;北京跟踪与通信技术研究所,北京,100094)
李元新,LI Yuan-xin(北京跟踪与通信技术研究所,北京,100094)
黄永宣,HUANG Yong-xuan(西安交通大学,西安,710049)
水电优化调度算法 篇3
关键词:资源约束;项目调度;遗传算法
中图分类号:O224 文献标识码:A文章编号:1006-8937(2010)10-0017-01
经济的全球化加剧了日益激烈的市场竞争,同时对企业的生存与发展提出了更高的要求。无论是软件开发、建筑工程、制造业等大型产业,还是进行批量生产的小型企业,为了进一步增强自身竞争优势,项目管理技术的应用已经越来越广泛。而项目调度问题作为项目管理技术中的一个重要分支,合理的调度计划能够有效地缩短项目周期、降低企业成本、提高产品质量。但是由于项目调度问题较为复杂,不仅存在前驱后继关系,还常伴有资源的约束,求解极为困难。
因此,文章所研究的主要内容就是对求解多模式资源约束项目调度问题的遗传算法进行优化。
1存在问题
在更多的实际项目中,为了提高资源的利用率,项目负责人往往会依据项目中各活动的轻重缓急程度来决定对各个活动的资源投入量,而在现实的工作过程中,各工作所获得的实际资源投入量会直接影响到该活动的工期。所以,当活动比较紧急时,可以通过加大资源投入量的方法,来缩短完成这项活动所需要的工期。当活动不是很紧张,可以略有拖延时,我们也可以考虑通过减少该活动的资源投入量,从而降低成本,这样就可以在工程进度中获得更大的收益。这种可以使用不同资源分配模式的资源约束项目调度问题就是多模式资源约束项目问题(multi-mode RCPSP,MRCPSP)。如果能够更好的为每项调度中的活动合理安排投入的资源,那么最终可以使得项目的完成情况更接近或超过预期目标。
2求解方法遗传算法是基于自然选择,在计算机上模拟生物进化机制的优化算法。它把欲求解问题的解空间映射作为遗传算法的搜索空间,把每一个可能的解编码作为一个解向量,也称为染色体(Chromosome),染色体中的每一个元素称为基因(Gene)。所有的染色体就可以组成一个种群。根据所研究问题的求解情况设定一个目标函数值,即评价指标,比如工程项目中的工期等。通过这个目标函数值,也称为个体适应度,来评价所有染色体,从而决定染色体的好坏优劣。这样,按照遗传算法的流程和对应的操作,不断进化种群中的染色体,来调整其基因值,使之愈来愈趋近于目标函数值所倾向的个体,也就是我们所研究问题中期望的较优解。
遗传算法通常包括六个基本步骤。步骤1,初始化种群:按照预先设定的优先规则(LFT,LST,MTS,MSLK,RND)和对应的个体数(比例,如LFT:LST:MTS:MSLK:RND=1:1:1:1:1)产生初始种群链表initGroupList,大小为GS。步骤2,选择操作:按照选定的选择操作的策略(轮盘赌、二人竞赛)和交叉率进行选择操作,将选中的个体加入到双亲链表parentsGroupList。步骤3,交叉操作:按照选定的交叉操作的策略(单点、两点、均匀、最大资源利用)进行交叉操作。从parentsGroupList中选择双亲进行交叉,交叉后的新个体保存到子代链表childrenGroupList。步骤4,变异操作:按照选定的变异操作的策略(基插、染插、交换、基邻插、染邻插、邻交换)进行变异操作。对childrenGroupList中的新个体按照变异率进行变异,变异后的个体加入到初始种群链表initGroupList。步骤5,维持种群:保证数量不变。步骤6,终止条件:是否达到最大迭代次数,如未达到则重复步骤2。否则,输出迭代中最好的个体。遗传算法编码和解码解析。根据目前的研究资料表明,紧前关系相容链表是目前较好的一种染色体编码方式。该方法简单易用并且求解效率高。
所选择的适应度函数。通常情况下,遗传算法的通用适应度函数公式定义如下:
f(x) = T (1)式中,f(x)是个体x的适应度值;T是个体x的项目工期。
选择、交叉和变异算子。遗传算法的核心操作是三个操作算子——选择、交叉和变异。这三个算子主导了遗传算法如何进行,也决定了所研究问题的求解质量。
①选择应运二人竞赛策略。在生物的遗传和进化的过程中,任何一个物种对生存环境适应度较高的个体都会有更多的机会将优良基因遗传到下一代中,反之被保留的机会就会减少,甚至被淘汰。根据预先设定的选择概率,在种群中对每个个体进行选择。在被选中的个体中依次进行选择,每次选择都从两个个体中选择最优的一个个体进入待交叉列表。因而选择操作在遗传算法中往往起着更为重要的作用,它会从父代中选出最好的基因遗传于子代之中。
②两点交叉策略。记参与交叉的两个父代个体为A和B,随机生成两整数p,q,1
③基于基因和邻域搜索的插入变异策略。基于基因插入变异策略是在基于基因的插入变异策略的基础上,根据变异概率和变异因子记录本次变异中出现过的最好染色体作为变异的结果,这个过程也称为邻域搜索。其中变异因子为在区间中尝试的位置次
3实验结果
为了研究遗传算法应用于MRCPSP求解的问题,文章选择了PSPLIB实例库中多模式J10作为测试依据,来验证遗传算法各个策略的优劣,结果如下:①选择策略。赌轮机制(比例复制)在运行J10项目中平均偏差率、最优解比例均不如二人竞赛策略。因此,文章融合算法中遗传算法部分采用二人竞赛的选择策略。②交叉策略。两点交叉相对于其它交叉策略具有更好的效果,平均偏差率、最优解比例都有很好成绩,因此文章融合算法中遗传算法部分采用两点交叉。③变异策略。文提出的基于基因和邻域搜索的插入变异策略相对于其他变异策略具有更好的效果,平均偏差率、最优解比例都有很好成绩,因此文章融合算法中遗传算法部分采用基于基因和邻域搜索的插入变异策略。
4结语
从实验结果可以看出,应运遗传算法解决资源约束项目调度问题具有很高的求解效率和质量。对遗传算法的变异策略进行改进,应运与求解具体的实例中更具有一定优势。
参考文献:
[1] 刘立东,蔡淮.融入遗传算法的混合蚁群算法[J].计算机工 程与设计,2008,(5).
[2] 陈国良,王煦法,庄镇权,等.遗传算法及其应用[M].北京:人 民邮电出版社,1996.
[3] (日)玄光男,程润传.遗传算法与工程设计[M].北京:科学出 版社,2000.
[4] 金菊良.遗传算法及其在水问题中的应用[D].南京:河海大 学,1998.
[5] 韩万林,张幼蒂.遗传算法的改进[J].中国矿业大学学报, 2000,(7).
[6] 杨启文,蒋静坪,张国宏.遗传算法优化速度地改进[J].软件 学报,2000,(4).
[7] 翟梅梅.基于蚁群算法的改进遗传算法[J].安徽理工大学 学报(自然科学版),2009,(3).
[8] 张晓玲,黄力.融入遗传算子的蚁群算法求解TSP问题[J]. 广西民族大学学报, 2009,(3).
[9] 黄立军,许永花.遗传算法和蚁群算法融合求解TSP[J].东 北农业大学学报, 2008,39(4):109-113.
[10] 徐金荣,李允,刘海涛,等.一种求解TSP的混合遗传蚁群算法[J].计算机应用,2008,(8).
水电优化调度算法 篇4
人工蜂群算法(Artificial Bees Colony,简称ABC)是一种群体智能算法,于2005年被Karaboga[1]正式提出。与传统的智能算法,如差分进化算法(DE)[2]、遗传算法(GA)[3]、粒子群算法(PSO)[4]等相比,人工蜂群算法具有控制参数少、计算简洁、易于实现等优点,故已被广泛应用于工程领域[5,6,7]。但标准ABC算法仍不可避免地存在一些缺点:如后期收敛速度慢、局部搜索能力差等。针对这些问题,本文采用反向学习策略改善初始解,引入自适应比例选择策略替代轮盘赌策略,应用基于指数分布突变策略更新蜜源位置等方法得到一种新的改进人工蜂群算法,将其应用于水电站优化调度中,并通过比较人工蜂群算法、基本粒子群算法调度结果,验证了该算法的可行性和高效性。
1 水电站优化调度模型
1.1 目标函数
本文以电站年发电量最大为模型的优化目标,目标函数如下:
式中:E为水电站的年发电量,kWh;A为水电站的综合出力系数;Qt为水电站在t时段的发电流量,m3/s;Ht为水电站在t时段的平均发电净水头,m;T为水电站调度年内计算总时段(本文计算时段为月,T=12);Δt为第t时段的小时数,h。
1.2 约束条件
(1)水库的水量平衡约束:
式中:Vt、Vt+1分别为水电站第t时段初、末的水库蓄水量,m3;qt为水电站第t时段的平均入库流量,m3/s;Qt、St分别为水电站在t时段的发电流量、弃水流量,m3/s;Δt为第 时段时长,s;t=1,…,T。
(2)水库的蓄水量约束:
式中:Vmin,t为水电站第t时段允许水库最小蓄水量,m3;Vmax,t为水电站第t时段允许水库最大蓄水量,m3。
(3)水库的下泄流量约束:
式中:Qmin,t为第t时段的水库应保证的最小下泄流量,m3/s;Qmax,t为第t时段水轮机最大过流流量,m3/s。
(4)水电站的出力约束:
式中:Nmin,t、Nmin,t分别为水电站允许出力的上、下限,kW,需要考虑机组额定出力、保证出力等才能确定。
(5)变量边界约束:
式中:V(K,1)、V(K+1,1)为分别为迭代第K、K+1次后的起始库容,m3;V(K,n)、V(K+1,n)分别为迭代第K、K+1次后的末库容,m3。
(6)变量非负约束。
上述所有决策变量均为非负变量。
式中:X为决策变量组成的向量。
2 基于水电站调度的人工蜂群算法
在ABC算法中,人工蜂群分别由引领蜂(employed bees)、跟随蜂(onlooker bees)和侦察蜂(scout bees)组成。其中,引领蜂和跟随蜂各占一半,一个引领蜂对应一个被发现的花蜜源(一个蜜源的位置代表所求优化问题的一个可行解),即引领蜂数目等于蜜源数目。当某个引领蜂放弃蜜源后就变成侦察蜂。本文在水电站水库优化调度中以水库库容作为决策变量,即以调度期内各月的库容序列作为蜜源的位置,以调度期内电站的发电量作为适应度函数。基于水电站调度的ABC算法搜索过程如下:
(1)随机生成SN个初始库容序列(花蜜源),每个库容序列Vi(i=1,2,…,SN)是一个T维向量。
式中:Vi,t为解向量Vi的第t维的分量;t∈{1,2,…,T};Vmin,t、Vmax,t分别为水电站第t时段允许水库最小、最大蓄水量;ri,t为(0,1)之间的随机数。
(2)引领蜂在记忆中邻近的蜜源(库容序列)内搜寻一个新的蜜源,
式中:V
V
(3)引领蜂用摇摆舞和蜂巢内的跟随蜂分享蜜源信息,根据每个蜜源(库容序列)的适应度,计算其被跟随蜂选中的概率,其表达式如下:
式中:Fi为第i个可行库容序列(蜜源位置)的适应度值(发电量)。
(4)跟随蜂根据概率以轮盘赌的方式选择相应的蜜源(库容序列),进而在其邻域内按照(9)式进行搜索。
(5)如果一个蜜源的位置(库容序列)不能在预先设定的循环次数limit内进一步改进,则该处的引领蜂放弃蜜源,变为侦察蜂,并按照(8)式重新开始随机搜索新的蜜源。被放弃的蜜源将会由该侦察蜂找到的新蜜源所取代。
(6)记录迄今为止发现的最好的蜜源(库容序列)位置。
(7)检查终止条件。假如最优蜜源的位置(最优库容序列)是可接受的或达到最大迭代次数,停止计算并返还最好的蜜源位置;否则,返回(2)重新计算。
3 改进人工蜂群算法
为了改善ABC算法的性能,本文从以下3个方面加以改进。
3.1 基于反向学习的种群初始化
根据概率论原理,相比随机产生的初始解,相反解有50%的概率更接近所求问题的最优解,因此,为加速收敛,常选择二者中更优的个体作为初始种群[8]。
令V=(v1,v2,…,vT)为T维空间中的一点,其中vt∈[Vmin,t,Vmax,t],t=1,2,…,T,则其反向点V′定义为V′=(v′1,v′2,…,v′T),其中v′t=Vmin,t+Vmax,t-vt。
如果V′对应的适应度值比V的适应度值更优,则用V′替代V;否则保持V不变。
3.2 跟随蜂选择蜜源方式的改进
在ABC算法中,跟随蜂是以轮盘赌的方式来进行概率选择蜜源,但是作为一种贪婪选择方式,轮盘赌本身容易导致群体多样性的下降,使算法极易陷入局部最优。而自适应比例选择机制[9]在理论上可以有效地解决优化算法中过早收敛的问题,使系统最终演化到全局极小点。根据该机制跟随蜂进行蜜源选择的概率由(10)式变为下式:
其中,幂指数λ应用式(12)求得:
式中:Fmax、
从式(11)中可以看出,当
3.3 指数分布突变策略
在标准ABC算法中,(9)式中[-1,1]之间的随机数ϕi,t使得Vi在其邻域内搜寻新的蜜源(库容序列)时具有一定的盲目性,在本文中引进指数分布的比例因子SFi,t加以改进[10],故公式(9)将被下式代替:
式中:V
SFi,t是从指数分布的随机数中产生的。
式中:k值取为1或者2;r[1]∈[α1,0]、r[2]∈(0,α2]为2个随机数,其中α1<0、α2>0。SFi,t取为使V
4 应用实例
本文以新安江水电站为例进行中长期优化调度计算。新安江水电站位于浙江建德市新安江镇以北约4.5 km的铜官峡中,是我国自行设计、自制设备和自己建设的第一座大型水电站。电站以发电为主,兼有防洪、灌溉、渔业、航运、旅游等综合功能。电站装机容量810 MW(9×90 MW),保证出力178 MW,多年平均年发电量18.9亿kWh。坝址控制流域面积10 442 km2,水库正常蓄水位108.0 m,死水位86.0 m,目前为了生态景观需要,其库水位一般不低于89.0 m,调节库容102.7亿m3,库容系数0.968,具有多年调节性能。新安江水库的水位库容关系曲线、下游水位流量关系曲线分别见图1、图2所示。以该电站某典型年3月初至次年2月底为计算调度期,以月为时段。调度期起始水位和终止水位均假定为98.0 m。
智能算法的参数取值对算法性能有一定影响,参数值一般需要根据反复实验获得的经验值来设置。文中人工蜂群算法的参数取值根据参考文献[10]确定,参数α1=-15、α2=10、β=0.10。蜂群个数取为80,其中引领蜂和跟随蜂各占一半,都为40,蜜源数量SN=40。基本粒子群算法参数选择参见文献[11],学习因子c1=c2=2,惯性因子ω=1最大速度vmax=5。计算代数取为2 000。计算流程图见图3所示。
按照上述的原始资料及算法参数,利用MATLAB软件编程实现改进蜂群算法并进行求解。为了比较,同时给出了ABC算法和基本粒子群算法(PSO)的水电站优化调度结果。在计算中为了消除初始解的不同所带来的影响,ABC算法初始解也采用反向学习策略产生。计算结果如图4所示。
从图4中可以看出,①与粒子群算法相比,人工蜂群算法和改进人工算法的收敛速度更快;②在改进人工蜂群算法计算过程中,由于侦察蜂随机搜索到的解不一定是可行解,故此造成该算法相比人工蜂群算法,在收敛速度上并没有提高;③改进人工蜂群算法的计算结果为18.29亿kWh,结果优于人工蜂群算法的18.24亿kWh、粒子群算法的18.21 kWh。
5 结 语
(1)相比于基本粒子群算法,人工蜂群算法具有更快的收敛速度。这是由于人工蜂群算法迭代时采用蜜源邻域搜索及跟随蜂进一步优化机制,在轮盘赌选择机制的基础上,重点搜索可能出现全局最优解的区域。而基本粒子群算法优化依赖于历史最优解和当前最优解,致使其更容易陷入局部最优。
(2)人工蜂群算法作为一种新兴的人工智能算法,在水库调度领域具有很好的应用前景。本文中采用反向学习策略改善初始种群、引进自适应选择策略改进跟随蜂选择蜜源概率、应用基于指数分布突变策略提高全局搜索能力等方法对人工蜂群算法加以改进。相比人工蜂群算法,改进后的人工蜂群算法更容易跳出局部最优解,具有较强的全局搜索能力。
(3)今后,可进一步研究将人工蜂群算法和其他智能算法相结合,整合各个算法的优点,提高收敛速度和寻优能力,为求解水电站水库(群)优化调度问题提供更优的途径。另外,目前智能算法参数的取值更多地依赖于反复试验,如何在理论上确定能使算法达到最优的参数值,也是以后需要重点解决的问题。
摘要:首先建立了水电站水库优化调度模型。在对人工蜂群算法描述的基础上,为有效避免标准人工蜂群算法局部搜索能力差等缺点,提高寻优能力,设计了一种以反向学习策略搜寻初始解、以自适应比例选择策略代替轮盘赌法、以基于指数分布突变策略更新蜜源位置的改进人工蜂群算法。应用MATLAB软件将改进后的人工蜂群算法应用于新安江电站水库优化调度中。仿真结果表明,改进人工蜂群算法具有更好的全局搜索能力,调度结果优于人工蜂群算法和粒子群算法。
关键词:水库调度,人工蜂群算法,反向学习,自适应选择,指数分布突变策略
参考文献
[1]Basturk B,Karaboga D.An artificial bee colony(ABC)algorithmfor numeric function Optimization[C]∥USA:IEEE Swarm Intel-ligence Symposium,Indiana,2006:3-4.
[2]刘波,王凌.差分进化算法研究进展[J].控制与决策,2007,22(7):721-726.
[3]段玉倩,贺家李.遗传算法及其改进[J].电力系统及其自动化学报,1998,10(1):39-52.
[4]黎晓峰,薛保菊,李维乾.基于改进粒子群算法的水库优化调度研究[J].水力发电,2008,34(11):107-109.
[5]胡中华,赵敏.基于人工蜂群算法的无人机航迹规划研究[J].传感器与微系统,2010,29(3):35-38.
[6]Suri B,Kalkal S.Review of artificial bee colony algorithm tosoftware testing[J].International Journal of Research and Re-views in Computer Science,2011:706-711.
[7]Tasgetiren M F,Bulut O,Fadiloglu M M.A discrete artificialbee colony algorithm for the economic lot scheduling problem[C]∥IEEE congress on evolutionary computation,2011:347-353.
[8]Rahnamayan S,Tizhoosh H R,Salama M M A.Opposition-based differential evolution algorithms[C]∥Canada:IEEE Con-gress on Evolutionary Computation,2006:2 010-2 017.
[9]杨新武,刘椿年.遗传算法中自适应的比例选择策略[J].计算机工程与应用,2007,43(20):25-27.
[10]Alam M S,Kabir M W,Islam M.Self-adaptation of MutationStep Size in Artificial Bee Colony Algorithm for ContinuousFunction Optimization[C]∥Proceedings of 13IntemationalConference on Computer and Information Technology,2010:69-74.
水电优化调度算法 篇5
MathWorks公司的Matlab是目前主流的数值仿真计算软件之一,擅长数值和符号计算、系统建模、仿真和开发等。Matlab的一大功能特色就是具备非常多的可应用于不同领域的工具箱,这些工具箱都是由各领域内学术水平很高的专家编写的。这些工具箱使得科研人员无需编写基础程序,而可以直接进行高、精、尖的研究。Matlab的另一特点是源程序的开放性,除内部函数以外,所有Matlab的核心文件和工具箱文件都是可读可改的源文件,可通过对源文件的修改以及加入自己的文件构成新的工具箱。2005年,浙江大学的施展武等成功地将Matlab遗传算法工具箱应用于梯级水电站优化调度中,取得了很好的效果[1]。
目前国内部分学者积极开展了应用粒子群算法求解水电站优化调度问题的研究,将先进的群智能理论引入到水调领域,取得了较好的成果[2,3,4,5,6]。研究结果表明,基于群智能的粒子群优化算法非常适合解决多约束、非线性的水电站优化调度问题。尤其是在一些大型梯级水电站的优化调度中,可能会出现维数灾而导致无法运用动态规划来求解,粒子群算法为此类问题提供了一种很好的解决方法。
在以往的研究中,研究人员多采用自行编写粒子群算法的方法来进行水电站优化调度的研究和计算,这种方式既费时费力,代码质量也难以保证。使用成熟的Matlab粒子群算法工具箱,可以为水调研究人员建立起一个高端的研究平台。
1 粒子群算法
粒子群算法(Particle Swarm Optimization ,简称PSO)是由美国人Kennedy和Eberhart于1995年提出一种基于群体的演化算法, 其思想来源于人工生命和演化计算理论。Reynolds对鸟群飞行的研究发现,鸟仅仅是追踪它有限数量的邻居, 但最终的整体结果是整个鸟群好像在一个中心的控制之下, 即复杂的全局行为是由简单规则的相互作用引起的。PSO算法就是从这种模型中得到启示而产生的, 并用于解决优化问题。
PSO初始化时产生一群随机粒子(随机解),在每一次迭代中,粒子通过跟踪两个“极值”来更新自己:一个是该粒子目前找到的最好解,称为个体极值点(用Pi表示其位置),另一个是整个种群目前找到的最好解,称为全局极值点(用Pg表示其位置)。根据这两个最好解, 粒子利用式(1)和式(2)来更新自己的飞行速度和位置。
设有m个粒子, 粒子i的信息可用D维向量表示, 位置表示为Xi=(xi1,xi2,…,xiD),速度表示为Vi=(vi1,vi2,…,viD),个体极值点表示为Pi=(pi1,pi2,…,piD),其中i=1,2,…,m。群体极值点表示为Pg=(pg1,pg2,…,pgD)。
则粒子的位置和速度更新方程如下:
式中:w为惯性因子(w较大算法具有较强的全局搜索能力,w较小则算法倾向于局部搜索,一般做法是初始为0.9,随着迭代次数的增加线性递减至0.4);c1、c2为学习因子,通常取[1,2]以内的常数;rand是[0,1]内的随机数;Pi为粒子所经历的最好位置(D维向量);Pg为整个群体所经历的最好位置(D维向量)。
粒子在不断根据速度调整自己的位置时, 还要受到最大速度vmax的限制,当vid超过vmax时,将被限定为vmax。
2 Matlab粒子群算法工具箱简介
Matlab粒子群工具箱提供了非常先进的粒子群优化算法,可指定惯性因子的起始值和中止值、可约定各维变量的取值范围、粒子在遇到边界时是否反弹等各种参数,除此以外,粒子群工具箱既可以在用户约定的范围内自动随机生成指定群体规模的初始粒子群,也可人工输入小于群体规模的任意数目的初始粒子,具备非常强的灵活性。
2.1 pso_Trelea_vectorized.m文件
pso_Trelea_vectorized.m文件主要包括了pso_Trelea_vectorized函数,该函数实现了整个粒子群的初始化、个体最优值计算及更新、全局最有值计算及更新、个体速度更新、个体位置更新等。在实际的计算过程中,只需要编写好目标函数并调用pso_Trelea_vectorized.m函数,即可实现使用粒子群算法来寻优的过程。
调用pso_Trelea_vectorized.m的方法如下:
pso_Trelea_vectorized.m(functname,D,mv,VarRange,minmax,PSOparams,plotfcn,PSOseedValue)
其中:functname是目标函数的名称,D为问题的维数,mv为粒子飞行的最大速度,VarRange是自变量的取值范围矩阵,minmax是寻优类型(0代表寻找函数的最小值,1代表寻找函数的最大值),PSOparams是一个包括最大迭代次数、群体规模、惯性因子、学习因子、中止迭代条件等参数的行矩阵,plotfcn指定了在粒子群寻优过程中用于展示寻优过程的画图函数,PSOseedValue可允许用户输入任意多组初始粒子。
2.2 goplotpso.m文件
goplotpso.m文件的主函数goplotpso提供了一个展示寻优过程的标准画图程序,通过调用该程序,可清晰地看到粒子群的整个迭代过程。通过参数指定该函数刷新画面的速度后,每隔指定迭代步数,该函数都会将群体最优适应值所在位置、所有个体最有适应值所在位置、所有个体当前位置以不同的颜色显示出来,并且还显示群体最优适应值随迭代次数变化的实时曲线。
3 水电站优化调度数学模型
水电站优化调度在形式上可分为单个水电站优化调度和梯级水电站优化调度,在时间上可分为中长期优化调度和短期优化调度。本文以粒子群算法应用较多的单个水电站中长期优化调度为例进行探讨和分析。
水电站中长期优化调度主要是在满足电力系统出力要求以及下游综合用水要求等的前提下,合理地安排水库各个月份的发电流量,使得调度期内的总发电量最大。即在给定预报入库流量过程线,下游综合用水流量过程线,调度期起始水位和终止水位等条件下,通过总水量的合理运用使调度期内水电站的总发电量最大。
3.1 目标函数
3.2 约束条件
(1)水量平衡约束:
(2)水库蓄水量约束:
(3)发电流量约束:
(4)电站出力约束:
式中:E为调度期内的总发电量,kWh;A为水电站出力系数;Qt为第t个时段内的平均发电流量,m3/s;Ht为第t个时段内的平均水头,m;Tt为第t个时段的小时数;Vt为第t个时段初水库的蓄水量,m3;qt为第t个时段的平均入库流量,m3/s;Qt为第t个时段的平均发电流量,m3/s;St为第t个时段的平均弃水流量,m3/s;Nt为第t个时段的平均出力,kW; Vtmin为第t个时段允许的水库最小蓄水量,m3;Vtmax为第t个时段允许的水库最大蓄水量,m3;Qtmin为第t个时段下游综合用水要求的最小下泄流量,m3/s;Qtmax为第t个时段下游综合利用及防洪要求的最大下泄流量,m3/s;Ntmin为第t个时段电力系统要求的电站最小出力,kW;Ntmax为第t个时段电力系统要求的电站最大出力,kW。
4 计算实例
如前所述,使用Matlab粒子群工具箱后,只需要建立合理的适应值计算函数并将函数名作为第一个参数传递给pso_Trelea_vectorized函数即可。利用粒子群优化算法进行水电站优化调度计算时,可将水电站的水库在整个调度期内的最优蓄水量曲线作为研究对象。粒子所处空间的维数D就是调度的时段数,每个粒子在D维空间中的位置(V1,V2,…,Vn)代表了一条蓄水量曲线。在分析水电站中长期优化调度模型的基础上,建立如下的适应值计算公式:
若蓄水量过程线同时满足式(4)-(7),则
若蓄水量过程线不能同时满足式(4)-(7),则Fit=-inf
其中Fit就是根据整个调度调度期内水库蓄水量过程线计算出来的适应值,-inf是Matlab中代表无限小数的符号。
在Matlab中使用其编程语言将此适应值计算公式写成一个函数文件,然后编写一个主计算脚本,在此脚本中先设定好调用粒子群算法函数所需的各类参数,然后调用粒子群算法函数即可。本文对某大型水电站进行了仿真计算,计算中主要参数设定如下:最大迭代次数为100,群体规模为300,学习因子c1=c2=2.1,惯性因子随着迭代次数的增加从0.9线性降至0.6,初始粒子群由计算机自动生成。最后进行仿真计算(图略)。
利用Matlab粒子群算法工具箱进行水电站优化调度计算非常简单与直观,除了可在图表上方显示粒子群算法中设定的主要参数外,Matlab还实时显示最优适应值与迭代次数的关系曲线以及所有粒子的运动过程、个体最优适应值和群体最优适应值对应的点在空间中所处的位置。利用Matlab粒子群算法工具箱计算出的最优总发电量为14.04亿kWh,而利用动态规划算法求得的最优总发电量仅为13.51亿kWh,提高了3.9%以上。由此可见,利用Matlab粒子群工具箱求解水电站优化调度问题不仅简单,而且效果非常好。
5 结 语
本文重点探讨了Matlab粒子群工具箱在水电站优化调度计算中的应用方法和效果,计算实例证明应用Matlab粒子群工具箱求解水电站优化调度问题非常方便,可使研究人员从低层次的算法代码编写工作中脱离出来,更加专注地投入到水电站及水库群优化调度模型的研究工作中,加速水调理论的发展。
参考文献
[1]施展武,罗云霞,邱家驹.基于Matlab遗传算法工具箱的梯级水电站优化调度[J].电力自动化设备,2005,25(11):30-33.
[2]杨道辉,马光文,严秉忠,等.粒子群算法在水电站日优化调度中的应用[J].水力发电,2006,32(3):73-75.
[3]胡国强,贺仁睦.基于协调粒子群算法的水电站水库优化调度[J].华北电力大学学报,2006,33(5):15-18.
[4]谭旭恒.基于改进粒子群算法的水电站水库优化调度[J].湖南水利水电,2006,(3):32-34.
[5]武新宇,程春田,廖胜利,等.两阶段粒子群算法在水电站群优化调度中的应用[J].电网技术,2006,30(20):25-28.
水电优化调度算法 篇6
国内外实践研究表明, 水电站群优化调度可增加1%~7%的发电效益。由于梯级水电站群之间具有补偿和协调能力, 在合理运用相关数学方法进行水电站群负荷分配、优化调度的基础上, 梯级水电站群联合优化调度不仅能够为水电相关企业获得更多的经济效益, 而且能够缓解电网丰枯、峰谷矛盾, 提高电网的调峰、调频的运行能力。在水电站群优化调度的过程中, 由于其问题的复杂性, 根据文献阅读及相关实践成果, 水电站群优化调度具有多阶段、动态、非线性的特征, 其目标和约束条件比较复杂, 常常难以实现最优解, 只能达到近似最优解。传统的优化方法如线性规划、非线性规划、逐步优化算法 (POA) 、动态规划等在求解过程中都存在计算时间长, 求解的精度不高等问题, 往往难以完全满足其约束条件和优化目建立了系统总保证出力最大和总发电量最大模型, 按流域进行分解并逐层优化求解, 有效解决了复杂水力联系导致的模型求解困难的问题。标。针对水电站群优化调度的特点, 国内外研究人员近几年提出了多种寻优智能算法, 如模拟退化算法、粒子群优化算法、遗传算法、蚁群算法、大系统分解协调算法等, 将这些寻优智能算法应用于不同的水电站群的优化调度, 已取得了显著的成效。本文将通过这几种智能算法进行梳理, 综合分析其存在的优劣, 为后续的梯级水电站群调度智能算法的选择提供一定的理论参考。
1智能算法概述
智能算法也称之为“软计算”, 是人们从自然界中得到启发, 模仿其结构进行算法设计, 例如人工神经网络技术、遗传算法、模拟退火算法、粒子群优化算法等都是通过这样的途径创造形成。智能算法因其对目标函数与约束条件的要求较低, 且处理非凸、不可微、非连续等复杂问题上具有明显的优越性, 因此在现代被越来越多应用于非结构化问题的优化求解。由于梯级水电站群之间既有水力联系, 又有电力联系, 比单一水电站优化调度更为复杂, 具有多维、动态和非线性等特点, 所以适合使用智能算法进行求解寻优, 达到优化目的。
模拟退火算法、粒子群优化算法、遗传算法、蚁群算法、大系统分解协调算法在不同实例中的应用, 总结如表1。
通过表1, 我们看到五种常见智能算法应用的梯级水电站群和对应的优化成果, 其算法已经在我国水资源丰富的南方各梯级水电站群得到广泛的应用。优化调度的结果不仅可以提高发电量、增加经济效益, 还可以缩短求解时间、优化调度图和解决方程组求解困难等问题。
2智能算法优缺点比较及指标考虑
各种智能算法的优缺点比较, 如表2所示。
通过表2我们可以看到这五种智能算法的优劣, 在碰到不同问题结构时我们可以选用不同的算法来解决对应的问题。对于时间不敏感型的优化问题, 可以选用模拟退火算法来解决;对于连续型且时间敏感度较高的问题, 可以用粒子群优化算法;对于要求搜索全局极值的问题, 遗传算法相对较优;而蚁群算法容易与其他优化算法相结合;而要解决“维数灾”的问题, 大系统分解协调法是一个很好的途径。因此善用不同的算法做到“扬长避短”, 可以显著提高智能算法使用效率。
在具体智能算法选择的过程中, 应主要考虑以下几个方面的指标:
(1) 求解过程兼顾计算效率、精度、收敛性等指标, 尽可能满足更多约束条件, 优化结果应在最大程度上收敛于全局最优解, 并满足生产决策实用性和可靠性要求;
(2) 在收敛于全局最优解的条件下, 选择计算时间短、便于随时进行修改的算法;
(3) 充分利用目标水电站群计算机网络及硬件条件, 优化计算时最大限度利用现有计算机资源, 在不影响求解效果的前提下, 降低硬件成本。
(4) 其数据的输入和输出分析便于工作人员的操作和观察, 可及时与调度部门进行沟通和协商。
3总结和展望
本文讨论了几种典型智能算法在梯级水电站群中的应用和存在的优缺点, 以及在选择优化方法时应考虑的几个指标。下一步工作, 本文希望从各个智能优化算法的运算机制出发, 结合几种算法的优良特性来进行算法的结合, 为梯级水电站群优化提供更好的手段和方法。
参考文献
[1]谢维.三峡梯级水库多目标联合调度优化模型研究与实现[D].武汉:华中科技大学, 2007.
[2]吴月秋, 纪昌明, 郑江涛.改进粒子群算法在梯级水电站优化调度研究中的应用[J].电网与清洁能源, 2011, 12:38-43.
[3]刘岩.模拟退火算法的背景与单调升温的模拟退火算法[J].计算机研究与发展, 1996, 1:4-10.
[4]徐刚, 马光文.基于蚁群算法的梯级水电站群优化调度[J].水力发电学报, 2005, 5:7-10.
水电优化调度算法 篇7
天然、完整的河流生态系统应当具有连续、动态的特点, 然而水库水电站建设对河流的生态环境产生了一定的影响。由于水电站的大坝建设在河道上形成隔断, 河流系统的纵向连续性受到了一定程度的破坏, 河流上下游的生物体和养分的运移产生了障碍[1], 阻断了洄游性鱼类向上下游迁移的通道;另外, 水电站在运行调度时往往过于追求发电效益、忽视了坝下河道的生态径流要求[2], 水库的径流调节作用改变了河流的自然丰枯变化, 使流量趋向均一化, 削弱了天然河道的径流涨落效应, 这破坏了部分鱼类的产卵繁殖的水动力环境[3,4,5]。
水电站大坝建设在河道上形成隔断、破坏河道连续性的影响可以通过建设鱼道等工程措施缓解;水电站的对下游河道生态径流的负面影响可以通过生态调度等非工程措施改善。
关于水电站生态调度问题, 学界已经有较多的研究成果:文献[6]采用Tennant法计算最小生态流量, 并以此为约束条件计算了考虑生态流量对水电站发电效益的影响;文献[7]选择了3座不同特性的水电站为代表, 对考虑不同生态环境用水值条件下水电站发电量的影响进行了详尽的分析;文献[8]考虑了汛期、非汛期两种生态基流约束, 建立了太子河流域水库生态调度模型, 并采用逐步优化算法求解;文献[9]建立黄河干流梯级水库综合调度模型, 通过控制重要断面的11-3月、4-10月两种生态流量, 得到生态要求下远景年黄河水资源配置方案。
可以看出, 现有文献对水电站下游生态径流的考虑大多是以一、两个常量作为附加约束或目标考量, 这没有充分体现天然河道应当具备的动态性, 即生态径流的年内逐月丰枯变化。本文以逐月频率计算法[10]为基础, 确定3种标准下控制断面逐月最小生态径流过程, 建立考虑逐月生态径流需求的水电站发电优化调度模型, 并以改进的解空间模式差分进化算法求解, 对计算结果比较分析, 在水电站发电经济效益与生态效益之间找到平衡点。
1 基于逐月频率分析的最小生态径流计算
最小生态径流通常指为了维持水生和两岸栖息生物生存的最小需水量过程。目前, 常用的生态径流计算方法主要有4大类[11]:水文指标法、水力学法、整体分析法和栖息地法。这4类方法的适用范围和资料需求都有所不同, 本文考虑到研究流域特性及所能获取资料的实际情况, 拟采用隶属于水文指标法大类的逐月频率计算方法[10]。
逐月频率计算方法基于这样一个思路:水生生物的在其生命史过程已经完全适应了河流水文过程的年内丰枯交替变化, 最小生态径流过程应同河道径流年内变化特征一样, 是连续变化的, 具有丰枯变化特征。因此, 严格来说, 最小生态径流不是一个常量, 而是一个随时间有丰枯变化的量。
该方法的计算步骤如下:首先根据长系列逐月流量资料, 将一年的1~12月流量资料分别从大到小排频, 统一选取某一保证率 (比如排频90%) 下的各月流量过程作为最小生态径流。
逐月频率计算方法的优点在于考虑了河道径流过程的年内连续丰枯变化特征, 充分考虑了河流生态系统不同时期对水文条件的需求。在该生态径流条件下, 河道水流能保持适合水生生物生存和繁衍的空间、物质和能量条件。
2 考虑下游生态径流需求的发电优化调度模型
模型以调度期内水电站发电量最大为目标, 但采用逐月最小生态流量约束的形式处理下游生态径流需求。
2.1 目标函数
式中:T为调度期末时序或时段数;Nt (qt, Ht) 为第t时段的发电出力, 为qt, Ht的函数;qt为第t时段的发电流量;Ht为第t时段的库水位;Δt为计算时段内小时数。
2.2 约束条件
(1) 水量平衡约束:
式中:Vt、Vt-1为第t时段末、初水库蓄水量;Qt为第t时段入库径流量;qt为第t时段发电用水;Jt为第t时段弃水量;St为第t时段水量损失。
(2) 上、下限水位约束:
式中:Zt为第t时刻实际水位;Zt, min为第t时刻允许下限水位, 一般为死水位;Zt, max为第t时刻允许上限水位, 一般地, 在非汛期为正常高水位、在汛期为汛限水位。
(3) 最小负荷约束:
式中:Nt为第t时段的计算出力;Nt, min为第t时段电网对电站的最小负荷要求。
(4) 水轮机的预想出力约束:
式中:N (Ht) 为第t时段在Ht的水头下的预想出力;NY为装机容量。
(5) 流量约束:
式中:qt为发电流量;qt, min为该时段的下游生态用水需求流量;qmax为水轮机组最大过水能力。
(6) 调度期末水位控制:
式中:Ze为调度期末计算水位;Ze*为调度期末控制水位。
3 基于解空间模式差分进化算法的模型求解方法
经典的动态规划算法可以用于求解上述的水电站最优化调度问题, 但是动态规划算法在状态数较多 (即水位精度要求较高) 时普遍存在计算耗时长的问题, 因此本文采用新兴的智能算法求解模型。以差分进化算法为基础, 并对其初始种群生成模式作一定改进, 提出基于解空间模式的差分进化算法的模型求解思路。
差分进化算法在整体流程框架上类似于水电站调度领域常用的遗传算法, 即通过一系列的操作算子实现了一代种群到新一代种群的迭代进化过程, 最终实现最优化问题的求解。具体算法设计如下。
3.1 种群编码对象的选择
在本文求解的水电站生态调度问题中, 决策量是逐时段的水电站放水流量, 但是通过水库水量平衡约束式 (2) 的转换, 可以对状态量 (水库水位) 进行编码。
3.2 基于解空间模式的初始种群生成
初始种群编码一般是在搜索空间内 (即水库水位的上下限之间) 随机生成[12], 具体到个体的某一维元素编码, 其生成方式如式 (8) :
式中:Rnd为[0, 1]区间的均匀随机数。
而研究表明, 初始种群的个体分布状况将直接影响到算法的全局收敛性能[13]。若初始种群的生成仍然采用完全随机的方式, 没有考虑解空间的分布情况及约束条件的限制, 有很大的不确定性, 如果初始种群空间不包含全局最优解的一部分信息, 而算法又不能在有限的进化代数内覆盖空间扩延到全局最优解所在的区域。这有可能让许多个体在进化过程中都趋向在某一局部最优解靠近, 那么过早收敛就不可避免。
鉴于此, 本文采用了解空间生成模式。可行解空间模式, 顾名思义是指在生成初始种群时考虑了约束条件的限制, 使之落在可行域之内, 这种模式生成的初始种群尽量尝试去覆盖可行域, 这样包含最优解的部分信息元素的可能性增大。使算法在有限的进化代数内覆盖至全局最优解所在的区域, 这能有效地避免进化过程中许多个体趋向在某一局部最优解而早熟的情况。
按照这样原理, 可行解空间模式在生成种群的时候充分检验约束条件的满足情况, 具体生成流程见图1。在该模式中, 初始随机生成的种群相当大一部分不能通过约束条件的检验, 而需要重新尝试。
3.3 适应度函数设计
适应度评价函数Ψ (·) 的设计是为了评价种群中个体的优劣程度, 所以除了需要考虑目标函数值的大小外, 还需考虑当前个体是否满足约束条件。
而根据各约束条件的特性, 可以分为两种情况:强制性约束和非强制性约束。强制性约束, 如水位上下限约束、调度期初末水位等在水位编码的时候给予了充分考虑, 要求必须满足;非强制性约束, 如最小出力、最小下泄流量等, 在极其特殊的情况下允许不完全满足, 允许有一定程度的破坏, 如在特枯年份, 来水不足则可以允许减小发电出力及下泄流量至约束下限以下。
对于非强制性约束, 本文采用变量惩罚函法处理, 惩罚系数随着进化代数的增加而动态增大:这样, 在进化初期能够保留某些具有优良元素的不可行个体, 以期保持种群的多样性;在进化后期能够剔除不可行个体, 以期确保最终解是可行解。
据此, 未满足的非强制性约束在适应值函数表达式中可以以罚函数的形式得到体现[14], 适应度函数由目标函数值及违背约束的罚函数两部分组成:
其中:
式中: 为目标函数项, 是在既定入库流量下, 按某个体编码对应的水库水位调度, 计算得到调度期T内各时段的发电收入之和; 为罚函数项, 等于各时段流量罚函数和出力罚函数之和;α为最大惩罚系数;g为当前的进化代数;Gmax为设置的最大进化代数;β为量级均衡系数, 用于均衡对流量与出力的惩罚力度, 抵消各约束边界的量级影响, 本文取0.1;Violqt为第t时段流量罚函数;ViolNt为第t时段出力罚函数。
3.4 变异操作算子
变异算子是差分进化算法必不可少的进化算子, 根据选取的父代个体组合不同, 可分为不同的变异模式, 本文采用较常见[12]的变异模式:
式中:Vkg+1为经变异操作算子生成的变异个体;F是缩放系数, 一般取值在 (0, 2]区间;下标r1, r2, r3为随机整数且互不相等, 所以Zgr1, Zgr2, Zgr3为互不相同的随机个体。
3.5 交叉操作算子
由交叉操作算子计算能获得新的试验个体Ukg+1={u (g+1, k, 1) , u (g+1, k, 2) , …, u (g+1, k, D) }。第k个试验个体Ukg+1的第t维元素u (g+1, k, t) 的计算式如下:
式中:Rnd为[0, 1]区间的均匀分布随机数;Pc是预先设定的交叉率;Rnbr (k) 为随机选取的[1, D]区间的整数, 确保了试验个体Ukg+1中至少有一维元素来自于变异个体Vkg+1。
3.6 选择操作算子
差分进化算法的选择算子是一种“贪婪”的选择:比较试验个体与父代目标个体的适应度值Ψ (·) , 较优者保留下来进入种群的下一次迭代进化:
选择操作算子并不能保证进入下一代的个体一定是可行解, 但是“3.3适应度函数设计”含有随着进化代数增大的罚系数, 这一点能尽量保证种群进化末期的可行解比例较高、获得的最优解为可行解。
3.7 进化终止条件
智能进化算法的终止规则通常有4种:预先设定最大进化代数;连续若干代的最优目标值不发生变化;算法运行到一定时限;找到了某个优秀个体。
本文采用了两种终止条件, 即预先设定最大进化代数或连续若干代的最优目标值不发生变化, 满足两个条件之一即终止迭代。
4 实例分析
以三峡水电站的生态调度问题为例, 三峡水库正常蓄水位175m, 汛限水位145m, 死水位155m, 其兴利库容165亿m3, 库容系数4%, 具有不完全年调节能力;装机容量2 250万kW, 保证出力499万kW。对1950-2009年共60年长系列进行优化调度计算, 计算时段为月, 调度期初水位为172m, 调度期末水位也控制为172m。
4.1 最小生态径流需求方案的确定
(1) 三峡水电站现行的下游生态径流调度原则是常量5 600m3/s, 不随时间变化。
(2) 按照上文的逐月频率方法的进行最小生态径流计算:三峡水电站水库坝址距宜昌站较近, 有1950-2009年宜昌站共60年长系列逐月径流资料。按照日历年, 对1-12月历史资料分别从大到小排频, 取逐月频率90%作为最小生态径流方案。
这两种方案下的生态径流过程见图2。
但是, 分析图2发现, 在1-4月、12月逐月排频90%方案的流量小于现行5 600m3/s的流量值, 考虑到5 600m3/s这个现行最小下泄量值综合考虑了下游航运等需求底限, 本文对逐月排频90%方案的1-4月、12月流量统一修正为5 600m3/s, 其余月份保持不变, 这样既能考虑下游航运等综合需求的流量底限, 又能反映下游河道年内径流丰枯变化。该方案可作为下游最小生态流量的推荐方案, 见图3。
分别采用传统的动态规划算法DP、基本差分进化算法DE和基于解空间模式差分进化算法MDE求解考虑下游生态径流需求的发电优化调度模型, 3种算法的水位离散精度均取0.01m。DP不涉及其他计算参数;DE、MDE的其他参数如下:种群规模80, 交叉率0.9, 缩放系数0.6, 最大迭代代数150, 连续30代最优值不发生变化则提前终止迭代。为了使算法性能分析更具可比性, 计算在同一计算机和编程环境 (计算机主频2.5GHz, 内存4GB, 采用Visual Basic语言编程) 下进行。
4.2 算法性能比较
算法性能在“推荐生态流量方案”和“现行5 600常量方案”2个方案计算上差距不大, 因此算法性能分析仅以“推荐生态流量方案”为例。
DE、MDE与DP相比, DP计算结果的是同等水位离散精度下的全局最优解, 但是耗时较长, 高达14.328万s, 比DE、MDE等智能进化算法耗时高出了2个数量级, 但计算得到的多年平均发电量只比DE、MDE智能进化算法高出少许。
MDE与DE相比, MDE解的精度优于DE, 但是MDE的计算耗时也有相应的增加, 这是由于解空间模式生成初始种群时序耗费了相当的时间, 但是提高了初始种群的个体分布质量, 提升了算法的精度。
4.3 推荐方案对多年平均电能的影响及其生态流量保证率
上文已经比较了算法性能, 以下以本文提出的MDE计算结果为依据, 进行分析:
如表1所示, 本文推荐的生态径流方案多年平均发电量比“现行5 600常量方案”减少0.5%, 占比较小, 长系列调度分析表明其生态径流保证率为83%, 也达到了水资源利用生态用水的保证率 (85%) 的要求。需要说明的是, 推荐的生态径流方案看似生态径流保证率低于“现行5 600常量方案”, 但实际上它们的生态流量要求就不一样, “现行5 600常量方案”要求较低。
综上所述, 推荐的生态径流方案为生态牺牲的电能经济效益较小, 且能换取较高的生态环境效益;同时, 与现行的5 600m3/s最小下泄方案相比, 推荐的生态径流过程既考虑了下游航运等综合需求的流量底限, 又考虑了河道径流过程的年内连续丰枯变化特征, 能反映河流生态系统不同时期对水文条件的需求。
5 结语
(1) 采用了逐月频率计算方法进行河流最小生态径流过程计算, 反映了河道径流过程的在年内连续丰枯变化特征, 充分考虑了河流生态系统在不同时期对水文条件的需求。
(2) 建立了考虑下游生态径流需求的发电优化调度模型, 模型以调度期内水电站发电量最大为目标, 但采用逐月最小生态流量约束的形式处理下游生态径流需求。
(3) 提出基于解空间模式的差分进化算法的模型求解方法, 以标准差分进化算法为基础, 并针对其初始种群随机生成模式的缺点提出了基于可行解空间模式的改进差分进化算法。
(4) 以三峡水电站的实例, 分别考虑三峡水电站现行5 600m3/s常量控制及推荐的生态径流方案进行长系列优化调度分析, 说明了MDE的算法有效性和推荐生态径流方案的经济性和生态友好性。
摘要:水电站生态调度作为一种重要的非工程措施, 可以缓解水电站建设对下游河道生态环境的影响。采用了反映河道径流年内连续丰枯变化特征的逐月频率计算方法进行河流最小生态径流过程计算;建立了考虑下游生态径流需求的发电优化调度模型, 以逐月最小生态流量约束的形式处理下游生态径流需求;提出基于解空间模式的差分进化算法的模型求解方法, 针对差分进化算法的初始种群生成模式进行了改进。三峡水电站的实例表明推荐的最小生态径流方案牺牲较小的电能经济效益可换取较高的生态环境效益。
水电优化调度算法 篇8
梯级水电系统的短期优化调度是指在满足库容平衡、水流滞时、水电转换等约束的前提下,根据已知水电站群各水库的初始水位和控制期内的水量,利用可用水量优化各水电站的出力过程,从而提高整个梯级水电系统的经济效益和运行水平[1,2]。由于梯级水电站之间存在着水力、电力联系,约束复杂,使得短期梯级水电优化调度是一个非线性、多约束、有滞时的混合整数规划问题,求解难度较大。其求解方式分为传统优化方法和现代智能方法两大类,其中,传统优化方法包括线性规划法[3]、非线性规划法[4]、动态规划法[5]和混合整数规划法[6,7]等;现代智能算法包括粒子群算法[8,9],蚁群算法[10]和遗传算法[11]等。文献[3]建立了考虑直流输电线路的水火电联合优化调度模型,并采用大规模线性规划法进行求解。文献[4]采用结合拉格朗日分解法和逐次二次规划法的混合方法求解考虑启停的水电优化调度问题。文献[5]建立了多目标短期水电优化调度模型,并采用差分动态规划法进行求解。文献[8]针对梯级水库群优化调度多约束、高维、非线性和难以求解的特点,将鲶鱼效应机制引入到粒子群算法中提出鲶鱼效应粒子群算法,提高模型求解效率。文献[9]将改进二进制粒子群算法与动态微增率逐次逼近法混合嵌套,分别对水电站外层机组组合和内层机组间负荷分配进行交替迭代优化来求解水电站机组组合问题。文献[10]将量子计算理论引入到蚁群优化算法中,形成量子蚁群优化算法,并用于梯级水电系统经济调度研究中。文献[11]采用逐步优化算法与遗传算法嵌套搜索,制定短期水电站调度规则。
在应用于短期梯级水电优化调度问题求解时,线性规划法简单、快速,但所求解模型转化为线性规划模型时,存在较大精度损失;非线性规划法虽然精确,但收敛性较差;动态规划法适合求解多时段优化问题,但“无后效性”的条件很难得到满足;而现代智能算法简单、适应性广,但随机优化的特点导致解精度无法得到验证,求解时间也较长。目前看来,利用现代代数技术,将短期梯级水电优化调度问题转化为混合整数线性规划问题后求解,是解决短期梯级水电优化调度问题的有效手段[6,7]。
由于上游电站的出库流量经过一定时间的传播后,成为下游电站的入库流量。体现这种联系的一个重要参数就是上下游水电站之间的水流滞时。目前大量文献将水流滞时作为固定常数或忽略不计予以简化,但受到水电站的出库流量的影响,梯级水电站间的水流滞时处于动态变化之中[12,13]。若将水流滞时作为固定值进行建模,可能导致用水计划安排的偏差,进而导致水电优化调度结果的偏差,因此需要在梯级水电调度过程中考虑动态水流滞时的优化。
考虑动态水流滞时,使得上下游水电站之间的水电联系在时间轴上处于变化之中,从而导致短期梯级水电优化调度中的优化变量在大小和时间两个维度上变化,采用常规算法直接求解困难。针对该问题,本文提出求解计及动态水流滞时短期梯级水电优化调度的逐次逼近法,该方法将水流滞时表示成电站出库流量的函数形式,并以常规短期梯级水电优化调度为基础,构造了逐步逼近精确水流滞时的迭代流程。最后通过一个测试系统和某实际梯级水电系统的算例分析结果验证了本文所提出方法的有效性。
1 数学模型
1.1 目标函数
为了更好地发挥水电的经济效益,选取计划周期内梯级流域总发电量最大为目标函数,具体表示为
式中:f为总发电量;T为计划周期内的时段总数;t为时段编号;N为系统内的水电机组总数;n为水电机组编号;pn,t为t时段机组n的出力。
1.2 约束条件
1)梯级水库流量关系
2)库容平衡
3)能量转换平衡
4)机组的技术最大最小功率输出
5)水库库容约束
6)发电流量约束
7)出库流量等式
8)动态滞时约束
式中:rn,t为电站n平均入库流量;qn,t为电站n的发电流量;sn,t为电站n的弃水流量;gn,t为电站n的出库流量;In,t为电站n的自然入流;Un代表电站n的上游水电站集合;τk为从电站k到n的水流滞时;vn,t为电站n在时段末的蓄水量;ΔT为时段间隔;kn为电站n综合出力系数;Pn,t,max,Pn,t,min分别为最大、最小功率输出限制;Vn,t,max和Vn,t,min分别为允许的最大、最小蓄水量;Qn,t,max和Qn,t,min分别为最大、最小发电流量限制;ψ()为机组发电功率关于发电流量和库容的非线性关系;ϕ()为水流滞时τn和出库流量gn,t之间的非线性关系。
显然,本文所提出的短期梯级水电优化调度模型与常规短期梯级水电优化调度模型的区别就在于式(9)所示的动态滞时约束。
水流滞时受出库流量的影响,当出库流量增大时,水流滞时减小,当出库流量减小,水流滞时增大,两者之间的关系如图1粗虚线所示的非线性函数关系[12,13]。
同时,一般认为某电站到下游电站的水流滞时在调度周期内的各时段为同一个值,因此,某电站到下游电站的水流滞时可按照该电站平均出库流量来计算,因此,式(9)可具体表达为式(10)。
式中,βn为常数,由上下游水电站之间的高程差、河床长度和结构、以及区间自然入流等因素决定。
在制定调度计划时,水流滞时必须是调度时段间隔的整数倍,因此,以调度时段间隔为单位离散化水流滞时和出库流量的函数曲线,如图1所示实线阶梯状曲线。
2 模型的逐次逼近求解方法
逐次逼近法是解决复杂方程求解和优化的有效方法,已经成功地应用于电力系统潮流计算[14]和水电优化调度[9,10,11,12,13,14,15]等问题。其基本原理和过程如式(11)~式(14)所示。
假设如式(11)所示的难解复杂方程可以变形为式(12)所示的形式。
当Y为常数时,很容易求解,则可以构造如式(13)的迭代格式。
迭代从初值Y(0)开始,直到满足如式(14)的收敛条件为止。
式中:l为迭代次数;ε为收敛精度。
本文中的短期梯级水电优化调度模型与常规梯级水电优化调度模型的区别就在于考虑了水流滞时与出库流量之间的非线性关系式(9)。如果各电站水流滞时为常数,则模型转化为常规梯级水电优化调度模型,可以采用各种有效算法进行求解。因此,可设Y为各电站水流滞时τn,而X为除各电站水流滞时外的其他优化变量,即各电站的发电流量qn,t、弃水流量sn,t、出库流量gn,t、功率输出pn,t和蓄水量vn,t,式(1)~式(8)为G(X,Y)=0,等式(9)为Y-Z(X)=0。
在本文中,收敛条件为前后两次迭代的水流滞时不发生变化,如式(15)所示。
对模型作上述处理后,即可按照迭代格式(13)进行求解。具体流程如下:
1)任意给定各个水电站到下游电站水流滞时的初值τn,0。设置τn(l)=τn,0,迭代次数l=0。
2)根据已知的τn(l),调用常规短期梯级水电优化调度方法求解式(1)~式(8),得到各电站发电流量qn,t(l)、弃水流量sn,t(l)、出库流量gn,t(l)、功率输出pn,t(l)和蓄水量vn,t(l)。
3)根据2)中得到的gn,t(l),按照式(10)计算各个水电站水流滞时τn(l+1)。
4)判断式(15)是否成立,如是,优化结束,输出优化结果;如否,设l=l+1,返回2)。
上述过程的流程图如图2所示。
针对常规短期梯级水电优化调度模型的求解,本文首先采用如下线性化方法将模型转化为线性混合整数规划问题,然后调用CPLEX 11.0进行求解,这是目前求解常规梯级水电优化调度问题有效的方法[6,7]。
在式(1)~式(7)所示的常规短期梯级水电优化调度模型中,式(4)所示的能量转换平衡为非线性约束条件。根据实际数据,通过线性拟合方法,可以得到个不同库容下水电机组发电功率p与发电流量q的函数关系,,如图3所示。基于图3,式(4)可以采用式(16)~式(20)等价转化为线性表达式。
式中:en,r为第n个水电机组r段库容下能量转换参数;qn,t,r为第n个水电机组在t时段r段库容下的发电流量;dn,t,r为0、1变量,当Vn,r-1≤vn,t≤Vn,r时取值为1,否则为0。
3 算例分析
3.1 仿真算例
基于上述提出求解考虑动态水流滞时短期梯级水电优化调度的逐次逼近法,本文分别针对一个测试算例和一个实际算例进行求解。设测试算例中的梯级水电系统包含上游水电站A和下游水电站B2个电站,其基本参数如表1所示。
经计算后所得的水电站A和水电站B的出力计划如图4所示。水流滞时迭代收敛情况如图5所示,从图中可以看出,迭代次数为2,计算速度较快。由此可见,所提出方法能有效地求解考虑水流滞时的梯级水电优化调度问题。
为了验证本文所建模型的合理性,分别按照以下三种情况进行优化调度:(1)不计水流滞时;(2)水流滞时取计划周期前一日平均出库流量对应的滞时;(3)将水流滞时作为优化变量。通过优化计算,下游水电站B的水库优化调度结果如图6所示。由图6可见,三种情况下的水库优化调度结果均不相同,不考虑水流滞时的影响以及参考前一日水流滞时均会造成调度决策的偏差,无法正确地指导水电优化调度工作,而本文提出的模型能够根据出库流量的变化,对水流滞时进行动态调整,从而合理地反映了水流滞时变化的特征,为水电站优化调度工作提供了科学的参考依据。为了比较三种情况的经济效益,分别将所得水库优化调度结果代入本文所建模型计算目标函数值,求解结果如表2所示。由表2可以看出,水流滞时的优化计算可以增加梯级水电系统的总发电量,进而提高经济效益。
3.2 实际应用
为了进一步检验所提出方法的实用性,结合某地区的实际算例进行测算。实际算例包含8座梯级水电站,水系结构示意图如图7所示。计算收敛情况如图8所示,经过4次迭代便可稳定收敛到最优解。
4 结论
本文考虑水流滞时和电站出库流量之间的非线性关系,提出求解计及动态水流滞时的短期梯级水电优化调度的逐次逼近法,通过分析可以得出以下结论:
(1)水流滞时会受出库流量的影响,取值并非恒定,将水流滞时表示为出库流量的函数,能够较好地反映滞时的动态特性。
(2)根据固定的滞时参数进行优化调度,将会产生调度的偏差,而在优化调度中考虑滞时变量的优化,能够提升梯级水电系统的经济效益。
水电优化调度算法 篇9
中国历来十分重视中小水电的开发建设。中小水电站群虽然规模较小, 但综合效益十分显著, 不仅可以充分利用当地水能资源, 对于改善当地居民的生产生活环境, 促进当地经济建设都有十分积极的意义。全国近1/2的地域, 1/3的县市, 1/4的人口主要靠小水电供电, 小水电在我国能源结构中占有非常重要的地位[1]。与中小流域梯级水电火热开发建设局面的相比, 针对中小流域梯级水电优化管理调度的研究尚不十分匹配, 造成上下游水资源分配不合理的现象。随着越来越多中小流域梯级水电站群建成, 梯级调度管理问题日益凸显。如何对中小流域的水电站群集中管理, 建立合理的联合调度策略, 是充分发挥小水电作用的关键。
本文通过分析中小流域水电系统的特点, 探讨了简化中小流域水电梯级优化问题的基本思路, 研究分析了针对不同需求的模型和求解策略, 对已有中小流域梯级优化求解方法的适应性进行了分析总结, 同时对今后中小流域梯级优化策略的研究提出了一些建议和思考。
1 中小流域梯级水电优化调度问题的求解策略
水库调度是利用水库对径流的调节能力, 根据水利工程工况和水文预报的结果, 有计划地对来水进行蓄放, 实现防洪、兴利。梯级水库调度有多种划分方法, 按调度目标, 可分为防洪调度、发电调度、生态调度、供水调度等, 按调度期长短, 可分为长、中、短期调度, 实时调度等, 按径流描述, 可分为确定型和部确定型调度, 按优化目标数量, 则可划分为单目标优化调度和多目标优化等。本文主要探讨以发电调度为主, 兼顾梯级综合效益的优化调度问题。
水电系统是水资源领域较为复杂的应用系统之一[2], 具有维数高, 耦合性强, 随机性等特点。梯级优化调度面临的突出难点是维数灾问题。维数灾问题与下列几方面有关。一是梯级规模, 即参与梯级调度的电站数量。二是调度问题的复杂程度, 包含目标的选择问题和各种复杂的约束条件。三是需要计算的各种与梯级调度有关随机性的因素, 如径流, 负荷, 电价等变化情况。上述三方面决定了参与调度优化计算的参数数量和梯调优化数学模型的复杂程度。过多的参数和复杂的数学模型易造成维数灾问题。因此, 利用中小流域梯级水电的特点, 结合多种方法简化这三方面的因素, 是降维和避免维数灾的有效途径。
1.1 中小流域梯级水电特点
中小流域梯级优化具有下列特点: (1) 中小流域梯级水电站装机规模不大, 调度灵活, 对电网潮流分布和系统稳定影响较小[3]; (2) 水电站单个规模较小, 但数量众多; (3) 水电站群受径流来水影响大, 枯水期水量不足, 丰水期易窝电弃水[4]; (4) 小水电零星开发, 业主单位众多, 联合调度时利益分配问题复杂。
中小流域水电站群虽然单个库容较小, 电站装机规模不大, 但全流域的水电站群合计起来, 电站整体出力和对流域丰水期和枯水期的调节补偿作用非常可观。我国大部分河流靠雨水补给, 河流水量主要取决于降水的分配。在中小流域, 降雨很快汇集成流, 水位迅速抬高。降雨过后又很快消退, 径流流量因季节变换变化显著。并且年际变化也有很大的差别。在北方干旱地区旱季河流径流很少或几乎断流, 雨季则可能出现短时水量过大而造成水电站弃水。
中小流域梯级水电站的电力生产存在以下几种常见情况。
(1) 流域内水电站单个规模较小, 调节能力不足, 装机容量小。部分流域受条件限制, 缺乏流域控制性龙头水库, 受径流来水情况影响大, 不能充分体现中小流域水库梯级优化调度的效益。
(2) 流域内水电群建设年代不同, 受当年建设条件限制, 上下游水电站发电流量不完全匹配, 很难避免弃水的问题。
(3) 流域内部分水库的主要职能是为了满足当地生产生活用水及生态环境等综合利用的需求, 水力发电并不是其主要功能。
因此对于不同类型的中小流域梯级, 要针对上述情况调整优化策略。
1.2 中小流域梯级模型简化
流域梯级水电开发建设规划中, 多根据具体条件规划, 能大则大, 不能大则小[5], 形成流域内水电站规模大小不一, 功能各有侧重。理论上全流域的水电站群都应参与梯级优化计算, 涉及的相关约束条件数目十分庞大。可以根据不同流域的特点, 将流域内的水电站按不同准则分类, 分组, 按不同类型组别确定其参与优化的方式和优化目标准则, 从而达到分解优化问题, 降低求解规模的目的。
首先根据中小流域梯级水电系统的调节能力进行分类, 减少参与优化调度计算的电站数目。流域上游一般规划有较大调节能力的龙头水库电站, 龙头水电站的作用是调节下游径流流量, 保证下游径流式水电站出力, 提高梯级整体效益[6]。因此龙头水电站调度是整体系统优化的关键。而对于日调节水电站, 受来水影响大, 梯级具有短期优化调度效益。表1列出了根据调节能力差异选择中小流域水电站参与优化的方式。
我国现有水电站大部分调节能力较差, 如云南电网107个统调电站中, 年调节能力以上的电站仅有13个, 占12%, 周调节以下的电站有87个, 占81%。按照上表进行分类计算, 参与长期优化的水电站仅有13个, 中长期优化的水电站有20个。参与优化计算的水电站数量大大减少。
其次, 将较大规模的梯级调度问题分解成较小的梯级调度问题, 从而达到简化系统模型的目的。根据中小流域内水力联系紧密程度或功能差异划分优化区域, 实行统一管理分段调度的模式。每一个组根据其特点定内部的优化方式, 并作为一个整体接受流域的统一管理。如在中长期调度时, 水力联系紧密的一组水电站群, 可以转化为一个整体进行优化。对于梯级水电站群中上游为大库水电站, 下游为一系列日调节或无调节水电站的情况, 可等价于有附加水头的单一水电站, 进行厂内优化调度计算[2]。
再次, 根据径流来水, 电网负荷条件变化情况简化调度计算, 减少重复计算。在短期优化调度时, 在系统负荷、来水变化不大的情况下, 梯级水电站的调度方案可以参考前一时段的安排, 仅挑选出部分调节能力强, 或位置特殊的电站进行局部调整, 以反映当前负荷来水变化。在减少参与计算的电站数目的同时, 降低了机组启停频率, 减少了相关损耗。
用上述几种方法对中小流域梯级调度问题进行预处理, 可以在不影响优化品质的前提下, 达到分解大规模系统的目的, 便于用现有的算法进行优化计算。
1.3 中小流域梯级优化调度的数学模型
优化调度的计算首先要将梯级水库的调度问题抽象为带约束条件的数学问题, 以运筹学理论和方法为指导, 在计算机的帮助下, 在有效的可行域内寻找符合梯级水库的优化方案。
选择合理的数学模型对处理维数灾问题很有帮助。建立梯级优化的数学模型包括确立优化目标函数和各种复杂的约束条件。目标函数的选择和约束条件的取舍要符合梯级的实际情况, 也要兼顾计算的可行性。
1.3.1 优化目标的确定准则
从最大化的利用水资源的总体思想出发, 在已知水电站水库特征的情况下, 常用的梯级优化准则有给定用水量时总电能最大或收益最大准则, 和给定负荷过程下耗水量最小或弃水最小的准则。中小流域梯级特点与大型梯级电站有很大区别, 具体模型和优化准则应当根据各流域不同的特点来选择。
中小流域梯级具有防洪、发电、灌溉、城市供水、航运, 养殖等多种功能, 优化调度是一个多目标规划问题, 但在实际工作中往往根据情况选择一个主要需求作为基本目标, 其他目标作为约束条件, 从而将多目标优化问题简化为单目标问题。表2列出不同条件下, 优化目标的选择。
为了解决中小流域水电站群易发生丰水期弃水窝电, 枯水期水量电量不足的问题。中长期优化的主要目的是使梯级水库内总储能最大[7]或减少无益弃水[8]。具体需要调节能力较大的水库, 结合径流预报结果, 在丰水期前合理降低水位, 以待来水, 在枯水期前尽可能多储水, 将水量存储到高水位。短期优化在丰水期时充分利用流量发电, 弃水最小。在枯水期时, 分时段发电, 将水电站安排在电价较高的早峰, 午峰或晚峰时段发电。
有些水库的主要功能是为了满足当地生产生活用水及生态环境需求, 水力发电并不是其主要功能, 针对这类型水库, 调度时要调整优化策略。以下列出最基本的两个目标函数。
目标函数1:水量一定时, 总发电量最大准则:
式中:Pi, t为第i个电站在t时段平均发电功率;ΔTi, t为t时段的时间长度。
如在式 (1) 基础上乘以t时段的电价因子Ct, 便成为发电总收益最大准则。
目标函数2:负荷一定时, 总耗水量最小准则:
式中:Qi, t为第i个电站在t时段的流量。
在式 (3) 的基础上增加机组启停费用qi, t, 则实现最小耗水量和最小启停费用准则。机组启停费用是指机组启停中设备损耗成本和维护成本, 通常等价于机组满负荷运行3~5 min消耗的水量[9]。
如在式 (3) 基础上乘以水头参数Hi, t, 表示t时段内电站i的水头高度, 便成为总耗能最小准则。
其中, 发电功率和发电流量的关系为P=9.8ηHQ, 其中η为电站出力系数。
1.3.2 梯级优化调度的约束条件
水电站调度优化要考虑各种复杂多变的约束条件, 一下列出几个主要的约束条件
(1) 梯级电量平衡方程:
该式表示各梯级电站在t时段的出力总和应等于该时段的负荷Pt。
(2) 梯级水量平衡方程:
式中:Vi, t+1, Vi, t为第i座水库在t+1和t时段的库容;Ii, t, ui, t分别为第l座水库t时段内的入库流量和弃水流量。
(3) 水电站出力限制:
式中:Pi, max, Pi, max分别为第i座水电站出力上下限。
(4) 水电站流量限制:
最小流量Qi, min受下游航运, 灌溉, 工农业供水的限制。最大流量受水库的泄洪能力和下游水库的防洪能力限制。
(5) 梯级水库间水流联系方程:
式中:Qi-1, t-τ为上一座水库出库流量;τ为水流滞后时间;ii, t为第i座水电站的区间来水。
(6) 各水电站库容约束:
式中:Vi, min, Vi, max为水库i的上下库容限制。
水库的上下库容限制不仅指水库最大库容, 最小库容, 还需考虑调度员根据特殊情况设置的库容限制。
2 梯级联合优化调度算法
对于较为复杂的梯级水电系统, 无论是目标函数还是约束条件, 简化成便于直接数学求解的数学模型形式非常困难, 大多无法选择解析式的优化方法, 需要寻求其他方法和途径。
对梯级优化算法的研究始于20世纪40年代, 经过几十年的研究, 研究人员提出了大量梯级优化算法。经典的算法有线性规划, 非线性规划, 动态规划, 网络流和大系统分解协调方法等。为了解决维数灾的问题, 又在这些算法的基础上发展出了逐步优化算法 (POA) [10], 和动态规划逐次逼近 (DSPA) [11,12]等。自20世纪90年代, 随着启发式算法的出现, 进一步丰富了梯级优化算法的选择, 如遗传算法[13], 模拟退火算法[14], 粒子群算法[15]和蚂蚁算法[16]等。这些算法各有优缺点, 动态规划算法计算速度慢, 易产生维数灾问题, POA算法在电站数量较多时收敛速度慢, 占用内存多。遗传算法局部搜索能力弱, 粒子群算法收敛速度快但容易陷入局部最优解。在中小流域优化调度的实际应用中, 将这些方法组合起来, 取长补短, 是求解问题的有效途径。以下是现在常用的两种求解优化问题的方法。
(1) 动态规划逐次逼近算法 (DPSA) 。动态规划逐次逼近算法的核心思想是将m维的动态规划问题分解为m个子问题, 将梯级寻优分解为单库寻优, 通过减少状态数达到降维的目的。计算时固定其余电站的状态变量, 只优化第i库的决策变量序列, 然后固定这一变量序列, 优化第i+1库。反复迭代后, 得到梯级调度的最优解。在DPSA算法的基本框架内, 还可混合其他搜索算法进行局部参数的寻优, 针对不同梯级特点确定组合方法。DPSA可以保证收敛, 但初始值的设定对收敛精度和收敛速度都有很大影响。
(2) 粒子群算法。与DPSA算法相比, 粒子群算法的优势是所需参数少, 收敛速度快。粒子群算法是模仿鸟类捕食群体智慧的一种仿生学算法。算法首先随机生成一群粒子, 每一个微粒代表问题的一组可行解。在每次迭代中, 用目标函数计算粒子的适应度确定粒子的优劣程度, 微粒不断追随最优粒子在解空间中飞行, 最终整体达到最优区域。飞行的方向和速度取决于粒子当前位置与当前全局极值和个体极值的距离。粒子群算法虽然实现简单, 但算法稳定性不如DPSA算法, 在具体应用中要适当改进避免过早陷入局部最优解。在粒子群算法中, 也可以混合其他算法的思想, 如遗传算法的交叉变异等思想, 提高算法性能。
3 结语
【水电优化调度算法】推荐阅读:
水电控制系统优化分析06-06
从水土保持角度优化和控制水电工程设计09-25
水电调度08-03
优化调度策略07-15
协同优化调度06-04
水库优化调度08-30
动态优化调度09-18
功率优化调度10-29
水库防洪优化调度05-25
无功优化算法07-20