APP下载

改进PSO优化LSSVM的锂电池SOC估算模型

2021-04-14张洪涛夏耀威凃玲英张灿

关键词:适应度惯性全局

张洪涛, 夏耀威, 凃玲英, 张灿

(湖北工业大学 电气与电子工程学院, 湖北 武汉 430068)

电动汽车电池荷电状态(SOC)一直是我国专家学者研究的热点,专家们提出很多估算方法.刘光明[1]考虑温度变化对电池剩余能量的影响,对不同条件下电池产热成分进行化学分析,建立电池SOC的精确估算模型,该模型根据温度变化对电池容量进行实时预测.郑英东[2]将电池官方参数与实验数据进行对比,并对NCR18650A型电池的SOC进行估算,联合估算法的估算效果明显比单一方法更好.郭向伟[3]根据电动汽车电池充放电时端电压存在的动态响应,采用二阶电阻电容回路模型建立电动汽车电池等效模型,并在电池模型的基础上,利用最小二乘支持向量机(LSSVM)等,扩展卡尔曼滤波(EKF)算法对电动汽车电池SOC进行联合估算.陈峭岩[4]考虑到电池老化和环境因素对电池SOC估算的影响,在多模型SOC估算中加入自适应算法,明显提高电池SOC的估算精度.王晨等[5]采用粒子群优化(PSO)算法对BP(back propagation)神经网络的权值和阈值进行优化,建立基于PSO-BP的电池SOC估算模型,取得较好的预测效果,但由于PSO中粒子搜索方向性较差,该寻优方法有待进一步改进.

针对上述问题,本文在粒子群优化算法中引入惯性权重和收缩因子,用于增强粒子群的全局搜索能力和局部寻优能力,形成改进粒子群算法.

1 改进粒子群优化算法

1.1 粒子群优化算法

PSO算法起源于20世纪90年代,Kennedy等认为数学上优化问题的求解过程可看作是大自然中一群飞鸟在搜寻食物,每只飞鸟相当于求解数学问题用到的每一颗“粒子”,也就相当于数学问题的最优解.在这一过程中,每只飞鸟与其他飞鸟间既有竞争又有合作,当它们找到食物时,即找到了最优解.由于粒子群算法具有操作简单、所需调节参数少等特点,因此,应用非常广泛[6].

在粒子群算法中,每个粒子在飞行过程中都在寻找自己最好的位置和速度,且每次飞行后有一个适应度值,该适应度值由目标函数决定;当某个粒子找到自己当前最好的位置时,该位置叫作个体极值(pbest);当这群粒子找到群体的最好位置时,这个位置就叫作全局最优解(gbest).

图1 PSO算法寻优示意图Fig.1 Schematic diagram of PSO algorithm optimization

假设在D维空间中,存在一个含有n个粒子的种群x,x=(x1,x2,…,xn),令该种群中的第i个粒子在D维空间中对应的一个向量为xi=(xi,1,xi,2,…,xi,l)T,该向量为第i个粒子在D维空间中的位置,需要根据目标函数计算该粒子位置xi的适应度值.令第i个粒子的速度对应的向量为vi=(vi,1,vi,2,…,vi,l)T,则该粒子个体极值的向量可表示为pi=(pi,1,pi,2,…,pi,l)T,种群x极值的向量可表示为pg=(pg,1,pg,2,…,pg,l)T.个体极值和群体极值的更新粒子的速度和位置公式分别为

(1)

(2)

式(1),(2)中:vi,d为当前速度,d=1,2,…,D,i=1,2,…,n;k为迭代次数;c1,c2为加速因子[7],且c1>0,c2>0;r1,r2取值范围为[0,1]的随机函数.PSO算法的寻优示意图,如图1所示.

1.2 惯性权重的PSO算法

为了保证粒子群在寻优过程中能够更好地确定局部最优和全局最优的搜索比例,找到二者之间的平衡点,Shi等[8]将惯性权重引入到基本PSO算法中,以提高粒子群的搜索性能.粒子速度的更新公式为

