编程语言
首页 > 编程语言> > 基于粒子群算法的最小二乘支持向量机电池状态估计

基于粒子群算法的最小二乘支持向量机电池状态估计

作者:互联网

摘 要: 电池荷电状态(SOC)作为电池管理系统(BMS)重要参数之一,准确估计SOC尤为重要。由于SOC在估计过程中常会受到电压、电流、充放电效率等众多因素的影响,因此很难准确估计SOC。为了提高SOC的估计精度,本工作提出了基于最小二乘支持向量机(LSSVM)机器学习的锂离子电池SOC估计模型。将该电池的电流、电压和温度作为模型的输入向量,SOC作为模型的输出向量,为了更好的获得LSSVM模型的参数,提出了利用自适应粒子群算法来进行参数优化,从而获得高精度SOC估计模型。通过恒流充放电实验采集的数据,并和未优化的粒子群优化的LSSVM、支持向量机(SVM)神经网络(NN)相比,所提模型的SOC估计精度误差为1.63%,验证了算法的有效性。

关键词: 锂离子电池;SOC;最小二乘支持向量机(LSSVM);粒子群算法


相比铅酸电池、镍氢电池,锂离子电池具有较高的能量密度和充放速率,这些优点使得锂离子电池在电动汽车中具有很强的吸引力。SOC表示电池的剩余电量与总容量的比值,作为BMS重要参数之一,SOC的准确估计可以保证电动汽车可以更好的行驶,但是,锂离子电池在工作条件下,具有非线性特性,因此,精确估计SOC仍然是一个热点问题。
目前有很多估计SOC的方法,包括安时积分法、开路电压法、卡尔曼滤波法及神经网络方法。安时法在工业中被广泛应用,但电池的初始容量以及电流测试过程产生的误差会不断累积,导致SOC估计精度低。开路电压法在估计SOC时,需要长时间静置,不利于SOC的实时估计。而卡尔曼滤波利用递推方法可实现SOC的最小方差估计,从而提高SOC的估计精度,由于SOC在估计过程中,具有非线性,基于此,国内外学者相继提出了扩展卡尔曼滤波(EKF),无迹卡尔曼滤波(UKF)等改进卡尔曼SOC估计方法。但此方法严重依赖于电路模型。为了克服以上因素,基于机器学习的SOC估计方法受到很大关注,神经网络是目前应用广泛的一种机器学习,直接建立基于SOC与电压、电流等因素的非线性关系,但是该方法在参数时易陷入局部最优。支持向量机(SVM)是一种基于统计学习理论的新型学习机,相比NN,它可以提高机器学习的泛化能力。最小二乘支持向量机(LSSVM)是将SVM中的不等式约束换成了等式约束,可以避免连续迭代导致的精度下降,有效的提高了模型的估计能力。因此,为了更好的估计SOC,提出了基于LSSVM的SOC估计方法。

1 最小二乘支持向量机原理

LSSVM是一种改进的SVM算法,用二次损失函数取代SVM中的不敏感损失函数,通过构造损失函数将SVM的二次寻优变为求解线性方程。设输入为n维向量,假设训练样本集为(xiyi),i=1, 2,…,nx∈Rdy∈R,首先,用一个非线性映射φ(·)将样本的输入空间R映射到特征空间

图片(1)
然后,在这个高维特征空间中构造最优决策函数

图片(2)
式中,为权值向量;b为偏置量,最后,以结构风险最小化为原则确定模型参数、b。结构风险的计算式为

图片(3)
式中,c为正规化参数;Remp为损失函数,且图片i图片i为模型对训练样本的预测误差。基于结构风险最小化原则确定决策函数参数图片、b,可等效为求解以下优化问题

图片(4)
通过Lagrange方法求解式(4)

图片(5)
式中,图片是Lagrange乘子。通过KKT条件,求解以下方程

图片(6)
如果定义核函数为满足Mercer条件的核函数图片,求解式(6)最终得到基于LSSVM的回归估计函数

图片(7)
由于径向基函数(RBF)具有较强的抗干扰能力,因此文中选用RBF作为模型的核函数,其中为核函数参数,定义如下

