周 勇
(重庆工程学院软件学院 重庆 401320)
荷电状态(SOC)是反映系统剩余能量的重要参数之一,SOC指电池在一定放电倍率下,剩余电量与相同条件下额定容量的比值,对电池系统的安全可靠性至关重要[1-2]。电池荷电状态估计是电池管理系统设计中的一个重要组成部分。锂离子电池的许多已知问题,如性能下降、加速老化,甚至危险事件,都与错误的荷电状态估计有关[3-4]。不同的SOC估计算法包括:非模态方法、基于模型的观测器(卡尔曼滤波器)、数据驱动的非线性模型(神经网络)。然而,SOC受众多参数影响,如电池工作状态、环境温度、电压、电流、老化情况等,因此常规的包括开路电压法、内阻法、卡尔曼滤波等线性简化后的模型难以准确计算SOC[5-6]。随着计算机技术、信息技术的快速发展,诸如神经网络、支持向量机等机器学习技术在现场实践中得到广泛应用。
快速学习网(FLN)是一种新的改进单隐层前馈神经网络,与传统的单隐层前馈神经网络(FNN)相比,FLN具有分类精度高、泛化能力强等优势[7-8]。针对电池复杂非线性特性,FLN能够建立准确的充放电模型。由于FLN模型性能易受到模型参数影响,本文提出采用几何变异反学习混合蛙跳算法(MOSFLA)优化快速学习网(FLN)模型的SOC预测方法。采用MOSFLA算法调整FLN的输入权值和隐层阈值模型参数,并构建了MOSFLA-FLN的SOC预测模型。通过对某型号电池历史充放电参数进行仿真预测,将预测结果与SFLA-FLN、FLN相比较,MOSFLA-FLN模型的绝对误差可降低到2.71。这表明该方法在SOC预测精度、适用性方面具有良好的性能,能有效地预测SOC值。
FLN是一种改进的前馈神经网络。FLN与极端学习机的区别在于FLN输出层能同时接收来自输入层和影藏层节点传来的信息,如图1所示。
图1 FLN结构图
设有N个观测样本{(xi,yi)},其中第i个样本为xi=[xi1,xi2,…,xin]T∈Rn,n为输入节点个数;yi=[yi1,yi2,…,yil]∈Rl表示第i个样本的l维输出向量。具有m个隐藏层节点的FLN模型表示为:
(1)
式(1)用矩阵形式表达为:
(2)
(3)
最小二乘范数解求法可得:
(4)
(5)
FLN网络随机生成输入权值和隐层阈值,通过最小二乘计算得到输出权值矩阵。FLN算法步骤如下:
① 随机生成输入权值Win和隐层阈值b;
② 通过式(3)计算隐层输出矩阵G;
③ 通过式(4)计算输出权值矩阵W;
④ 通过式(5)将W分为Woi和Woh。
混合蛙跳算法(shuffled frog-leaping algorithm,SFLA)是一种高效的群智能优化算法,其灵感来源于青蛙觅食过程[9]。SFLA在解决高维、非线性的复杂优化问题中得到了许多研究者的关注[10-11]。SFLA算法包括局部搜索和全局信息交换,描述如下:
1) 初始化种群。随机初始化P=m×n个青蛙,第i只青蛙位置描述如下:
xi=(xi1,xi2,…,xis)
(6)
式中:m表示子群个数;n表示每个子群中青蛙个体数量;s表示优化问题的维度。
2) 排序及子群划分。种群中青蛙个体按适应度值降序排序,将排序好的青蛙按下式划分为m个子群:
Yk={xj(k),fj(k)|xj(k)=x(k+m(j-1)),fj(k)=
f(k+m(j-1)),j=1,2,…,n;k=1,2,…,m}
(7)
3) 局部搜索。子群中适应度最差的青蛙记录为xw,并按下式进行位置更新:
Di=rand(0,1)×(xb-xw)
(8)
xw(new)=xw(old)+Di
(9)
式中:Di为青蛙跳跃步长,Dmin≤Di≤Dmax;xb表示子群中最优解。式(9)更新的xw(new)适应度值若提高,则采用xw(new)替代xw(old);否则采用全局最优解xg替代式(8)中xb,重新执行式(8)和式(9),若适应度值仍没有提高,则随机产生一个新解替换原来的xw。
4) 全局信息交换。所有子群完成局部搜索后,将各个子群的青蛙混合在一起形成规模不变的新种群,并按式(7)执行新的子群划分,实现个体间的全局信息交换。针对极小化优化问题f(x),适应度评价函数定义为:
(10)
为提升SFLA的性能,在标准SFLA中引入几何中心变异策略和反学习策略,改进后算法记为MOSFLA。
2.2.1几何中心变异策略
为了改善SFLA的收敛速度,提出了基于概率参数Cm的几何中心变异算子(geometric centroid mutation,GCM)。根据Cm值随机生成GCM算子,在局部搜索的每一次迭代过程中,设定Cm值,随机产生(0, 1)之间的随机数r,若r≤Cm则采用GCM算子计算新的青蛙位置,否则采用式(9)更新青蛙位置。GCM算子描述如下:
xw(new)=(xr1+xr2+xb)/3+Di
(11)
式中:xr1、xr2是子群中随机选择的2个青蛙,xb是当前最优解,(xr1+xr2+xb)/3描述了3个青蛙的几何中心变异后的位置。
2.2.2反学习策略
SFLA既有探索,也有开发过程,包含三个阶段:种群初始化、子群局部搜索和全局信息交换。然而,由于勘探能力差导致SFLA有时会陷入局部最优。为解决此问题,通过在全局信息交换中引入反学习策略(opposition-based learning, OBL)[12],增大全局最优解跳出局部最优的可能。OBL主要思路是考察候选解及其对应的相反位置以实现找到更好的解[13]。最优青蛙的反向位置通过下式计算:
(12)
MOSFLA步骤描述如算法1所示。
算法1MOSFLA
参数初始化:青蛙种群规模(sizepop)、维数(s)、最大迭代次数(Tmax)、当前迭代次数(t)、m、n、概率参数Cm、随机数r、子群迭代次数(Tsub)等
初始化P=m×n个青蛙个体
t=0;
j=0;
//子群迭代次数
k=0;
//子群计算器
While(t<=Tmax)
F=FitnessFunction(xi),保存适应度值数组F;
F=sort(M),保存全局最优解xg;
按式(7)将P个青蛙划分成m个子群;
//局部搜索
For (k<=n)
For (j<=Tsub)
按式(8)计算Di;
ifr>Cm
按式(9)更新xb;
else
按式(11)更新xb;
end
j=j+1;
end
k=k+1;
end
//全局信息交换
更新全局最优解xg;
计算适应度值,更新xg;
t=t+1;
End
输出最优解xg。
FLN在缺乏先验经验情况下随机生成输入权值和隐层阈值,易造成FLN的预测性能降低。为了改善FLN模型性能,采用MOSFLA算法优化FLN模型参数,将最优模型参数代入模型构建最优MOSFLA-FLN模型。MOSFLA优化FLN模型参数的流程图如图2所示。
图2 MOSFLA优化FLM模型流程图
锂电池工作过程中,SOC随着电池电压、电流、温度等因素变化而呈现复杂非线性关系。采用MOSFLA-FLN模型对SOC进行短期预测。恒温条件下采集某型号电池40组SOC相关数据,随机选择30组数据用来训练MOSFLA-FLN模型,剩下10组数据作为测试集用来验证模型的泛化能力,部分数据如表1所示。
表1 SOC样本
系统仿真平台为英特尔酷睿i5-8300H CPU、8 GB内存;软件平台为Windows 7 64位系统、MATLAB 2014a。采用trainFLN函数进行模型训练、采用MOSFLA进行FLN模型的参数优化、采用simFLN函数进行模型预测。针对训练集,图3给出了MOSFLA-FLN模型SOC预测结果;针对测试集,图4-图6分别给出了MOSFLA-FLN、SFLA-FLN、FLN模型的SOC预测结果;表2给出了三种模型的预测性能数据。
图3 MOSFLA-FLN针对训练集预测结果
图4 MOSFLA-FLN预测结果
图5 SFLA-FLN预测结果
图6 FLN预测结果
表2 三种模型预测性能
MOSFLA算法利用30组训练样本训练FLN模型,并利用得到的最优模型参数对30组样本进行预测。从图3可以看出,MOSFLA-FLN模型预测结果几乎与SOC真实值完全重合,表明该模型具有良好的预测性能。
为了验证MOSFLA-FLN模型的泛化性能,采用表1中10组测试样本进行SOC预测实验。此外,利用SFLA-FLN、FLN分别对SOC进行预测,对比预测结果以分析模型性能。对比图4-图6,可以发现3种模型的预测曲线预测结果的趋势与SOC真实值几乎一致,表明FLN模型能够预测复杂非线性的SOC值。然而,从图4可以看出,MOSFLA-FLN预测结果几乎与SOC真实值完成重合;图6显示预测结果与真实值之间存在较大误差;图5显示经过SFLA优化后的FLN模型预测效果较图6有了明显改善,但仍然存在一定误差。从表2给出的3种模型预测性能数据中可以看出,MOSFLA-FLN模型的最大绝对误差(AE)为2.71、最大相对误差(RE)为16.36%;SFLA-FLN对应的最大误差分别为5.29和58.09%;FLN对应的最大误差分别为12.90和113.12%,可以看出MOSFLA-FLN模型性能指标最小,进而证明改进的SFLA算法的有效性。
为了准确预测锂电池SOC值,提出了MOSFLA算法优化FLN模型的SOC短期预测方法。首先,采用几何中心变异策略和反学习策略对SFLA算分进行改进以提升算法的全局优化能力。然后利用改进后的SFLA算法预先选择FLN的输入权值和隐层阈值模型参数,并构建MOSFLA-FLN模型。根据强相关原则,选择电池电压、电流为输入参数,SOC值为输出参数,建立SOC预测模型,避免电池内部复杂的非线性关系和数学解析过程。最后通过仿真实验测试MOSFLA-FLN模型的预测性能,结果显示:MOSFLA-FLN模型的SOC预测绝对误差低于2.71,相对SFLA-FLN和FLN模型,泛化能力最优,从而验证了MOSFLA-FLN模型的合理性和实用性。