APP下载

基于二进制和声粒子群算法的电站经济运行问题研究

2018-11-19,,,,,

长江科学院院报 2018年11期
关键词:机系统搜索算法二进制

,,, , ,,

(1.华中科技大学 水电与数字化工程学院,武汉 430074;2.国家电网公司 华中分部,武汉 430077)

1 研究背景

电站机组组合(Unit Commitment,UC)问题是电力系统编制短期发电计划要解决的重要问题,主要涉及大型水、火电站机组的经济运行。从数学角度上来说是一个高维、非凸、离散、非线性的优化问题,其目的是在满足系统约束和机组约束的情况下,确定一个调度周期(通常为24 h)内各时段机组的启停状态和机组出力,使系统总的发电运行费用最低[1-2]。

电站机组组合包含离散的机组启停状态变量和连续的机组出力变量,且需要处理复杂的时段关联型约束,求解十分困难,但由于其潜在的经济效益,国内外学者一直在积极研究,至今涌现出各种优化算法。传统优化方法包括动态规划法[3]、混合整数规划法[4]、拉格朗日松弛法[5]等。这些方法虽简单快速,但存在公认的一些问题:动态规划法处理最小开停机时间约束和爬坡约束较为困难,且随着系统规模的扩大存在“维数灾”问题;混合整数规划法比较复杂,计算量大,必须对实际问题进行分解,难以推广应用;拉格朗日松弛法在求解过程中可能会出现振荡或奇异现象,收敛速度慢,难以处理爬坡约束[1]。随着计算机和人工智能技术的发展,智能优化算法越来越多地应用到机组组合优化问题上,如遗传算法[6]、粒子群算法[2,7]、差分进化算法[8]、万有引力算法[9]等。智能算法对目标函数性态没有特殊要求,比较灵活,但随机性较强,易陷入局部最优,且其本质上属于无约束优化算法,需要设计合理有效的方法处理约束条件[10]。

和声搜索算法[11](Harmony Search, HS)是一种全局启发式智能优化算法,由于该算法概念简单,涉及参数少,在工程、能源、医疗等领域有着广泛的应用[12]。针对组合优化问题,Zou等[13]提出一种新颖的全局和声搜索算法(NGHS),将位置更新和变异操作引入算法框架,以提高算法的搜索能力;Wang等[14]提出一种自适应二进制和声搜索算法(ABHS),通过自适应调整策略提高算法的寻优性能和鲁棒性。然而,这些算法仍存在收敛速度慢、易陷入局部最优的缺陷。为此,本文基于机组组合问题的特点,融合和声搜索算法与粒子群算法,取长补短,提出了一种二进制和声粒子群算法(BHSPSO)。采用二进制编码方式模拟机组启停状态,通过启发式调整策略处理复杂时段关联约束条件,并利用迭代法求解经济负荷分配(Economic Load Dispatch,ELD)问题。对10机至100机系统的仿真计算,验证了本文算法的可行性与有效性。

2 电站机组组合优化模型

2.1 目标函数

电站机组组合问题是电站经济运行内容之一,其目标函数是在满足各种约束条件下使总的发电运行费用最低,即

式中:F为总的发电运行费用,其中包括发电成本FCn、开机成本SUCn和停机成本SDCn,停机成本通常忽略不计;N为机组台数;T为总时段数;Un,t为机组n在t时段的状态,0表示停机,1表示开机。机组的发电成本可用一个二次函数表示,即

(2)

式中:Pn,t为机组n在t时段的出力;αn,βn,γn为机组n发电成本函数的参数。

机组开机分为热启动和冷启动2种情况,其开机成本不同,即

(3)

2.2 约束条件

机组组合问题的约束条件一般包括系统约束和机组约束。

(1)功率平衡约束:

(4)

式中PDt为t时段的系统负荷。

(2)旋转备用约束:

(5)

式中SRt为t时段系统的备用容量。

(3)机组出力上、下限约束:

(6)

(4)最小开停机时间约束:

(7)

式中:Tonn和Toffn分别为机组n的开、停机持续时间;Tupn和Tdownn分别表示机组n的最小开、停机时间。

(5)机组爬坡约束:

(8)

式中URn和DRn分别表示机组n出力上升、下降的限值。

3 二进制和声粒子群算法

3.1 基本和声搜索算法

和声搜索算法(HS)是Geem等[11]于2001年提出的一种启发式全局搜索算法,通过模拟乐师们反复调整乐器以达到美妙和声的音乐即兴创作过程对优化问题进行迭代求解。HS包含4个关键参数,即和声记忆库大小HMS、记忆库取值概率HMCR、音调微调概率PAR以及创作次数NI,算法主要流程如下。

Step 1:随机生成HMS个和声,并保存在和声记忆库中。

Step 2:即兴创作,产生一个新的和声x′,对x′的各个分量分别以HMCR的概率在和声记忆库中选择,以1-HMCR的概率从其取值范围中随机选取,见式(9)。当从和声记忆库中选择时,以PAR的概率进行音调微调,见式(10)。

Step 3:判断x′是否优于和声库中的最差和声,若是,则将其替换。