(3)

(4)

式(3),(4)中:ω为惯性权重;vd,max为粒子群在D维空间中飞行时的最大速度.

研究表明,惯性权重增大时,粒子群的全局搜索性能增强,局部搜索性能减弱;惯性权重减小时,粒子群的局部搜索性能增强,全局搜索性能减弱.选择合理的惯性权重能够使二者平衡,当惯性权重为1时,即变为基本粒子群算法,不具备平衡性.

利用标准PSO算法进行仿真计算时,惯性权重ω通常由0.9~0.4进行线性递减.因为迭代初期粒子群的搜索范围较大,较大的ω能够快速锁定最优解的大致位置,随着迭代次数的增加,使减小ω的粒子的速度变小,在最优解的大致范围内进行局部搜素寻找最优解.由此可以看出,ω的引入能够明显提高算法的收敛速度.ω的计算式为

(5)

式(5)中:ωmax为惯性权重的最大值;ωmin为惯性权重的最小值;M为总迭代次数.

1.3 收缩因子的PSO算法

为了消除粒子速度边界的限制,加快PSO算法的收敛,Clerc等[9]将收缩因子引入基本PSO算法中,收缩因子能够改变加速因子c1和c2的值,从而改变粒子的速度.收缩因子η计算式为

(6)

式(6)中:η为收缩因子;φ为总加速因子,φ>4;K为收缩系数.

引入收缩因子后,粒子速度的更新公式为

(7)

收缩系数用于控制粒子群的全局搜索能力及局部搜索能力,K趋近1会使粒子速度变大,导致搜索范围扩大,大量的全局搜索使粒子群算法收敛慢;K趋近0时,会降低粒子搜索速度,减小搜索范围,大量的局部搜索又会导致粒子群算法收敛过快.收缩系数K通常取固定值.为了保障粒子群的前期全局搜索及后期局部搜索的能力,将K与迭代次数相关联,收缩系数计算式为

K=1-k/n.

(8)

1.4 混合方法

基本PSO算法在寻优过程中过于依赖初始值的选取,导致其收敛较慢,且容易陷入局部最小值[10].将惯性权重和收缩因子引入基本粒子群算法中,保证粒子群全局搜索和局部寻优能力.

改进PSO算法的具体实施过程是将式(3),(6)进行整合,惯性权重的计算采用式(4),收缩因子的计算采用式(7),(8),惯性权重和收缩因子引入后得到改进PSO算法速度更新公式为

(9)

研究表明,改进PSO算法使粒子群在搜索过程中的方向更清晰、目的更明确,能够有效减少迭代次数,加快算法的收敛速度,以最直接有效的方式找到全局最优值.

2 改进PSO-LSSVM模型

2.1 模型的建立

锂电池SOC影响因素众多,且这些因素与电池容量之间呈现出非线性关系.应用LSSVM解决非线性回归问题时,所需样本少且回归效果较好,可见LSSVM算法比较适合研究锂电池SOC及其影响因素之间的关系.但利用LSSVM建立估算模型时,其估算精度受惩罚参数C和核函数宽度σ的影响很大[11].因此,采用改进PSO算法对LSSVM的参数C和σ进行寻优[12],建立基于改进PSO-LSSVM模型的锂电池SOC估算模型.具体有以下10个实施步骤.

1) 对锂电池样本数据进行预处理.样本数据一般由不同单位及不同数量级的数据组成,为了减小单位、数量级的影响,应对样本数据进行归一化处理[13],其计算式为

(10)

式(10)中:xi′为某一特征量归一化后的数据;xi为某一特征量的原始数据;xmax为某一特征量的最大值;xmin为某一特征量的最小值.

2) 对LSSVM参数进行初始设置.C和σ的初始值是随机的,C∈[1,1 000],σ∈[0.1,100.0],根据经验,设置C=100,σ2=2.5,经首次训练并输出结果,计算适应度值.适应度I的计算式为

