CPSO-LSSVM算法在车载电池SOC预测中的应用

2018-09-29 03:38谈发明
实验室研究与探索 2018年8期
关键词:极值向量粒子

谈发明, 王 琪

(江苏理工学院 a. 信息中心; b. 电气信息工程学院, 江苏 常州 213001)

0 引 言

预测汽车车载电池荷电状态 (state of charge, SOC)是动力电池管理系统的核心功能之一。根据电池SOC来估计续航里程,以防汽车在行驶过程中因电池过度放电造成电池本身的损害而导致危险的发生。因此,如何准确预测车载电池的SOC成为汽车电池管理系统的重点问题之一。

目前对SOC的估计方法各有优点,但也存在一定的应用限制。常用的放电实验及开路电压法测量数据可靠,但此类方法测量不容易实现实时测量,难以直接应用到车辆上[1]。文献[2]中用卡尔曼滤波法简单且便于工程应用,但汽车工况、温度以及自身老化等原因会影响电池组的参数,因此估计精度会受影响。文献[3]中用神经网络理论建立模型预测SOC取得了比较好的效果。但模型中网络拓扑结构的确定,网络中权值、阈值的选取暂无完备理论指导,因此,对样本的训练可能会陷入局部最优。文献[4]中提出最小二乘支持向量机(least squares support vector machine,LSSVM)用等式约束将求解二次规划问题转化为求解线性方法,提高了预测速度和精度,误差也小,但是正则化参数γ和核函数参数σ的选择对LSSVM性能的影响在理论上很难找到必然的对应关系,实际应用时参数的调节没有一个准确可行的方法。文献[5]中提出利用粒子群优化最小二乘支持向量机测量建模方法(particle swarm optimization least squares support vector machine,PSO-LSSVM),提高了预测的精度并有较好的泛化能力,但粒子群算法(particle swarm optimization,PSO)容易陷入局部极值而形成早熟。

为此,在之前研究的基础上,本文提出的混沌粒子群算法(chaos particle swarm optimization,CPSO)首先对PSO算法采用惯性权重的自适应方法平衡粒子的搜索行为,减小算法陷入局部极值的概率,在算法陷入局部极值时,再利用引入随机方程的Tent映射产生混沌序列的方法对PSO算法进行混沌优化策略,不但克服了容易陷入局部极值而形成早熟的缺点,提高了粒子搜索的遍历性和寻优能力,而且避免单纯Tent映射自身的小周期、不稳周期的不足。在此基础上优化LSSVM模型参数形成混沌粒子群优化最小二乘支持向量机测量建模方法(chaos particle swarm optimization least squares support vector machine,CPSO-LSSVM),该方法用于车载电池SOC预测可以取得良好的效果,可避免常规交叉验证法选取模型参数的耗时和盲目性。

1 最小二乘支持向量机

LSSVM是一种改进的SVM算法,用二次损失函数取代SVM中的不敏感损失函数,通过构造损失函数将SVM的二次寻优变为求解线性方程,设输入为n维向量,对于样本集{(xi,yi)},线性函数设xi表示输入,yi表示输出,最优分类平面函数为:

f(x)=wTφ(x)+b

(1)

式中:w为权值向量;b为偏置量。式(1)约束优化问题为:

(2)

式中:C为惩罚参数;ei为预测误差。

将上述约束优化问题变为无约束对偶空间优化问题,定义Lagrange函数为:

(3)

式中,αi为Lagrange乘子。

根据KKT条件,得

式中:I为单位矩阵;Q=(φ(xi),φ(xj))。

根据Mercer条件,选取合格的核函数K(x,y),可以获得高维特征空间的线性回归为:

(6)

回归型LSSVM的泛化能力主要取决于正则化参数γ、核函数σ的选取以及优化。本文选取径向基核函数为:

(7)

式中,σ决定了径向基核函数围绕中心点的宽度,对LSSVM的回归能力有直接的影响。因此,需要对(γ,σ)进行寻优。

2 CPSO算法研究分析

2.1 基本粒子群优化算法

