蔡家林,查海涛,单定军,莫 莉,高新稳
(1. 江西省电力公司柘林水电厂,江西 九江 332000;2. 华中科技大学水电与数字化工程学院,武汉 430074)
水电站机组组合问题是电力系统安全经济运行的重要组成部分,其目的是在满足各种约束条件下确定调度期(通常为24 h)内各时段的开机台数、台号,并进行开机机组间的最优负荷分配,从而使得电站的耗水量最小,获得最大的经济效益[1]。
目前,水电站机组组合问题的求解方法分为2类:一类是传统的解析法,包括动态规划法[2]、混合整数规划法[3]等;另一类是基于群体智能理论的智能算法,如遗传算法[4]、粒子群算法[5,6]等。动态规划法由于“维数灾”问题限制了其发展,混合整数规划法比较复杂,且计算量大,难以推广应用。新兴的智能算法计算速度快,优化效果好,且可采用二进制编码,适用于求解机组组合问题中的开启停机优化,在工程实践中得到了广泛的应用[4-7]。
和声搜索算法(HS)是Geem等[8]通过类比音乐和最优化问题的相似性而提出的一种现代启发式智能算法。由于该算法原理简单,可调参数少,且能够进行群体搜索和协同搜索,已在多维多极值函数优化、管道优化、土坡稳定性分析等问题中得到了广泛的应用[9]。针对HS收敛速度较慢,易陷入局部最优的缺点,本文提出了一种改进的二进制和声搜索算法(IBHS)应用于水电厂机组组合问题。采用计算精度较高的动态规划法进行机组间负荷分配,并且根据电厂的实际情况对开停机状况进行处理,使其更符合实际运行要求。实际计算结果表明:该算法收敛速度快,求解效果好,具有较强的工程实用性。
水电厂在给定周期内机组不同时段优化组合后耗水量最小的数学模型可以描述如下:
uti(1-ut-1i)Won,i+ut-1i(1-uti)Woff,i]
(1)
式中:W为电站总耗水量;Qti(Hti,Pti)为时段t第i台机组在工作水头为Hti、出力Pti时的发电流量;Δt表示时段长度;uti表示机组i在时段t的状态,0表示关机,1表示开机;Won,i,Woff,i分别表示第i台机组开机和停机过程的耗水量;N为水电站机组台数;T为调度期时段数。
(1)电站负荷平衡约束:
(2)
式中:PtD为电站t时段的总出力。
(2) 电站上游水位约束:
Zmin≤Z≤Zmax
(3)
式中:Z为电站的上游水位;Zmax和Zmin分别表示电站上游水位的上、下限。
(3)机组出力约束:
Pi,min≤Pti≤Pi,max
(4)
式中:Pi,max和Pi,min分别表示第i台机组的出力上、下限。
(4) 机组发电流量约束:
Qi,min≤Qti≤Qi,max
(5)
式中:Qi,min和Qi,max分别表示第i台机组的最小、最大发电流量。
(5) 电站运行水头约束:
Hmin≤H≤Hmax
(6)
式中:H是电站的运行水头;Hmin是电站最小稳定运行水头;Hmax是电站最大稳定运行水头。
(6) 旋转备用容量约束:
(7)
式中:PtSR是电站在t时段的旋转备用容量。
(7) 机组气蚀振动区约束:
(8)
(8)机组最小开停机时间约束:
Tti,on≤Tti,up或Tti,off≤Tti,down
(9)
式中:Tti,up和Tti,down分别为第i台机组的最小开、停机时间;Tti,on和Tti,off分别表示机组i在t时段末的开、停机持续时长。
和声搜索算法(HS)通过模拟音乐演奏的原理来进行最优化问题的求解,其包含2个主要参数,即和声记忆库考虑概率HMCR和基音调整概率PAR。对机组组合问题来说,和声表示调度期内所有机组的启停状态,算法流程如下[9]。
Step1:生成HMS(即和声库大小)个初始和声,并存入和声记忆库中。
Step2:产生一个新的和声,对每一时段每台机组的状态分别以概率HMCR在和声记忆库内进行选择, 以1-HMCR的概率在取值范围内随机选择;当该机组状态在记忆库内进行选择时,对其以概率PAR进行扰动。
Step3:比较新和声与记忆库中最差和声的耗水量,若新和声的耗水量小,则用新和声替换最差和声。
Step4:重复Step2和Step3,直到满足终止条件为止,输出最优和声。
针对水电站机组组合问题的特点,本文采用完全的二进制编码方式进行算法设计,以0-1变量模拟机组启、停状态。为了克服基本和声算法收敛速度慢、易陷入局部最优的缺点,从以下3个方面作了改进。
(1)基本和声算法的基音微调过程只适用于求解连续型优化问题,为使HS应用于机组组合优化问题,必须对其作出调整。与传统的取反或取整不同,本文根据全局最优和声进行基音微调,即如果新和声的某一机组状态来自于和声记忆库,并且需要扰动时,该状态不再从其邻域内搜索,而是从最优和声中获取[见式(10)]。这种方法利用全局最优和声指导算法进一步搜索,能有效提高算法的性能[10]。
(10)
式中:x′i,t为新和声的第i台机组在t时段的状态;hbi,t为最优和声的第i台机组在t时段的状态;rand()表示[0,1]区间内均匀分布的随机数。
(2)传统的和声更新策略经过若干次迭代后,和声记忆库中的耗水量较大的机组组合没有得到更新,而且只更新最差和声也不利于种群的进化,使得种群多样性降低[11]。为了避免算法陷入局部最优,提高和声记忆库的多样性,本文引入遗传算法中随机联赛选择的方法进行和声库的更新:每次迭代时,产生NHMS(即新和声库大小)个新的和声,对和声库中的HMS个和声与NHMS个新和声进行排序,取耗水量最小的前HMS个和声作为新的和声库。
(3)参数自适应调整。和声搜索算法的全局搜索能力和局部搜索能力分别由HMCR和PAR2个关键参数控制。HMCR小,随机生成新和声的概率变大,能提高和声库的多样性,而较大的HMCR有利于加快算法的收敛速度;较小的PAR使得和声库中的可行解快速向最优解聚集,而较大的PAR有利于跳出局部极值,提高算法的局部搜索能力[11]。因此,本文采用动态变化的HMCR与PAR,其中HMCR随迭代次数的增大而逐渐减小,PAR随迭代次数的增大而逐渐变大[见式(11)、式(12)]。这样算法在迭代初期能够快速收敛,而在迭代后期可避免陷入局部最优。
(11)
(12)
式中:k为迭代次数;K表示创作次数(或最大迭代次数)。
和声库中的每个和声可用TN的二维数组表示,对应水电站所有N台机组在T个时段内的启停状态,即:
(13)
式中:U表示和声库中的和声;uti表示第i台机组在第t个时段的运行状态,uti=0表示停机,uti=1表示开机。
(1)系统备用容量修复策略。对于随机初始化和新产生的和声,可能在某个时段不满足系统备用容量约束。因此,本文采用一种基于机组启停优先顺序的启发式修复策略[5]:首先根据各机组的平均满负荷耗流量值α由小到大排列建立机组启、停优先顺序表,α越小,机组越优先开机;α越大,机组越优先停机。从第1个时段开始,检查各个时段是否违反系统备用容量约束,若是则按机组优先顺序从高到低依次将未开机的机组投入运行,直到满足约束为止。
(2)最短开停机时间修复策略。经过系统备用容量修复后,机组的启停状态可能还不满足最短开停机时间约束。为解决此问题,本文选择一种开机修复策略,即只调整停机机组的状态,防止系统备用容量约束遭到破坏:计算所有机组的开停机持续时间,对每台机组遍历其所有时段,将不满足最小开机时间的机组状态设为1。
(3)去除多余机组策略。前2种修复策略完成之后,机组组合已经满足系统备用容量约束和最小开停机约束,但因为只是开机修复,不可避免地会存在冗余机组的情况,导致某一时段的负荷分配结果不是最优。为此,本文采取去除多余机组的修复策略:从第1个时段开始,按照机组优先顺序由低到高对开机机组进行判断,如果机组停机不违反系统备用容量约束和最短开停机时间约束,则可将此机组停机;遍历所有开机机组,将多余机组停运。重复上述步骤,直到最后一个时段。
已知机组开停机状态,如何在给定时段内合理地进行固定机组间的最优负荷分配,是厂内经济运行中的空间最优化问题。本文采用“以电定水”的优化准则,通过动态规划法计算出所有水头H及出力N组合下的最优负荷分配方案,制做水电厂空间最优负荷分配表,并保存到数据库中备用[13,14]。详细步骤可参考文献[1]。
将改进二进制和声搜索算法(IBHS)应用于水电厂机组组合问题,求解步骤如下。
Step 1:设置和声搜索算法基本参数HMS、HMCR、PAR、NHMS、K;输入机组特性参数、机组初始启停状态以及日负荷曲线。
Step 2:随机初始化和声库HM,并根据3.2节的修复策略进行修复。
Step 3:查询最优负荷分配表,求得每个和声对应的目标函数值(总耗水量),并保存最优和声;设定当前迭代次数k=1。
Step 4:按照规则,生成NHMS个新的和声;对每个和声进行修复,然后通过查询最优负荷分配表的方法求得所有时段下不同机组组合的负荷分配情况及总耗水量。
Step 5:将和声库中HMS个和声与新产生NHMS个和声合并,进行随机联赛选择,将耗水量小的前HMS个和声存入和声库中,并更新最优和声。
Step 6:判断当前迭代次数是否超过最大迭代次数K,是则停止迭代,输出最优和声;否则令k=k+1,转至Step 4。
算法流程图见图1。
图1 IBHS应用于水电厂空间优化运行问题的流程Fig.1 The flow chart of IBHS applied to economic operation problem
为验证本文所提改进二进制和声算法(IBHS)的有效性,将其应用到柘林水电厂的机组组合优化问题中,并与改进的二进制粒子群算法[5](IBPSO)进行对比分析。
柘林水电厂总装机420 MW,其中A厂4×45 MW,B厂2×120 MW,年发电量6.9 亿kWh,在电网中主要承担调峰和事故备用。由于柘林水电厂自身的特点,其机组组合优化问题存在一定的特殊性,包括:①6台机组在出力较小的情况下运行时,稳定性较差,特别是B厂的大机组,其80%出力以下范围都处于气蚀振动区;②机组的启停状态变化需要考虑一些实际情况,由于A、B 2厂安装高程的不同,B厂的大机组在开、停机时必须要有A厂一台小机组运行。
选择柘林水电厂2015年某日24个时段实际发电过程为例进行机组组合优化计算,其出力过程见图2。同时,设置A厂4台小机组最小开停机持续时间为2 h,B厂2台大机组最小开停机持续时间为4 h,电站上游初始水位为64.17 m。
算法参数设定:HMS=30 个,NHMS=20 个,HMCRmax=0.99,HMCRmin=0.7,PARmax=0.5,PARmin=0.05,K= 200。
在初始条件相同的情况下,分别采用IBHS和IBPSO 2种算法对机组组合优化模型进行计算,求得最优解的各时段机组负荷分配结果、耗流量(见表1),IBHS的详细出力过程见图3。
图2 某日的实际出力过程Fig.2 The actual output process of a day
另外,由于柘林水电厂机组台数较少,每个时段只有26=64种机组组合情况,故本文又采用动态规划法(DP)对上述结果进行验证。DP结果与IBHS的最优解相同,这里不再列出。从理论上而言,动态规划算法在计算机组空间负荷最优分配表时,所设定的机组出力步长越小,则计算效果越好。
表1 IBHS和IBPSO求解机组组合的计算结果Tab.1 The results of unit commitment using IBHS and IBPSO
由表1可知,IBHS与IBPSO各个时段发电流量过程基本相同,表明采用 IBHS求解厂内经济运行问题是可行的。并且,各时段机组出力满足负荷平衡约束和旋转备用容量约束;各台机组出力较大,未落入气蚀振动区;各机组时段之间满足最小开停机时间约束,计算结果合理。
图3 1号~6号机组的负荷分配结果Fig.3 Load dispatch results of units 1 to 6
表2给出了IBHS和IBPSO所求的最优耗水量、平均计算时间与柘林水电厂当日实际发电耗水量。由表2的数据可以看出,IBHS所得最优耗水量为51.432×106m3,优于IBPSO的结果;而柘林水电厂当日实际耗水量为52.999×106m3,与之相比,IBHS耗水量下降1.521×106m3,约占当日耗水量的2.87%,优化效果明显。在计算时间方面,由于所选取算法都是基于水电厂机组空间最优负荷分配表进行计算,因此,表2所显示的计算时间仅为机组组合中的时间最优化过程所需时间,水电厂机组空间最优负荷分配表的计算时间并未计算在内。IBHS 的平均计算时间为2.62 s,IBPSO的平均计算时间为4.32 s,耗时下降39%,在计算速度上更具优势。
表2 各方法计算结果比较Tab.2 Comparison of the calculated results
由以上分析可知,IBHS应用于水电站机组组合优化求解,有效改善了计算结果,降低了电站的发电耗水量,提高了水能利用率,可给水电站带来巨大的经济效益。
本文提出了一种改进的二进制和声搜索算法(IBHS),并结合动态规划算法应用于水电厂机组组合问题。采用二进制编码方式模拟机组启停状态,改进了更新和声记忆库的方法,并利用启发式修复策略处理旋转备用容量约束和最小开停机时间约束;由动态规划法制作最优负荷分配表,通过查表的方法进行固定机组之间的负荷分配。实际计算结果表明,IBHS在优化效果和计算速度方面相比于改进二进制粒子群算法(IBPSO)具有一定的优势,且最优耗水量比实际耗水量降低2.87%,能有效提高水电厂的经济效益。
□
[1] 张勇传.水电站经济运行原理[M]. 2版.北京:中国水利水电出版社,1998.
[2] 李 丹,陈森林,张祖鹏. 水电站厂内经济运行模型研究[J]. 中国农村水利水电,2009,(8):148-150.
[3] 依俊楠, 刘 攀, 徐小伟,等. 基于混合整数线性规划模型的水电站日优化调度研究[J]. 水电能源科学, 2011,29(7):33-35.
[4] 王 黎, 马光文. 基于遗传算法的水电站厂内经济运行新算法[J]. 中国电机工程学报, 1998,(1):64-66.
[5] 王永强, 周建中, 覃 晖,等. 基于改进二进制粒子群与动态微增率逐次逼近法混合优化算法的水电站机组组合优化[J]. 电力系统保护与控制, 2011,39(10):64-69.
[6] 周佳佳,杨 侃,邓丽丽. 基于粒子群算法的水电站厂内经济运行新算法[J]. 中国农村水利水电,2014,(6):141-145,149.
[7] 吉 鹏, 周建中, 张 睿,等. 改进量子进化混合优化算法在溪洛渡电站机组组合中的应用研究[J]. 电力系统保护与控制, 2014, 42(4):84-91.
[8] Zong W G, Kim J H, Loganathan G V. A new heuristic optimization algorithm: harmony search[J]. Simulation Transactions of the Society for Modeling & Simulation International, 2001,76(2):60-68.
[9] 雍龙泉. 和声搜索算法研究进展[J]. 计算机系统应用, 2011, 20(7):244-248.
[10] Omran M G H, Mahdavi M. Global-best harmony search[J]. Applied Mathematics & Computation, 2008,198(2):643-656.
[11] 张康丽, 陈寿元, 邵增珍. 和声搜索算法的改进[J].人工智能与机器人研究, 2015,4(4):32-39.
[12] 韩红燕, 潘全科, 梁 静. 改进的和声搜索算法在函数优化中的应用[J]. 计算机工程, 2010,36(13):245-247.
[13] 王 超, 周建中, 王 浩,等. 金沙江下游梯级电站中长期调度精细化出力计算方法[J]. 水电能源科学, 2016,34(5):55-59.
[14] Mo L, Lu P, Wang C, et al. Short-term hydro generation scheduling of Three Gorges-Gezhouba cascaded hydropower plants using hybrid MACS-ADE approach[J]. Energy Conversion and Management, 2013,73(12):260-273.