(11)

3) 对改进PSO参数初始化设置.令种群规模d=30,最大迭代次数k=300,加速因子c1=2.6,c2=1.7,总加速因子φ=4.3,收缩因子η=0.729,将惯性权重ω从0.9到0.4进行线性递减.

4) 把C和σ分别作为粒子,并赋予初始值.C=100,σ2=2.5,将其作为当前个体最优解,计算适应度值.比较是否为全局最优适应度值,全局最优适应度值与对应的粒子就是全局最优解.

5) 执行迭代过程.利用式(2),(6),更新粒子的速度和位置.

6) 更新后的速度及位置即为惩罚参数和核函数参数的新值,将其赋值LSSVM模型,然后,训练输出,重新计算适应度值.

7) 比较步骤6)中的适应度值与当前适应度值.若比当前适应度值更好,则将其更新为当前适应度值,并把更新后的适应度值所对应的粒子值替换成个体最优值.

8) 比较当前适应度值与全局适应度值.若比全局适应度值更好,则将其替换成全局适应度值,并把全局适应度值对应的速度及位置更新为全局最优解.

9) 判断迭代后的寻优结果是否满足要求.如果满足,则计算结束,输出寻优结果;否则,返回步骤5)继续计算.

10) 将最终的寻优结果C和σ的值赋值给LSSVM模型,完成对锂电池SOC的估算.

2.2 模型误差评价

在对锂电池SOC进行估算的过程中,必然存在计算误差,正确的误差评价方法有利于对估算模型进行进一步认识和评价,是分析模型估算效果的重要步骤[14-15].误差评价仅仅采用一种误差形式进行误差评价是不够科学的[16],往往采用多种误差形式进行综合评价,文中采用3种计算误差对锂电池SOC估算效果进行评价.

1) 平均相对误差δ,即

(12)

2) 均方根误差δRMSE,即

(13)

3) 全局最大相对误差δmax,即

(14)

3 算例分析

3.1 样本数据的获取

采用磷酸铁锂(额定电压为4.2 V,额定容量为1.75 A·h)充放电实验获取样本数据,利用具有精度高、稳定性好的Neware充放电记录仪[17]记录电池放电过程中的温度、电流、电压及SOC.

表1 测试集数据Tab.1 Test set data

从记录仪中选取100组样本数据进行仿真分析,由样本数据可知,锂电池SOC的影响因子共有3个,分别是温度(θ)、电流(I)和电压(U).在建模时,将100组样本数据分为两部分,前90组数据为训练集,用于对估算模型的训练,后10组数据为测试集,用于检验估算模型的精度.测试集数据,如表1所示.

3.2 仿真及结果分析

利用Matlab 2012软件进行仿真,为了对比分析,分别建立未优化的LSSVM,PSO-LSSVM和改进PSO-LSSVM三种锂电池SOC估算模型.未优化的LSSVM模型采用LIBSVM工具箱中的默认参数,其中,C=1,σ2=0.01;PSO-LSSVM估算模型采用基本粒子群算法寻找C和σ的最优参数;改进PSO-LSSVM模型采用改进粒子群算法进行寻优.利用测试集数据进行训练,基本PSO算法和改进PSO算法寻优的适应度曲线,如图2所示.图2中:F表示适应度.

由图2可知:基本PSO算法经过106次迭代后找到最优参数,而改进PSO算法只迭代了64次就找到了最优参数,能够明显减少迭代次数,加快算法收敛;基本PSO算法输出最优参数为C=48.74和σ2=2.58,改进PSO算法输出最优参数为C=36.26和σ2=1.68.

将3组参数分别赋值给LSSVM,组成LSSVM,PSO-LSSVM和改进PSO-LSSVM三种锂电池SOC估算模型,SOC估算模型训练效果图,如图3所示.由图3可知:3种估算模型在训练时的拟合结果与锂电池SOC实际值的变化趋势基本一致,但LSSVM估算模型的异常点较多.

