基于谐波特征和BSA优化的非侵入式负荷识别算法研究

2022-11-10 06:11薛博水赵四洪
关键词:用电器模拟退火二进制

薛博水,陈 杰,赵四洪,陈 楠

(1.昆明供电局,云南 昆明 650000; 2.国网安徽省电力有限公司 太和县供电公司,安徽 阜阳236000;3.昆明理工大学 电力工程学院,云南 昆明 650000; 4.国家广播电视总局五〇一台,云南 昆明 650000)

0 引 言

智能电网技术的快速发展使得基于智能电表的电力负荷监控系统逐渐形成[1-3].这类系统可以实时监控电网中每个电气设备的功耗情况,为调度人员决策行动提供根本依据的同时,也方便电力用户进行能耗管理[4].目前,对电器设备监测的主要方法有侵入式负荷识别方法和非侵入式负荷识别方法[5-7].传统的侵入式负荷识别方法需要在每个负荷上安装带有通信功能的传感器,该方法的优点是监测精度高,但是其安装成本高昂,且需要入户安装,一定程度上对用户的隐私造成了侵犯,难以推广[8-10].非侵入式负荷监测技术(Non-Intrusive Load Monitoring, NILM)是由美国学者Hart在1992年提出的,这种方法只需要在用户入口处安装一个监测装置,就可以实现对各设备电量数据的实时监控[11-14].非侵入式负荷监测技术具有硬件安装成本低、用户干扰性低、安装维护方便等优点,具有较高的研究价值和广阔的市场前景.

Hassan 等[15]通过将电压-电流曲线量化分析作为负荷特征,所获取的识别准确率较高,但电压-电流轨迹量化过程较为复杂,且对应不同特征的量化准确性存在一定差异.张玉天等[16]将电流波形作为负荷识别特征,利用卷积神经网络(Convolution Neural Network, CNN)作为分类器,对用电器运行时的电流信息二维图像进行分析识别,虽然提升了精准度,但计算量过大,识别速度较慢.任文龙等[17]采用深度学习翻译模型对负荷进行分解,但其对计算平台要求较高,难以推广.近期业内研究表明,稳态监测过程中,通过傅里叶分解建立负荷特征库,将电气参数分解为有功分量与无功分量,以此构建双目标函数,能够解决由于高谐波电流影响小、求解参数少引起监测误差的问题.

近年来,使用前馈神经网络、支持向量机、深度神经网络来实现非侵入式负荷识别目标的非侵入式负荷识别方法被提出.它需要事先对已知的样本集进行训练,这对负荷识别速度及实际应用有一定的影响.

基于谐波特征的非侵入式电力负荷分解方法突破了之前只能对电力负荷进行功率总量监测的现状,将功率监测深入细化到负荷内部各主要用电设备中.模拟退火算法是一种具备优化能力的概率算法,其原理依据是固体退火时能避免陷入局部最优的优势.

本文在分析负荷稳态工作时的谐波功率特征基础上,提出一种基于谐波特征以及二进制模拟退火算法(Binary Simulated Annealing,BSA)的非侵入式负荷识别算法.首先,提取负荷的谐波特征构建负荷特征库;然后通过构建相应的负荷识别目标函数并建立负荷识别优化模型,从而将负荷识别问题转换为优化模型的求解问题;最后,使用二进制模拟退火算法对该优化模型进行求解.仿真表明,该算法可实现对家用电器负荷进行快速准确识别,且计算量较小.

1 负荷谐波特征

家庭用户中,用电负荷之间为并联运行关系,其入口侧的总功率为各负荷功率之和且负荷之间无相对影响[18-19].根据傅里叶变换,可以将负荷运行时的有功功率及无功功率进行分解,如式(1)~(2)所示:

(1)

(2)

本研究所提方法主要使用电器的有功功率、无功功率的基波及奇次谐波分量的有效值为特征,构建负荷识别模型.

2 二进制模拟退火算法

2.1 模拟退火算法

模拟退火算法是一种基于热力学的退火原理建立的随机搜索算法,能克服搜索过程极易陷入局部解的缺点.模拟退火算法已在理论上被证明是收敛于全局最优解的全局优化算法[20],其实现过程如下:

1)初始化:设定足够大的初始温度T0,令当前温度T=T0;根据约束条件随机生成初始解S1;设定每个温度下的迭代次数,也就是Metropolis链的长度L,确定目标函数f(·).

2)在当前温度T以及k=1,2,…,L条件下,重复步骤(3)~(6).

3)在当前解S1的基础上进行随机干扰,生成新解S2.

4)计算解S2相对于解S1的适应度增量:

df=f(S2)-f(S1)

(3)

5)若df<0(或df>0,根据具体目标函数意义确定),则接受S2并且将其作为新的当前解,也就是S1=S2;否则计算S2的接受概率:

Pj=e(-df/T)

(4)

随机生成一个在区间(0,1)上满足均匀分布的随机数r,若Pj>r,则也接受S2作为新的解,S1=S2;否则保持现有解S1不变.