标准粒子群优化算法可描述为:假设在一个D维的目标搜索空间中,有M个粒子组成一个群落,其中第i个粒子根据个体极值Pi=(pi1,pi2,…,piD)和全局极值Pg=(pg1,pg2,…,pgD),动态调整自身的位置Xi=(xi1,xi2,…,xiD)和速度位置。在第t次迭代时,粒子的速度和位置更新的公式如下:

(8)

(9)

式中:i=1,2,…,M;d=1,2,…,D;ωi为第i个粒子在t代中的惯性权重;vid∈[-vdmax,vdmax],vdmax为用户设定的速度最大值;xid∈[xmin,d,xmax,d] ;c1、c2为非负常数的学习因子;r1、r2介于[0,1]之间的随机数。

2.2 Tent映射的种群混沌化

由于混沌运动具有遍历性、随机性,对初始条件的敏感性等特点,在局部最优的位置上引入混沌思想则可使PSO跳出局部极值点而实现全局最优,提高了基本PSO算法的收敛速度和精度。在混沌优化算法中,多采用Logistic算法,但受到该映射函数遍历不均匀性的影响,寻优的效率并不高[6]。

本文在CPSO算法中采用文献[7]中提出的引入随机方程的改进型Tent映射,如果zti=0, 0.25, 0.5,0.75或zti=zt-mi,m={0,1,2,3,4} (即x落入不动点或5周期以内的小循环)时,则引入下式加以改进:

(10)

由于随机量的引入,在出现小周期或不动点时Tent映射能重新进入混沌状态,文献[7]中利用该方法和标准PSO算法分别对单峰函数和多峰函数进行仿真测试,改进后的方法增强了全局搜索能力和精度,摆脱了极值点的吸引,同时又不降低收敛速度,通过对粒子位置更新加以引导,减少算法随机性以提高搜索效果。

2.3 自适应调整参数策略

在PSO算法中,惯性权重用于平衡粒子的搜索行为,为了提高寻优进程的调节和适应能力,本文利用文献[8]中提出的新自适应惯性权重方法(new adaptive inertia weight,NAIW),该算法通过粒子相对于群体极值位置的距离对权重进行动态调整,把权重的变化与粒子的位置状态信息关联起来,以更加精确地调整权重。NAIW算法公式如下:

(11)

(12)

(13)

式中:ωmax和ωmin分别为惯性权重的最大和最小值;△xi为第i个粒子与群体极值最优位置的距离;△xi为△xi在t次迭代中的值,iternum为最大迭代次数;k为迭代系数。

3 CPSO优化LSSVM模型参数

采用CPSO优化LSSVM模型主要对正则化参数γ和核函数参数σ的算法进行优化选择,CPSO算法以全局极值粒子为基础迭代产生一个混沌序列,然后将序列中的最优粒子随机替代当前粒子群中的某一粒子并进行迭代,具体步骤如下:

(1) 初始化粒子群参数,随机初始化粒子的位置xi和速度vi,并把γ和σ映射为一群粒子xi=[γi,σi]。

(2) 建立LSSVM测量模型,根据

(14)

(3) 对种群中所有粒子执行以下操作:

① 根据式(11)更新粒子的ωi;

② 根据式(8)和(9)更新粒子的速度和位置;

③ 根据式(14)计算粒子适应度,并更新粒子的pibest和pgbest。

(4) 对粒子群最优位置pgbest进行混沌优化:

① 根据式(15)将pgbest由区间[xmin,d,xmax,d]映射到Tent方程的定义域[0,1]上

(15)

② 对zi通过式(10)进行M次迭代,得到混沌序列zmi(m=1,2,…,M);

③ 将混沌序列通过式(16)逆射回原解空间,即

(16)

(6) 跳至步骤(3)直到计算达到最大迭代次数iternum。

4 仿真研究

4.1 样本数据采集

实验采用高级汽车仿真软件ADVISOR对标准混合动力车型中使用的车载电池的电压、电流、温度及SOC真实值进行记录,标准混合动力车型参数见表1。记录采集频率为1Hz,总共可获取1 370组,5 480个样本数据。模拟测试工况采用美国城市道路典型工况UDDS,其全长为 11.99 km,运行时间为1 370 s,最大车速为56.7 km/h,平均车速为19.58 km/h,路谱信息与电池电流、电压参数如图1、2所示。

表1 标准车型参数表