图2 寻优的适应度曲线 图3 SOC估算模型训练效果图 Fig.2 Fitness curve of optimization Fig.3 Training effect diagram of SOC estimation models

为进一步比较3种估算模型的估算效果,计算3种模型在训练过程中每个样本的绝对误差.SOC估算模型的训练误差,如图4所示.图4中:ξ表示误差.将训练好的LSSVM,PSO-LSSVM和改进PSO-LSSVM模型分别对测试集数据进行估算.测试集数据估算结果,如图5所示.

图4 SOC估算模型的训练误差 图5 测试集数据估算结果Fig.4 Training errors of SOC estimation models Fig.5 Test set data estimation results

由图4可知:LSSVM模型的训练误差波动性最大,最大误差超过40%.PSO-LSSVM模型训练误差波动性明显减小,最大训练误差降到10%左右,大部分数据误差均集中在±5%以内;而改进PSO-LSSVM模型的波动性最小,最大训练误差降到5%左右,大部分数据误差均集中在±2%以内,改进PSO-LSSVM模型对锂电池SOC估算的训练效果最好.

由图5可知:LSSVM模型的估算结果与实际值差别较大,PSO-LSSVM模型的估算结果较LSSVM模型更好,更接近实际值,但改进PSO-LSSVM模型的估算拟合效果最好,最接近实际值.

表2 锂电池SOC估算误差表Tab.2 SOC estimation error table of lithium battery

为进一步比较3种模型的估算精度,计算各模型的平均相对误差(δ)、均方根误差(δRMSE)和全局最大相对误差δmax.锂电池SOC估算误差表,如表2所示.由表2可知:从平均相对误差上看,LSSVM模型为7.67%,PSO-LSSVM模型为4.81%,改进PSO-LSSVM模型为2.96%,说明改进PSO-LSSVM模型对锂电池SOC的估算精度更高;从均方根误差上看,LSSVM模型为0.041,PSO-LSSVM模型为0.028,改进PSO-LSSVM模型为0.018,说明改进PSO-LSSVM模型对锂电池SOC进行估算时的稳定性更好;从全局最大相对误差上看,LSSVM模型为22.60%,PSO-LSSVM模型为7.61%,改进PSO-LSSVM模型为4.79%,说明改进PSO-LSSVM模型对锂电池SOC进行估算时的波动性更小.

综上所述,经改进PSO优化的LSSVM的锂电池SOC估算模型不仅能够有效减少迭代次数,加快收敛速度,而且还能够降低估算过程中的波动性和不稳定性,提高计算精度.

4 结论

1) 在基本粒子群算法中引入惯性权重和收缩因子,形成改进粒子群算法,增强了粒子群全局搜索能力和局部寻优能力,使粒子群在寻优过程中的方向更清晰、目的更明确,能够有效减少迭代次数,加快算法的收敛速度.将改进PSO算法应用于锂电池SOC估算更有利于找到全局最优值.

2) 采用改进PSO算法对LSSVM的惩罚参数C和核函数参数σ进行寻优,建立基于改进PSO-LSSVM的锂电池SOC估算模型.采用磷酸铁锂充放电实验数据进行仿真分析,结果表明,相对于其他锂电池SOC估算模型,改进PSO-LSSVM模型的平均相对误差、均方根误差和全局最大相对误差均为最小,说明改进PSO-LSSVM模型能够明显提高锂电池SOC估算精度.

3) 采用改进PSO-LSSVM模型对锂电池SOC进行估算,取得了较理想的估算效果,但由于样本容量的局限性,使锂电池SOC估算方法的计算精度满足产业标准将有待进一步研究.

猜你喜欢

适应度惯性全局
改进的自适应复制、交叉和突变遗传算法
基于改进空间通道信息的全局烟雾注意网络
领导者的全局观
基于KF-LESO-PID洛伦兹惯性稳定平台控制
二分搜索算法在全局频繁项目集求解中的应用
落子山东,意在全局
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
无处不在的惯性
对惯性的认识误区