6)根据温度衰减规则T←αT降低当前温度,α为温度冷却参数;当T低于设定的终止温度Tend时,输出当前解S1为最优解.

模拟退火算法具有较强的鲁棒性,能够对不可微或不连续的函数进行优化,并且其“依概率接受差解”的特性使其可以跳出局部最优的陷阱.

2.2 二进制模拟退火算法

在模拟退火算法的基础上,将解S1和S2的取值设置为0-1变量,模拟退火算法就改进为二进制模拟退火算法.若解向量中某个元素取值为1,则表示对应的电器正在工作;取值为0,则表示该用电器没有工作.

在非侵入式负荷识别中,通常设定0-1变量以表征电器的工作状态.可见,模拟退火算法不能直接应用,需要使用二进制模拟退火算法进行非侵入式负荷识别.

3 非侵入式负荷识别过程

3.1 数学模型建立过程

借鉴参考文献[5]建立负荷识别数学模型的方法,假设需要进行负荷识别的家用电器共计n个,其负荷识别数学模型建立步骤如下:

步骤1:进行学习过程,采集用电器的谐波功率特征.在此过程中,需要测量待识别用电器在正常运行时的基波、高次谐波有功功率与无功功率,构建如式(5)~(6)所示的样本谐波有功、无功功率有效值特征库.

(5)

(6)

式(5)中,Pn,2k-1表示在学习过程中,n号用电器的第2k-1次谐波有功功率,式(6)以此类推.考虑实际情况,取k=3,表示计及3次和5次谐波的有功和无功功率.

步骤2:采集总线有功功率与无功功率的时域数据,并通过傅里叶变换将其转换为频域数据.根据不同谐波次数,得到当前条件下各次谐波的有功与无功有效值,如式(7)~(8):

(7)

(8)

式(7)中,Pm,2k-1表示学习过程中第m次采集测量总线上第2k-1次谐波有功功率,式(8)以此类推.在获取所需数据后,建立负荷识别数学模型,其步骤如下:

步骤3:计算功率偏差向量ΔP、ΔQ,如式(9)~(10):

(9)

(10)

式(9)中,ΔP2k-1表示当前解向量对应的2k-1次谐波有功功率值与步骤2中采集到的2k-1次谐波有功功率测量值之间的差,计算方法如式(11).ΔQ2k-1的计算方法类似.

(11)

式中,S1为当前n维0-1解向量,表示待识别用电器的工作状态.其中,解向量元素取值1,表示对应的用电器正在工作;取值0,表示该用电器没有工作.

步骤4:计算各次谐波有功、无功功率相对偏差向量,如式(12)~(13):

(12)

(13)

步骤5:建立非侵入式负荷识别0-1优化模型:

maxf=1-[sum(ΔPrel)+sum(ΔQrel)]
s.t.S1(i)=1或0,(i=1,2,…,n)

(14)

式中:目标函数f为优化算法的适应度函数,为当前解向量S1对应的谐波功率与实际情况之间的相似度;函数sum(·)为向量中各元素的和;ΔPrel、ΔQrel中的元素在计算过程中用到的变量仅为当前解向量S1,其余均为测得的常数.因此,适应度函数f的值越大说明该解越“优秀”.S1(i)表示当前解向量S1中第i个元素.至此,完成非侵入式负荷识别0-1优化模型的建立,可使用二进制模拟退火算法进行求解.

3.2 非侵入式负荷识别方法具体流程

基于谐波特征和BSA优化的非侵入式负荷识别算法整体流程如下:

1)进行学习过程,采集每个用电器的谐波功率特征PTZ、QTZ如式(5)~(6);

2)采集总线上总的有功功率与无功功率的时域数据并转换为频域数据Pm、Qm如式(7)~(8);

3)初始化BSA算法参数以及初始解;

4)计算功率偏差向量ΔP、ΔQ如式(9)~(10);

5)计算各次谐波有功、无功功率相对偏差向量ΔPrel、ΔQrel如式(12)~(13);

6)计算当前解S1对应的目标函数适应度f如式(14);

7)随机生成新解S2;

8)计算新解S2相对于旧解S1的适应度增量df;

9)若df>0,则接受新解S2;否则跳转至步骤10);

10)计算解S2的接收概率Pj,生成在区间(0,1)上均匀分布的随机数r,若其满足Pj>r,则接受新解S2;否则保持解S1不变;

11)根据温度衰减规则T←αT降低当前温度;

12)判断当前温度T是否达到设定的终止温度Tend,若不满足,则跳转至步骤7);若满足,则输出当前解S1为负荷识别结果.

如上所述,基于谐波特征及二进制模拟退火算法的非侵入式负荷识别算法,从用电负荷的特征提取和分类识别算法两方面进行优化与改进,可以有效地挖掘用户的用电信息,克服搜索过程陷入局部解的缺点,是收敛于全局最优解的全局优化算法.

4 算例分析