图片(8)
因此,在锂离子电池SOC估计中,引入一个基于LSSVM的电池SOC估计的框架图。如图1所示。

图片

图1   LSSVM模型图1表示采样k时刻的LSSVM模型。其中输入是采样k时刻电池的电压、电流和温度,分别表示为V(k)、I(k)和T(k),输出是k时刻估计的SOC,表示为SOC(k)。因此基于LSSVM框架估计的SOC回归函数如下所示

图片(9)
特别的,利用该模型估计SOC有两部分组成:第一部分,通过离线采集锂离子电池的电压、电流、温度和SOC;第二部分,利用算法优化LSSVM模型的正则化系数c和核函数,并对电池进行SOC预测。为了更好的获得模型参数c和,文中提出了基于粒子群算法进行模型训练。

2 基于自适应粒子群算法优化LSSVM

粒子群优化算法(PSO)是一种智能寻优算法,每次优化都是在一个假定的空间内搜索一个粒子,然后将该粒子带入设置好的适应度函数,从而求出相应的适应值。假设在N维空间内,生成一个种群

Xi=(x1x2x3,…xi),i=1, 2,…, N(10)
相应的第i个粒子的速度也是一个N维的向量

Vi=(v1v2v3,…vi),i=1, 2, …, N(11)
相应的第i个粒子所找的最优位置为

Pi=(p1, p2, p3,…pi),i=1, 2, …, N(12)
而整个群体的最优位置为

Gi=(g1, g2, g3,…gi),i=1, 2, …, N(13)
根据求得的最优种群值和个体值,来更新粒子本身的速度和位置

图片(14)

图片(15)
式中,表示粒子速度;表示粒子的当前位移;是惯性权重;和为学习因子;r1r2为0~1中的随机数。因此,通过不断更新粒子的位置和速度,最终找到最优的参数值。图2是PSO算法的流程图。

图片

图2   PSO流程图
由于传统的PSO算法所设置惯性权重是一个固定值,通常为1,它决定了搜索粒子的能力,当的值较大或较小时,都可能会影响算法的搜索能力,从而会影响参数的优化,进而导致SOC的估计精度低。因此,文中提出了自适应权重的PSO算法来优化LSSVM模型参数

image.png
(16)
式中,f表示当前粒子的适应值;为粒子的平均适应值;为粒子的最小适应值。因此,通过改进PSO算法,利用自适应权重的方法来来优化LSSVM模型的正则化系数c和核函数,从而估计锂离子电池的SOC,图3为基于自适应权重的粒子群算法流程图。

图片

图3   自适应PSO流程图

3 实验验证

3.1 数据采集

为了验证基于LSSVM模型估计SOC的有效性,文中选取松下NMC锂离子电池作为实验对象,其额定容量2.25 A·h,最大电压为4.5 V,最小工作电压为2.8 V,表1为电池的参数。同时利用Fluke数据采集集对电池进行电压和电流的采集,参考的SOC值通过安时积分法求得。

表1   NMC锂离子电池参数

图片

        采集电池数据的试验台是由德国开发的EVT500-500,并利用Fluke设备对电池的电压和电流进行采集,为了减小电池对数据采集过程中造成不必要的影响,选用最新并通过测试的电池作为实验对象,先将单体静置,之后以1/3倍率的电流完全放电,静置1 h,然后采用恒压的方式将电池完全充电,静置3 h后对电池进行数据采集。以1倍率的电流对电池进行了2次连续的充放电循环,采样周期为1 s,采集1000个样本。数据采集如图4所示。

图片


图4   电池在恒流充放电工况下采集的电流、电压和SOC
为了验证算法的有效性,将所提的算法和未优化的PSO算法的所优化的LSSVM、神经网络以及SVM进行比较,来验证模型的有效性。并且利用两种评估标准,包括均方根误差(RMSE)、和最大绝对误差(MAE),定义如下

图片(17)

图片(18)
式中,图片是SOC的实际值;图片是SOC的预测值。

3.2 自适应PSO优化参数

