电力系统短期负荷预测关系到电力系统的平稳调度。负荷预测的精度直接影响到电力系统的经济性和稳定性,智能电网对负荷预测的实时性要求也越来越高。因此,国内外学者一直将短期电力负荷预测作为研究重点。人工神经网络是一种智能算法,其在各种领域都有广泛的应用。近年来专家学者也将人工神经网络应用到了短期电力负荷预测中。在负荷预测算法中,使用最多的是 BP 神经网络。本文通过对人工蜂算法(ABC)进行改进,以提高人工蜂算法的预测精度及全局收敛性,用改进后的人工蜂算法优化BP神经网络,即ABC-SA电力负荷预测模型。最后通过仿真实验预测值与真实值比较,验证本文方法的有效性。 短期电力负荷预测(Short-term load forecasting,STLF)主要是指对未来若干小时、1天至几天的电力负荷预报,作为安排发购电计划,经济分配负荷及安排机组出力的基础,精准的负荷预测是保证电网安全可靠运行的前提条件【1】。随着科技以及计算机技术的发展,电力负荷预测的相关技术也在不断进布,目前国内外研究短期负荷预测的方法,大体上有传统的基本的分析预测方法以及灰度预测、回归分析和神经网络等智能预测算法【2,3】。人工蜂算法是只能算法的一种,该算法一经提出,由于其结构简单易实现、性能优越,越来
越多研究人员对其进行研究。人工蜂算法虽然优秀,但是其存在很多优化算法都存在的缺点——容易陷入局部最优。
人工蜂到算法后期,侦察蜂多次迭代后,又转换为极值点的采蜜蜂,导致搜索能力减弱,甚至陷入局部最优。于是本文采用模拟退火算法对人工蜂算法进行改进,称为ABC-SA算法,它作用是维持优良解,在采蜜蜂阶段和观察蜂阶段扩大蜜蜂的搜索范围,从而提高收敛速度。并将该算法用到优化BP神经网络的训练中,使用优化后的神经网络对电力负荷进行预测。
1.人工蜂算法及其改进
1.1人工蜂算法原理神经网络预测
在人工蜂优化算法中,类比生物学的机理,同样包含三个基本的组成要素:蜜源,雇佣蜂,非雇佣蜂【4】。 蜜源:在不同的优化算法中,可行解都是以一定形式给出的,在人工蜂算法中,蜜源即是其可行解,它的生物学机理上的价值是由蜜源的远近,花蜜的多少,花蜜的优劣决定的,
在人工蜂算法中蜜源的价值是由参数收益率来决定的。
雇佣蜂:即是生物学机理中的采蜜工蜂,也称为引领蜂,它和蜜源的个数一一对应,它们通过跳摇摆舞的方式向其他工蜂传递蜜源的信息,如蜜源的远近,蜜源花蜜的多少优劣,当蜜源价值越高,它能引领的其他工蜂就越多。
非雇佣蜂:即是生物学机理中的待工蜂,这里将待工蜂细分为跟随蜂和侦察蜂。跟随蜂在蜂巢里等待引领蜂向其传递蜜源信息,并根据贪婪算法进行选择自己的跟随对象。侦察蜂的任务是随机的在蜂巢附近搜索新的蜜源,当一个引领蜂到的蜜源很久没有工蜂跟随,在人工蜂算法里即为超过 limit 次数,此时它将转变为新的侦察蜂去寻新的蜜源。人工蜂优化算法的主要步骤如下:
步骤1,先建立一个BP神经网络。
步骤2,初始化人工蜂优化算法的各个参数。包括工蜂的总数(),引领蜂的个数(),解的个数(SN)即蜜源的个数等于引领蜂的个数,跟随蜂的个数(),最大循环次数(MCN),最大极限次数(limit),并产生D维的初始解(i = 1,2,…,)。这里D维的初始解(i = 1,2,…,))即为步骤1里的BP神经网络的权值和阈值,维数D满足以下公式:
(1)
其中:分别是输入层、隐含层、输出层的神经元个数。
示输入层到隐含层的阈值和权值,
表示隐含层到输出层的阈值和权值。
蜜源初始化时,随机生成SN个可行解(等于雇佣蜂的数量)并计算适应度函数值。随机产生可行解的公式如下:
(2)
式中,i=1, 2, . . . , SN)即为随机生成的初始解,其为D维向量,D为问题的维数就是优化参数的个数,j∈{1, 2, … , D}。
步骤3,计算并评估每个初始解的适合度值。公式如下:
(3)
式中:i =1,2,…,,表示第i个解的BP神经网络均方误差。由公式可知,当的值为0时即适应度值为1时为最优解。
步骤4,引领蜂按照公式(4)搜寻新的蜜源即新的解。在发现新的解时,引领蜂计算新解的适应度值并与旧解的适应度值进行比较。引领蜂通过贪婪算法进行选择,当新解的适应度值更大时,更新蜜源信息,否则将更失败次数加1。
搜索新的蜜源的公式为:
(4)
式中,j∈{1,2, … ,D},k∈{1,2, …,SN},k为随机生成且k≠i,为[-1,1]之间的随机数。
步骤5,跟随蜂根据公式(5)计算概率,对引领蜂进行选择。跟随蜂根据引领蜂的蜜源信息进行概率计算,选择适应度值大的蜜源前去采蜜,并在蜜源附近通过公式(4)继续搜寻新的蜜源,即为在原解的邻域中搜索新的解。
跟随蜂选择概率:
(5)
式中,为第i个解的适应值,解的适应值即代表了蜜源的优劣,蜜源越好,fit 值越大,就意味着跟随蜂选择的几率就越大,即最优解就越容易被发现。
步骤6,如果某一蜜源的更新失败次数大于了预设的limit值,说明该蜜源陷入局部最优,则放弃该蜜源并且与之对应的引领蜂转为侦察蜂,使用公式(2)产生新的蜜源。
步骤7,保存到目前为止最优蜜源即最优解。
步骤8,判断迭代次数是否大于预设的最大循环次数(MCN),如果大于,则结束训练,否则返回步骤4继续进行迭代。
1.2人工蜂算法的改进
通过以上对人工蜂算法的简单描述,可以看出到算法后期,侦察蜂多次迭代后,又转换为极值点的采蜜蜂,导致搜索能力减弱,甚至陷入局部最优。所以,本文使用模拟退火算法优化对人工蜂算法进行改进。模拟退火算法是来源于固体退火原理其主要优点在于能够利用高温时粒子的无序性, 有效地避免陷入局部最优解。本文将该机制引入人工蜂算法当中, 即当新食物源收益率低于当前食物源时, 仍然以一定的概率接受新食物源。模拟退火中退火温度T决定了蜜蜂接受低收益率食物源的概率, 温度越高,接受低收益率食物源越大,温度越低则越小, 因此在算法迭代初期, 退火温度应该较大, 进而让算法趋于全局搜索, 迭代后期,温度应该越来越小, 进而让算法趋于局部重点搜索, 加快算法收敛。具体操作如下。
采蜜蜂阶段和观察蜂阶段在选择新蜜源的时候使用模拟退火机制进行判断。
(1)计算新蜜源与旧蜜源的适应度差值;
(2) 若,则接受新蜜源,否则当成立时,则接受新蜜源;
(3)利用退火公进行退火操作。
改进后的狼算法称为ABC-SA算法,算法流程图如图1所示。
2.ABC-SA负荷预测模型
多层神经网络的非线性学习能力很强,在电力负荷预测方面应用广泛,但是也存在很多缺点。本文针对BPNN的缺点,将人工蜂算法和模拟退火算法相结合,优化BP神经网络的相关参数,即使用ABC-SA负荷预测模型提高预测精度。人工蜂与模拟退火共同优化BP神经网络的过程如下。
(1)初始化 BP 网络。包括确定网络层数,各层节点数等;初始化ABC-SA算法参数,初始化蜜蜂种并设置参数: ①蜜蜂总数Nx;蜜源数1/2Nx ②最大迭代次数 max Cycle;③最大搜索次数limit,初温 T 及退火速率λ;
(2)采蜜蜂搜索新蜜源,计算适应度值,并使用模拟退火机制判断是否选择新的蜜源。
(3)观察蜂转换为才密封,搜索蜜源,并根据模拟退火机制判断是否保留蜜源。
(4)在侦察蜂阶段判断迭代次数,如果已经达到迭代次数,且蜜源没有更新,则放弃该蜜源,随机搜索新蜜源,否则继续迭代。
3.仿真实验
实验选用某市连续一整年每天的最大电力负荷作为训练样本,对第二年的7月份31天每天的最大负荷进行预测。每次预测都使用预测当日前一天的真实值代替预测值。分别使用BP神经网络和ABC-SA神经网络进行训练和预测,图2为7月份的预测结果与真实值对比图。
图 2 两种模型负荷预测值对比图
表1给出了经典BP模型、ABC-SA模型各自的负荷预测结果及相对误差。表2给出了两种模型的相对误差对比分析表。
表1 两种预测模型预测结果对比表
日期 | 实际值(MW) | BP模型 | ABC-SA模型 |
预测值(MW) | 相对误差(%) | 预测值 (MW) | 相对误差(%) |
1 | 751 | 770 | 2.3 | 766 | 2.0 |
2 | 703 | 741 | 5.4 | 725 | 3.1 |
3 | 677 | 693 | 2.4 | 689 | 1.8 |
4 | 720 | 745 | 3.5 | 740 | 2.8 |
5 | 735 | 790 | 7.5 | 770 | 4.8 |
6 | 710 | 734 | 3.4 | 732 | 3.1 |
7 | 744 | 761 | 2.3 | 758 | 1.9 |
8 | 748 | 767 | 2.6 | 762 | 1.9 |
9 | 734 | 754 | 2.7 | 750 | 2.2 |
10 | 679 | 721 | 6.1 | 713 | 5.0 |
11 | 748 | 778 | 4.0 | 766 | 2.4 |
12 | 738 | 755 | 2.3 | 752 | 1.9 |
13 | 756 | 801 | 6.0 | 780 | 3.2 |
14 | 764 | 791 | 3.5 | 782 | 2.4 |
15 | 752 | 770 | 2.4 | 767 | 2.0 |
16 | 738 | 762 | 3.3 | 755 | 2.3 |
17 | 699 | 710 | 1.6 | 704 | 0.7 |
18 | 781 | 811 | 3.8 | 801 | 2.6 |
| | | | | |