Step 4:重复Step 2与Step 3,直到满足终止条件。

Step 5:输出最优和声。

(9)

(10)

式中:Xi为第i个分量的取值范围,i∈[1,N],N为和声的维数;rand()为[0,1]区间内均匀分布的随机数;bw为音调微调带宽。

由上可知,HS的核心在于即兴创作过程,如何根据具体问题设计新和声的生成策略显得尤为关键。为有效求解机组组合问题,本文采用二进制编码方式,以0和1变量表示机组的开停机状态,改进了原有算法的即兴创作过程,下面进行详细介绍。

3.2 二进制和声粒子群算法

HS是基于邻域搜索的,音调微调是其进行局部搜索的关键,但音调微调只能用于求解连续型优化问题,对离散型优化问题并不适用。受群体智能(Swarm Intelligence,SI)的启发,Omran和Mahamed[15]提出了一种全局最优和声算法(GHS),在音调微调时将全局最优和声的某一分量赋值给新的和声,即

本质上,HS是一种随机搜索算法,新和声的每一分量要么从和声库中搜索,并进行微调,要么直接随机选择。由于缺乏先验知识的指导,即兴创作盲目性较大,和声库的更新没有方向性,因此算法的收敛速度缓慢,所需的迭代次数较多。而粒子群算法中,粒子可根据历史经验与信息共享机制,同时利用个体极值和全局极值来调整自己的位置,具有较快的收敛速度。

据此,本文在ABHS的基础上,融合粒子群算法与和声算法,提出了一种二进制和声粒子群算法(BHSPSO)。算法引入粒子群算法的速度和位置更新公式替代从和声记忆库中选择的过程,并利用全局最优和声实现音调微调。与粒子群算法不同,BHSPSO每次迭代时需要对和声库进行排序,且新的和声会替换掉较差和声,每个和声的位置并不固定,因此,算法对速度更新公式做了调整,去掉其中个体极值的部分,即

(13)

式中:w为惯性因子;cg为学习因子;gid为全局极值;vid为和声i第d维变量的速度;k为迭代次数;xid为和声i第d维变量的取值,xid∈{0,1}。

二进制粒子群算法一般采用sigmoid函数计算粒子的位置,但这样会缺少局部收敛和局部探测性,因此,和声的位置更新公式采用刘建华[16]提出的概率映射函数,即:

(14)

4 BHSPSO在机组组合中的应用

4.1 和声编码方式

设机组台数为N,调度时段为T,机组开停机状态可用一个行数为N列数为T的二维矩阵表示,即

4.2 机组优先顺序

传统的机组优先顺序是根据机组的平均满负荷费用值μn由低到高排序得来的,它反映了机组满负荷情况下的平均发电成本。然而当机组不在其额定功率附近运行时,按μn作为机组优先顺序指标显得不够经济。因此,本文采用比重πn作为机组优先顺序的指标[17],同时考虑机组最大出力与平均满负荷费用值的影响,πn越大,机组优先顺序越高,越优先开机;πn越小,机组优先顺序越低,越优先停机,见式(18)。

式中:μn为平均满负荷费用值;πn为比重;σ1,σ2为比重系数。

4.3 旋转备用修复

对于随机初始化的和声与产生的新和声,首先要进行旋转备用约束处理,即按照机组优先顺序依次将停机机组开机,直到满足约束为止。具体流程如下。

Step 1:令t= 1。

Step 2:判断t时段是否满足旋转备用约束。若满足转至Step 5,否则转至Step 3。

Step 3:将t时段所有未开机的机组按照优先顺序从高到低存入List集合中。

Step 4:移除List中第1个机组,使其开机,判断此时是否满足旋转备用约束。若满足,转至Step 5,否则重复此步骤。

Step 5:若t

4.4 最小开停机时间修复

旋转备用约束修复完成之后,紧接着要进行最小开停机时间约束的处理。本文设计了一种“开-停-开”的修复策略,在保证旋转备用约束不被破坏的前提下,使机组组合满足最小开停机时间的要求。

(1)第一步,只允许开机,步骤如下。

Step 1:按照式(19)计算机组开停机持续时间。

Step 2:令t=1。

Step 3:令n=1。

Step 7:若n

Step 8:重新计算所有机组的开停机持续时间。

Step 9:若t

(2)第二步,只允许停机,在满足旋转备用约束的前提下去除冗余机组,步骤如下。

Step 1:令t=1。

Step 2:将t时段所有开机机组按照优先顺序从低到高存入List集合中。

Step 4:若List为空,转至Step 5,否则转至Step 3。

Step 5:重新计算所有机组的开停机持续时间。

Step 6:若t

(3)第三步,只允许开机,确保最小开停机约束满足要求,步骤同第一步。

最小开停机时间约束修复过程如图1所示。

注:数字下加横线的代表修改了原来的状态(与上一行相比)

图1最小开停机时间约束修复示意图
Fig.1Schematicdiagramofrepairingtheconstraintsofminimumpower-ontimeandpower-offtime