本节采用MATLAB软件,通过对多种负荷运行状态进行学习,实现负荷识别算法并验证其有效性.为提升研究的真实性,选择文献[21]中的8种实际电器的谐波信息作为学习过程的数据库,在原谐波数据的基础上叠加高斯白噪声来模拟测量误差.同时,将BSA算法的结果与使用二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)、二进制人工鱼群算法(Binary Artificial Fish-Swarm Algorithm, BAFA)及二进制神经网络(Binary Neural Networks, BNN) 的结果进行对比,以进一步客观说明所提算法有效性.

BSA算法的退火初始温度设置为T0=90,Metropolis链长度设置为L=10,温度冷却参数α=0.9.为客观评价算法的收敛性能,在每种场景下连续运行所提算法N次,并定义两个参数:

1)平均相似度

(15)

2)识别准确率

(16)

4.1 场景选择

由上述分析可见,待识别电器的工作状态向量S1为式(17)的解:

(17)

令A=[PTZ…QTZ]T,b=[Pm…Qm]T,式(17)可表述为:

(18)

表1 2种场景负荷运行情况

增广矩阵A为全部n种电器的基波与2k-1次谐波的有功和无功功率特征库.若某场景下工作状态向量为S1,则当前条件下第m次测量总线上的有功和无功功率可构成向量b.当分别取8种电器的基波、3次和5次谐波功率时,A的阶数为(6,8).由于电器类型不同,其有功和无功功率、基波与谐波功率数值相差较大,亦即A的各元素数量级相差很大,则式(18)可能为病态方程组,小的扰动可引起解的较大误差.为充分验证算法的有效,不失一般性,可选用如下2种场景进行验证,每种场景构成的矩阵A均为病态矩阵.实际电器运行情况如表1所示.若场景中某元素为1,表示其对应的用电器工作,反之则不工作.

4.2 场景1仿真分析

将文献[21]中8种用电器的谐波数据作为步骤1)学习过程中的数据.对应场景1的电器运行情况,将正在运行的电器按照各次谐波功率对应求和后添加均值为0的高斯白噪声,作为步骤2)总线上采集得到的测量数据.场景1相关数据如表2所示.

表2 场景1负荷信息

由图1也可知,BSA算法达到收敛时共迭代了8次Metropolis链,计算量为80次,相比于枚举法需计算28=256次,BSA算法计算量降低了68.75%.

图1 场景1算法效果对比Fig.1 Algorithm effect comparison of Scenario 1

为更客观地对该算法评价,连续运行2种算法50次并进行比较,结果如表3所示.

表3 场景1的50次运行结果对比

从表3可以看出,相比BPSO等算法,BSA算法识别成功率高,说明其跳出了局部最优的陷阱,整体上能够得到更优质的解.虽然BPSO等算法也能得到相似度比较高的解,但其大概率会陷入局部最优,性能较差.

4.3 场景2仿真分析

与4.2节类似,场景2相关数据如表4所示.

表4 场景2负荷信息

图2 场景2算法效果对比Fig.2 Algorithm effect comparison of Scenario 2

此外,BSA算法达到收敛时共迭代了9次Metropolis链,计算量为90次,相比于枚举法需计算28=256次,BSA算法计算量降低了64.84%.

为更客观评价,连续运行2种算法50次并进行比较,结果如表5所示.

从表5可以看出,在场景2中,相比BPSO等算法,整体上BSA算法识别成功率依然更高;而BPSO等算法识别成功率较低,说明其陷入了局部最优.

表5 场景2的50次运行结果对比

综上,通过2种不同的家居负荷场景仿真实验验证,基于谐波功率特征以及BSA算法的非侵入式负荷识别方法收敛速度快,在保证识别结果准确的基础上大大降低了计算量.同时,此算法也可以跳出局部最优的陷阱,识别结果准确率高.

5 结 论

本研究将用电负荷稳态运行时的谐波功率作为特征量,提出一种基于谐波特征以及BSA算法的非侵入式负荷识别方法,得到如下结论:

1)从用电器的负荷功率特征出发,通过构建相应的负荷识别目标函数,进而建立负荷识别优化模型,实现非侵入式负荷识别问题向优化问题的转化.

2)对于非侵入式负荷识别的效果,本文验证得出BSA算法优于BPSO、BAFA及BNN等算法.在多种用电器组成的复杂场景下,本文所提算法均得到准确的结果.

3)BSA算法可以在保证识别精度的基础上,同时达到较快的收敛速度,降低了计算量.

随着家居智能化程度的不断提升,家用电器负荷类型和复杂程度也越来越高.本研究从实际应用角度探索了复杂用电环境下低计算负荷量的识别算法.在保证用户隐私不受侵犯的前提下,寻找更有效的负荷识别算法也是业内持续探索完善的课题.

猜你喜欢
用电器模拟退火二进制
结合模拟退火和多分配策略的密度峰值聚类算法
用二进制解一道高中数学联赛数论题
有趣的进度
二进制在竞赛题中的应用
例析电路中不同用电器的最大功率
模拟退火遗传算法在机械臂路径规划中的应用
单相用电器分析检测装置
单相用电器分析检测装置
透析简单电路
用电器 写电器