在大多数情况下电池处于小电流充放电状态,温度如图3所示,呈缓慢上升态势,符合UDDS工况的实际情况。从图4的SOC曲线可以看出:电池的荷电量整体呈缓慢下降趋势,但由于汽车再生制动过程会对电池能量回馈,导致时而会呈现出增加趋势波动,对应图2电池电流的负值部分。

图1 UDDS路谱信息

图2 电池电流、电压参数

图3 电池温度参数

图4 电池SOC参数

4.2 样本数据预处理

CPSO-LSSVM算法以电池组的工作电流、电压及温度3个向量构成一个3D矩阵作为模型输入,以电池SOC作模型输出向量。由于电池电压、电流、温度在采集时使用不同的单位,表示含义不一样,在数量级上存在很大的差别,对算法的收敛速度有影响。本文使用的归一化方法是将这些数据处理为均值为0,均方差为1的范围[0,1]的新数据,消去不变量之间由于量纲不同所带来的影响[9],其公式如下:

Yi=Xi-μi,i=1,2,…,n

(17)

式中:X=[X1,X2,…,Xn]为输入向量;Y=[Y1,Y2,…,Yn]表示经第1步处理后的向量,此时得到的各向量的平均值都为0;μi表示xi的均值。

Zi=Yi/σi,i=1,2,…,n

(18)

式中:σi为Yi的标准差;Zi表示经过归一化处理后得到的数据。接着对电池数据进行标准化处理,本文将数据比例缩放到范围[0,1]之间,变换公式如下:

(19)

4.3 仿真分析

为了充分验证预测模型的有效性,对获得的样本数据进行排列,将执行样本中的奇数项数据用于训练,样本中的偶数项数据进行测试[10]。设置粒子总数M=30、维数D=2、迭代次数iternum=100、学习因子c1=1.5、c2=1.7、惯性权重ωmax=0.9,ωmin=0.3等参数,并设定γ、σ的取值范围分别为[0.1,1 000]和[0.01,100]。为了充分体现CPSO-LSSVM的优越性,与PSO-LSSVM进行比较研究,在参数设置相同的条件下,对LSSVM的正则化参数γ和核函数参数σ的算法进行优化选择,结果如表2所示。

表2 不同方法的参数优化结果

图5中,PSO-LSSVM预测模型在起始阶段预测能力较好,而中前阶段和后阶段的预测能力较差,这是由于在这个阶段SOC的变化趋势不断变化,电池能量回馈较多,算法不能及时跟踪响应。

图5 基于PSO-LSSVM预测结果

图6中CPSO-LSSVM预测模型预测效果明显优于PSO-LSSVM,预测值和真实值的咬合度更加紧密,收敛精度更高,具有较高的跟踪性能。为了进一步说明PSO-LSSVM和CPSO-LSSVM所建预测模型的优劣,将预测模型绝对误差和相对误差来评价两种预测模型[11],绝对误差EA和相对误差ER的定义为:

(20)

图6 基于CPSO-LSSVM预测结果

根据上式的定义,两种算法建立的预测模型的误差如表3所示。

表3 不同方法的预测误差

由图7和图8可以看出,无论是哪种误差类型,预测准确性都较高,但是,CPSO-LSSVM预测模型的误差均比PSO-LSSVM预测模型的误差小,误差分布更加密集,因此,CPSO-LSSVM预测模型的性能更加优越。

图7 基于PSO-LSSVM预测误差

图8 基于CPSO-LSSVM预测误差

5 结 语

(1) CPSO算法以全局极值为基础,利用引入随机方程的Tent映射产生混沌序列对算法进行混沌处理,克服了容易陷入局部极值而形成早熟的缺点;

(2) 利用CPSO算法对LSSVM的参数进行优化,可将预测误差控制在1%以内,预测精度较高;

(3) CPSO-LSSVM算法对车载电池SOC的精确预测可行性较高。

猜你喜欢
极值向量粒子
向量的分解
极值点带你去“漂移”
聚焦“向量与三角”创新题
极值点偏移拦路,三法可取
一类“极值点偏移”问题的解法与反思
基于粒子群优化的桥式起重机模糊PID控制
基于粒子群优化极点配置的空燃比输出反馈控制
借助微分探求连续函数的极值点
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线