为了充分训练LSSVM的最优参数,设置PSO算法中的粒子群数目为50,总迭代次数为300,学习因子图片图片分别为1.5,初始惯性权重图片=1,图片=0.3,可以保证在训练初期,较大的惯性权重可以保证较强的全局搜索能力,较小的权重可以保证有足够的范围寻找最优解。个体速度的最大值vmax=0.5,vmin=-0.5。将LSSVM的参数图片c分别设置为0.01~1000,0.01~1000的范围内进行搜索。具体训练步骤如下
步骤1:按上述设置条件初始化粒子群各参数;
步骤2:以预测值计算的均方差建立适应度函数fitness

图片(19)
步骤3:根据式(14)更新粒子的权重;
步骤4:根据式(12)和(13)不断更新粒子的速度和位置;
步骤5:根据步骤2计算粒子的适应度式(17),并更新粒子的pigi
步骤6:将计算好的个体最优值pi和全局最优值gi替代当前粒子;
步骤7:判断是否结束循环,是则结束算法,否则跳至步骤3。
因此,通过不同的算法,训练得到LSSVM的最优参数,结果如表2所示。

表2   参数优化结果

图片3.3 实验分析
图5,6,7,8,9,10,11,12展示了各估计器的性能。图7是基于PSO优化LSSVM预测的SOC,预测的精度RMSE=2.65%,最大绝对误差MAE=4.87%,为了提高SOC的预测精度,文中提出采用自适应PSO来进行优化LSSVM参数并估计SOC,如图5所示,其SOC的预测精度RMSE=1.63%,相比PSO-LSSVM,精度提高了38.5%,表明,通过自适应PSO可以更加准确的获取LSSVM最优参数,从而提高SOC的估计精度。图9和图11表示,当选择和LSSVM相同的RBF核函数时,SVM所估计的SOC精度要高于NN,此时SVM估计SOC的精度RMSE=4.57%,而NN的RMSE=7.02%,结果表明,与神经网络相比,SVM可调参数少,性能高,估计精度提高了34.9%。图7和图9相比,表明将SVM中的不等式约束条件换成等式约束,可以提高向量机的估计精度,在本次实验中,LSSVM所估计的SOC的RMSE=2.65%,相比SVM,SOC估计精度提高了42%。从上可以得到,通过自适应PSO进行优化LSSVM模型的超参数,可以调高参数的优化值,进而提高SOC的估计精度。

图片

图5   自适应PSO-LSSVM预测图

图片

图6   自适应PSO-LSSVM估计的绝对误差

图片

图7   PSO-LSSVM预测图

图片

图8   PSO-LSSVM估计的绝对误差

图片

图9   SVM预测图

图片

图10   SVM估计的绝对误差

图片

图11   NN预测图

图片

图12   NN估计的绝对误差

表3   各算法的估计性能

图片


4 结论

由于锂离子电池的SOC是BMS中重要参数之一,因此为了提高锂离子电池SOC的估计精度,提出了自适应PSO-LSSVM模型,通过自适应PSO算法,不断更新粒子的权重,来提高全局搜索的能力,根据锂离子电池池的电压、电流和温度测量值来估计SOC,实验结果表明,自适应PSO优化的LSSVM参数,其SOC估计精度RMSE为1.63%,相比未优化的PSO,模型估计精度提高了38.5%,与SVM和NN相比,进一步验证了模型的精度性和有效性。

引用本文: 王语园,李嘉波,张福.基于粒子群算法的最小二乘支持向量机电池状态估计[J].储能科学与技术,2020,09(04):1153-1158.

WANG Yuyuan,LI Jiabo,ZHANG Fu.Battery state estimation of least squares support vector machinebased on particle swarm optimization[J].Energy Storage Science and Technology,2020,09(04):1153-1158.

第一作者:王语园(1981—),男,硕士,副教授,研究方向为电力电子与电力传动,E-mail:38502042@qq.com。

图片


标签:SOC,粒子,PSO,算法,估计,LSSVM,二乘,电池,向量
来源: https://blog.51cto.com/u_15127589/2734483