至此,旋转备用约束与最小开停机时间约束全部修复完成,即可确定所有机组在每个时段的启停状态,进行经济负荷分配。本文采用λ迭代法计算,详细步骤可参考文献[18]。

4.5 算法流程

综上,BHSPSO应用于机组组合问题的具体流程如下。

Step 1:初始化和声库,即随机产生HMS个和声的速度和位置。

Step 2:采用启发式调整策略修复和声,进行经济负荷分配,求得每个和声的总发电费用,并保存最优和声。

Step 3:开始产生新的和声,令n=1。

Step 4:对新和声的每一分量,随机选择和声库中的某一和声作为母体,利用式(13)计算其速度,若rand() < HMCR,根据式(14)—式(16)计算其位置,并以PAR的概率按照式(12)进行微调;否则随机选择0或者1作为位置。保存速度和位置,产生一个新的和声。

Step 5:判断n是否小于NGC,若是则n=n+1,返回Step 4继续生成新的和声;否则转到Step 6。

Step 6:对新生成的NGC个和声进行修复,并计算其总发电费用。

Step 7:将和声库中与新产生的共(HMS+NGC)个和声按照总发电费用由低到高排序,取前HMS个和声作为新的和声库,并更新最优和声。

Step 8:判断迭代次数是否满足,若是则输出最优和声;否则返回Step 3,继续迭代。

算法流程如图2所示。

图2BHSPSO算法流程
Fig.2FlowchartofBHSPSO

5 算例分析

为验证本文所提算法的有效性,分别对10机、20机、40机、60机、80机、100机系统进行24时段仿真计算,其中10机系统的机组特性数据和负荷数据参见文献[9],其余系统数据均由10机系统复制而来。旋转备用容量取10%的时段负荷。计算时未考虑爬坡约束。

算法参数设置:HMS=30,NGC=20,NI=500,HMCR=0.95,微调概率随迭代次数的增加呈线性增长[19],PARmax=0.5,PARmin=0.01。

采用Java编程,程序及详细计算结果见Github(https://github.com/gaoxinwen/unit_commitment)。计算机CPU型号为 Intel(R) Core(TM) i7-6700HQ @ 2.60 GHz,内存为8 GB。

本文分别对10机至100机系统标准算例进行20次独立计算,统计出每种情况下的最优解、最差解、平均值与标准差,列于表1。另外,选择了与QBPSO[20],IQEA-UC[21],GSA[9]3种算法进行对比分析。

由表1可知,当机组台数较少时,4种方法计算结果相差不大,GSA稍优于其他3种算法。但当机组台数达到60台及其以上时,BHSPSO无论是最优解还是平均值都优于其他3种算法。100机系统时BHSPSO求得的平均值只有5 600 543美元,显著降低了总的发电成本。10机和20机系统情况下每次计算结果相同,分别为563 938美元和1 123 298美元;当机组数目增多时,BHSPSO的标准差也低于QBPSO,表明该算法具有很强的鲁棒性。

图3为BHSPSO的收敛曲线,可见其收敛速度很快,特别是10机组情况下10代左右就可快速收敛至最优解。另外,将自适应二进制和声搜索算法(ABHS)应用于100机系统,图4为ABHS与BHSPSO的收敛曲线。由图4可知,ABHS计算出的总发电成本较高,收敛速度缓慢;而BHSPSO优化效果较好,且收敛速度快,100代左右即可收敛。由此可见,BHSPSO有较强的全局搜索能力和较快的收敛速度。

表1 4种算法的计算结果比较Table 1 Comparison of computation result among four methods

图3 不同机组台数下BHSPSO的收敛曲线Fig.3 Convergence curves of BHSPSO in the presence of different unit numbers

图4ABHS与BHSPSO的收敛曲线(100机)
Fig.4ConvergencecurvesofABHSandBHSPSOfor100unitssystem

图5为不同机组台数下的计算耗时。从图5中可以看出,随着机组台数的增多、系统规模的扩大,BHSPSO计算耗时呈线性增长,避免了“维数灾”的产生。

图5不同机组台数下BHSPSO的计算耗时
Fig.5ExecutiontimeofBHSPSOinthepresenceofdifferentunitnumbers

6 结 语

针对含有复杂时段关联约束条件的电站机组组合问题,本文提出了一种二进制和声粒子群算法(BHSPSO)。该算法首先根据粒子群算法的速度和位置更新公式改进和声记忆库的选择策略,充分利用群体全局信息指导搜索;然后采用基于机组优先顺序的启发式修复策略进行约束处理,有效提高了算法的收敛速度与求解质量。通过对10机至100机系统的仿真测试,结果表明该算法收敛速度快,鲁棒性强,求解效果好,能够避免“维数灾”的产生,为水火电站经济运行提供了新的思路与求解途径。

猜你喜欢

机系统搜索算法二进制
用二进制解一道高中数学联赛数论题
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
有趣的进度
二进制在竞赛题中的应用
手持式触摸测试机对闸机系统的维护研究
二进制宽带毫米波合成器设计与分析
经济、可靠的自动开关机系统
京石高速公路自助发卡机系统的设计与应用
基于逐维改进的自适应步长布谷鸟搜索算法