基于粒子群算法的最小二乘支持向量机电池状态估计
作者:互联网
摘 要: 电池荷电状态(SOC)作为电池管理系统(BMS)重要参数之一,准确估计SOC尤为重要。由于SOC在估计过程中常会受到电压、电流、充放电效率等众多因素的影响,因此很难准确估计SOC。为了提高SOC的估计精度,本工作提出了基于最小二乘支持向量机(LSSVM)机器学习的锂离子电池SOC估计模型。将该电池的电流、电压和温度作为模型的输入向量,SOC作为模型的输出向量,为了更好的获得LSSVM模型的参数,提出了利用自适应粒子群算法来进行参数优化,从而获得高精度SOC估计模型。通过恒流充放电实验采集的数据,并和未优化的粒子群优化的LSSVM、支持向量机(SVM)神经网络(NN)相比,所提模型的SOC估计精度误差为1.63%,验证了算法的有效性。
关键词: 锂离子电池;SOC;最小二乘支持向量机(LSSVM);粒子群算法
目前有很多估计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维向量,假设训练样本集为(xi, yi),i=1, 2,…,n,x∈Rd,y∈R,首先,用一个非线性映射φ(·)将样本的输入空间Rd 映射到特征空间(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
2 基于自适应粒子群算法优化LSSVM
粒子群优化算法(PSO)是一种智能寻优算法,每次优化都是在一个假定的空间内搜索一个粒子,然后将该粒子带入设置好的适应度函数,从而求出相应的适应值。假设在N维空间内,生成一个种群Xi=(x1, x2, x3,…xi),i=1, 2,…, N | (10) |
Vi=(v1, v2, v3,…vi),i=1, 2, …, N | (11) |
Pi=(p1, p2, p3,…pi),i=1, 2, …, N | (12) |
Gi=(g1, g2, g3,…gi),i=1, 2, …, N | (13) |
(14) |
(15) |
由于传统的PSO算法所设置惯性权重是一个固定值,通常为1,它决定了搜索粒子的能力,当的值较大或较小时,都可能会影响算法的搜索能力,从而会影响参数的优化,进而导致SOC的估计精度低。因此,文中提出了自适应权重的PSO算法来优化LSSVM模型参数
(16) |
图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) |
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) |
步骤4:根据式(12)和(13)不断更新粒子的速度和位置;
步骤5:根据步骤2计算粒子的适应度式(17),并更新粒子的pi和gi;
步骤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/2734482