一种基于生物进化的锂电池SOC估算方法与流程

文档序号:12120018阅读:349来源:国知局
一种基于生物进化的锂电池SOC估算方法与流程

本发明涉及锂电池SOC估算方法,具体地,涉及一种基于生物进化的锂电池SOC估算方法。



背景技术:

随着科学技术和工业技术的发展,能源危机和大气污染问题日益严重。根据北京市环保局2013年的调查数据,机动车排放占整个PM2.5排放量的31.1%。从经济、技术和环保方面考虑,电动汽车的优势在于零排放,低噪音,高效率,发展电动汽车将成为治理大气污染、解决能源危机的重要途径之一。当前电动汽车存在续航时间短,动力性能不足等问题,而电动汽车发展的关键技术问题在于动力电池技术的发展,各国政府都提出了相应的技术战略。日本在2012年实施蓄电战略,提出锂电池产业在2020年要达到世界份额的50%;美国也提出了2020年拥有1400万电动汽车的目标;法国和德国都提出了相应的动力电池技术战略;我国也将动力电池技术列为“十一五”、“十二五”节能与新能源汽车重大项目的重要研究方向。

锂电池具有稳定的安全性能和高比容量的特性,因此成为电动汽车动力电池的主要组成部分,SOC作为体现锂电池内部状态的重要参量,准确估算SOC是在锂电池技术中基础而又关键的一环。准确估算锂电池的SOC,具有重要的现实意义:首先SOC直接反映锂电池的工作能力,可以作为设计混合动力汽车控制系统的参考,有效提升混合电动汽车能量管理系统的性能,合理分配电动汽车能量使用;其次,准确的SOC估计可以有效预防过充放,最大限度延长电池的寿命,监控电池的SOC并根据电池组中各单体电池SOC的差异进行能量分配,保证电池电量的一致性,可以延长电池组单次充电后的使用时间。

SOC的估算不准确会导致电池的安全性降低,缩短电池的使用寿命;同时会影响电动车续航时间的准确计算,降低电池的使用效能。SOC作为锂电池的内在特性,很难通过传感器直接测量,其运行过程中受到温度、放电电流、自放电、电池寿命等因素影响,从而呈现复杂的非线性,因此寻求一种准确的SOC估算方法是当前动力电池行业的重要研究课题。

SOC是描述锂电池运行状态的重要参数,但SOC同其他电池参数,如温度,内阻,自放电,寿命等影响因素的关系呈现高度的非线性,使得锂电池的SOC估计难度很大,目前电池SOC估算的策略主要有以下几种:开路电压法、阻抗分析法,安时积分法、卡尔曼滤波法。

开路电压法是日本EV Project Department,DENSO Corporation提出来的,当电池经过长时间的静置后,其两端的电压与SOC有着相对固定的函数关系,因此可以根据锂电池的两极电压来估算SOC。开路电压法在电池运行初期和末期是有效的,但是却有着很明显的缺点,电池的开路电压测量必须将电池长时间静置,当电压达到相对稳定时测得的电压才是有效的,并且受到温度、电池寿命等因素印象,因此开路电压法比较适合电池静置的情况下估算SOC。

阻抗分析法是锂电池在使用过程中,电池内阻包含交流内阻和直流内阻。电流交流阻抗是指电池电压与电流之间的传递函数。对于电池交流阻抗,其受到温度的影响很大,并且在交流阻抗的检测状态还存在较大分歧;直流电阻是指电池电压的变化量与电流变化量的比值,直流电阻的检测受到检测时间、工作状态的影响,检测时间过短,只有欧姆电阻可以检测到,检测时间过长,内阻模型将变复杂;在放电初期,直流电阻相对变化大,到放电后期,内阻才相对稳定。因此,使用内阻法估算SOC难度较大,一般不用于实际估算。

安时积分法是通过计算锂电池的放电电流对某段时间的积分来计算电池的SOC,假设初始SOC为SOC0,那么当前时刻的SOC为中CN是电池的额定容量,I(τ)是τ时刻的放电电流,η是库仑效率,安时积分法从不需要建立复杂的SOC模型,而是记录电池能量的流动情况,但是这也会导致估算结果受到电池温度、充放电倍率、电池老化等状态因素的影响而出现误差,同时电流测量也存在时间上的累积误差,另外初始时刻的自放电现象也会影响SOC的估算结果,因此在实际应用中,一般将安时积分法作为SOC估算的参考值,与其他方法结合使用来提高估算精度。

卡尔曼滤波算法基于最小均方差原理,将SOC作为系统的状态量,用系统的状态方程描述状态转移过程,通过状态方程的转移特性描述各个时刻之间的状态相关函数,从而实现SOC估算[7],卡尔曼滤波算法的核心在于建立电池等效模型,常见的模型有等效电路和电化学模型,卡尔曼滤波算法用于电池SOC估算的主要问题在于:对电池模型要求较高,建立准确的电池模型才能获得准确的SOC,而准确程度的要求越高,模型的复杂度也会增大;卡尔曼,滤波算法需要做大量的矩阵运算,计算量很大。



技术实现要素:

基于现有锂电池的SOC估算方法的不足,本发明创造的目的在于提供一种解决了由于锂电池本身特性而存在的问题,利用遗传算法来优化BP神经网络的权值阈值,大大降低了锂电池SOC估算的误差。

现有的锂电池的SOC估算方法:开路电压法受到温度、电池寿命等因素印象,因此开路电压法比较适合电池静置的情况下估算SOC;阻抗分析法对于电池交流阻抗,其受到温度的影响很大,并且在交流阻抗的检测状态还存在较大分,直流电阻的检测受到检测时间、工作状态的影响,检测时间过短,只有欧姆电阻可以检测到,检测时间过长,内阻模型将变复杂;在放电初期,直流电阻相对变化大,到放电后期,内阻才相对稳定,因此使用内阻法估算SOC难度较大,一般不用于实际估算;安倍积分法会导致估算结果受到电池温度、充放电倍率、电池老化等状态因素的影响而出现误差,同时电流测量也存在时间上的累积误差,另外初始时刻的自放电现象也会影响SOC的估算结果;卡尔曼滤波算法用于电池SOC估算的主要问题在于对电池模型要求较高,建立准确的电池模型才能获得准确的SOC,而准确程度的要求越高,模型的复杂度也会增大;卡尔曼,滤波算法需要做大量的矩阵运算,计算量很大。

本发明的目的是:解决了由于锂电池本身特性而存在的问题,利用遗传算法来优化BP神经网络的权值阈值,大大降低了锂电池SOC估算的误差。

为了实现上述目的,本发明提供了一种基于生物进化的锂电池SOC估算方法,其特征在于:包括BP网络神经模型、BP网络神经算法、网络样本数据获取、样本数据的预处理、BP神经网络结构设计、网络估算SOC测试、GA遗传算法、优化构架设计、优化后的网络测试,利用所述GA遗传算法来优化所述BP神经网络的权值和阈值,其步骤为:a、确定网络拓扑结构,b、确定遗传算法参数及编码,c、解码得到权值和阈值,d、计算神经网络的输出并得到适应值,e、确定是否满足终止条件,如果满足终止条件就结束,如果不满足终止条件,就经过遗传算法选择、变异、交叉产生新的群体再返回步骤c继续训练。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络是由输入层、隐含层、输出层组成的多层神经网络,其每一层最基本的组成单位就是神经元,根据所述神经元构建所述BP神经网络模型,得出相应的所述输出层变换函数是线性函数f(x)=x,所述隐含层变换函数是单极性Sigmoid函数或者是双极性Sigmoid函数

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络算法流程是:(1)初始化,(2)输入样本对,计算各层误差,(3)计算网络输出误差实际应用中更多的是采用均方根误差(4)计算各层误差号(5)调整权值和阀值(6)判断是否所以的样本都被训练,若样本计数小于网络训练次数,那么样本计数和网络训练次数都增加1,返回步骤(2),否则转步骤(7),(7)判断是否满足误差精度要求和终止条件,若满足均方根误差小于最小误差或者样本计数小于最大样本计数,训练完成,否则误差置0,样本计数置1,返回(2)继续训练。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述网络样本数据获取包括网络样本数据采集、样本SOC计算。所述网络样本数据采集可以得到电压-SOC关系,根据所述样本SOC计算采用安时积分法估算得到的SOC作为标准SOC是可行的,计算公式:所述样本SOC计算将温度和放电电流倍率的影响考虑了进去。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述样本数据的预处理包括数据的归一化处理、数据的随机排列,所述数据的归一化处理将数据归一化到区间[-1,1],采用的是MATLAB工具箱自带的mapminmax函数,所述数据的随机排列是对训练样本数据进行随机排序,可以避免相似样本过于集中。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络结构设计包括输入输出层设计、隐含层设计,设计所述BP网络神经结构的层数,得出隐含层数目,所述隐含层设计通过采用试探法,公式:j=log2n,根据上述公式,确定隐含层节点数目范围,利用MATLAB工具箱采用tansig函数作为隐含层节点的变换函数,同时采用LM算法作为网络学习算法组建网络进行试探,取多次训练的平均MSE为判断标准,可以得到网络性能与隐含层节点的关系,设定隐含层节点数。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的根据上述确定的所述BP网络神经结构的层数、所述隐含层数目、所述隐含数节点数进行所述网络估算SOC测试。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述遗传算子包括选择算子、交叉算子、变异算子,所述GA遗传算法根据个体的适应度值来模拟自然环境下的筛选过程,通过选择、交叉、变异等操作产生新的个体,这个过程将使得整个种群朝着有利于最优近似解的方向发展,所述染色体编码采用的是浮点数编码。所述适应度函数应满足单值、非负、连续等条件,所述适应度函数还应该尽可能简单,减少计算量。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述选择算子是适应度比例方法,所述选择算子还包括均匀排序法、最优保存策略、随机联赛选择、排挤选择等。所述交叉算子是所述浮点数编码的算术交叉,所述浮点数编码还包括离散交叉等,所述交叉算子还适用于二进制编码的单点交叉、多点交叉、均匀交叉等,所述变异算子是非均匀变异方式,常用的所述变异算子还包括均匀变异、边界变异、高斯变异等。

作为本发明基于生物进化的锂电池SOC估算方法改进,本发明基于生物进化的锂电池SOC估算方法的所述优化构架设计是所述遗传算法优化所述BP神经网络算法是将所述遗传算法全局搜索能力强和收敛速度快的优势和神经网络非线性拟合能力的结合起来,以达到克服神经网络收敛速度慢盒容易陷入局部误差极小的缺点的目的。所述遗传算法的终止条件为达到所需精度或者达到最大进化次数。最后比较优化后和优化前的估算效果和误差比较。

与现有技术相比较,本发明具有以下有益效果:解决了由于锂电池本身特性而存在的问题,利用遗传算法来优化BP神经网络的权值阈值,大大降低了锂电池SOC估算的误差。

附图说明

图1为本发明基于生物进化的锂电池SOC估算方法优选实施方式的单神经元模型

图2为本发明基于生物进化的锂电池SOC估算方法优选实施方式的三层神经网络结构示意图

图3为本发明基于生物进化的锂电池SOC估算方法优选实施方式的传算法流程图

图4为本发明基于生物进化的锂电池SOC估算方法优选实施方式的遗传算法优化BP神经网络流程图

具体实施方式

下面结合附图1-4,对本发明基于生物进化的锂电池SOC估算方法进行如下说明。

首先对BP网络神经算法和GA遗传算法进行如下相关说明。

BP网络神经算法又称为误差反向传播算法,是至今为止应用最广的神经网络,BP神经网络结构简单、扩展性强,被广泛应用于函数逼近、模式识别、分类、数据压缩等领域。BP神经网络是由输入层、隐含层、输出层组成的多层神经网络,其每一层最基本的组成单位就是神经元,基本的神经元模型图1,其中X=(x1,x2,…)是神经元的输入,y是神经元的输出,W=(w1,w2,…)是可调输入权值,B=b是神经元的阈值,f(net)是神经元的激励函数。输入信号通过输入权值连接(加权求和)进入神经元,通过激励函数得到输出y。

GA遗传算法是基于Darvin的进化论和Mendel的基因遗传原理发展而来的一种优化算法。遗传算法将待求解问题表示成“染色体”,初始种群为待求解问题解集范围内的个体,种群由一定数目的经过编码的个体组成,按照适者生存和优胜劣汰的规则,逐代演化出越来越好的近似解。遗传算法根据个体的适应度值来模拟自然环境下的筛选过程,通过选择,交叉,变异等操作产生新的个体,这个过程将使得整个种群朝着有利于最优近似解的方向发展。

本发明提供了一种基于生物进化的锂电池SOC估算方法,其特征在于:其包括BP网络神经模型、BP网络神经算法、网络样本数据获取、样本数据的预处理、BP神经网络结构设计、网络估算SOC测试、GA遗传算法、优化构架设计、优化后的网络测试,利用所述GA遗传算法来优化所述BP神经网络的权值和阈值,其步骤为:a、确定网络拓扑结构,b、确定遗传算法参数及编码,c、解码得到权值和阈值,d、计算神经网络的输出并得到适应值,e、确定是否满足终止条件,如果满足终止条件就结束,如果不满足终止条件,就经过遗传算法选择、变异、交叉产生新的群体再返回步骤c继续训练。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络是由输入层、隐含层、输出层组成的多层神经网络,其每一层最基本的组成单位就是神经元,根据所述神经元构建所述BP神经网络模型,得出相应的所述输出层变换函数是线性函数f(x)=x,所述隐含层变换函数是单极性Sigmoid函数或者是双极性Sigmoid函数。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络算法流程是:(1)初始化,(2)输入样本对,计算各层误差,(3)计算网络输出误差实际应用中更多的是采用均方根误差(4)计算各层误差信号(5)调整权值和阀值(6)判断是否所以的样本都被训练,若样本计数小于网络训练次数,那么样本计数和网络训练次数都增加1,返回步骤(2),否则转步骤(7),(7)判断是否满足误差精度要求和终止条件,若满足均方根误差小于最小误差或者样本计数小于最大样本计数,训练完成,否则误差置0,样本计数置1,返回(2)继续训练。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述网络样本数据获取包括网络样本数据采集、样本SOC计算。所述网络样本数据采集可以得到电压-SOC关系,根据所述样本SOC计算采用安时积分法估算得到的SOC作为标准SOC是可行的,计算公式:所述样本SOC计算将温度和放电电流倍率的影响考虑了进去。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述样本数据的预处理包括数据的归一化处理、数据的随机排列,所述数据的归一化处理将数据归一化到区间[-1,1],采用的是MATLAB工具箱自带的mapminmax函数,所述数据的随机排列是对训练样本数据进行随机排序,可以避免相似样本过于集中。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络结构设计包括输入输出层设计、隐含层设计,设计所述BP网络神经结构的层数,得出隐含层数目,所述隐含层设计通过采用试探法,公式:j=log2n,根据上述公式,确定隐含层节点数目范围,利用MATLAB工具箱采用tansig函数作为隐含层节点的变换函数,同时采用LM算法作为网络学习算法组建网络进行试探,取多次训练的平均MSE为判断标准,可以得到网络性能与隐含层节点的关系,设定隐含层节点数。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的根据上述确定的所述BP网络神经结构的层数、所述隐含层数目、所述隐含数节点数进行所述网络估算SOC测试。

本发明一种基于生物进化的锂电池SOC估算方法的所述遗传算子包括选择算子、交叉算子、变异算子。所述GA遗传算法根据个体的适应度值来模拟自然环境下的筛选过程,通过选择、交叉、变异等操作产生新的个体,这个过程将使得整个种群朝着有利于最优近似解的方向发展。所述染色体编码采用的是浮点数编码。所述适应度函数应满足单值、非负、连续等条件,所述适应度函数还应该尽可能简单,减少计算量。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述选择算子是适应度比例方法。所述选择算子还包括均匀排序法、最优保存策略、随机联赛选择、排挤选择等。所述交叉算子是所述浮点数编码的算术交叉,所述浮点数编码还包括离散交叉等,所述交叉算子还适用于二进制编码的单点交叉、多点交叉、均匀交叉等。所述变异算子是非均匀变异方式,常用的所述变异算子还包括均匀变异、边界变异、高斯变异等。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述优化构架设计是所述遗传算法优化所述BP神经网络算法是将所述遗传算法全局搜索能力强和收敛速度快的优势和神经网络非线性拟合能力的结合起来,以达到克服神经网络收敛速度慢盒容易陷入局部误差极小的缺点的目的。所述遗传算法的终止条件为达到所需精度或者达到最大进化次数。最后比较优化后和优化前的估算效果和误差比较。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP网络神经算法首先构建所述BP神经网络模型,三层BP神经网络结构图图2,三层BP神经网络包括所述输入层、所述隐含层、所述输出层,X=(x1,x2,…xn)是网络的输入矩阵,xn为输入特征向量,W=(w0,w1,…wn)是输入层和隐含层之间的连接权值矩阵,wn是权值向量,其中w0是阈值向量,V=(v0,v1,…vn)是隐含层和输出层之间的连接权值,vn是权值向量,其中v0是阈值向量,y是输出向量,对于所述输出层,有以下关系:

yk=f(netk) k=1,2,3,...l (3-1)

对于所述隐含层,有以下关系:

yj=f(netj) j=1,2,3,...m (3-3)

在上述关系中,所述输出层变换函数是线性函数:

f(x)=x (3-5)

所述隐含层变换函数是单极性Sigmoid函数:

或者是双极性Sigmoid函数:

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP网络神经算法流程如下:

(1)初始化

给权值向量W和V赋初始值,将样本计数p和网络训练次数q初始化为1,误差E置0,学习率η为0~1之间的小数,网络预期精度Emin设为正小数。

(2)输入样本对,计算各层误差

输入当前样本Xp,dp,并根据式(3-5)和式(3-7)计算出各层的输出值Y和O;

(3)计算网络输出误差

针对P对训练样本,网络对于样本p的误差可以将全部样本的输出误差求几何平均值,作为总的误差,实际应用中更多的是采用均方根误差你。

(4)计算各层误差信号

计算误差和

调整权值和阈值

根据误差调节下一次的权值W,V:

(5)判断是否所有的样本都被训练

若p<P,p,q增加1,返回步骤(2),否则转步骤(7)。

(6)判断是否满足误差精度要求和终止条件

若满足ERME<Emin或者p<Pmax,训练完成,否则E置0,p置1,返回步骤(2)继续训练。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述所述网络样本数据获取:

1.1.1网络样本数据采集

网络训练样本需要较好地覆盖整个参数范围。

1.1.2样本SOC计算

前文提到,安时积分法简单、可靠,适合所有的电池进行SOC的估算,一般作为SOC的标准,与其他方法结合使用。但是安时积分法在实际应用中存在以下问题:

(1)容易受到电池温度、电流波动的影响;

(2)电池测量存在的误差会逐渐累积;

(3)需要大量样本数据;

本发明采用的测试方案是恒温条件下的恒流放电,因此温度和电流的波动很小,可以忽略;电池测试系统的电流测量精度非常高,累积误差很小;电池的间隔采样时间为30s,总的数据量达到6500个以上,满足样本数据数量的要求,因此将采用安时积分法估算得到的SOC作为标准SOC是可行的,计算公式:

其中I是当前的放电电流,η充放电效率,CI,T是当前电流和温度下电池所能放出的总电量,由于锂电池在温度、放电电流倍率不同的情况下所能放出的全部电量是不同的,因此这里将温度和放电电流倍率的影响考虑了进去。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述样本数据的预处理包括了两个步骤:

(1)数据的归一化处理

样本数据具有不同的量纲,通常在网络训练之前要将训练样本进行归一化,通常采用的方式是将数据归一化到区间[-1,1],采用的是MATLAB工具箱自带的mapminmax函数。

(2)数据的随机排序

由于样本数据是在一定温度下恒流放电测得的,因此会存在电压是变化的,但是电流和温度都是恒定的情况,如果按照样本数据原本的顺序进行网络训练,电流和温度过于集中,会造成网络训练学习过程出现振荡,使得收敛时间变长或者不收敛的情况发生。因此需要对训练样本数据进行随机排序,避免相似样本过于集中。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述BP神经网络结构设计如下:

输入输出层设计

输入参数选择为电压、放电电流、温度,因此输入层具有3个节点;输出参数为SOC,因此输出层具有1个节点,输出节点的变换函数为purelin(纯线性函数)。

隐含层设计

设计的BP神经网络结构为3层,因此隐含层数目为1。隐含层节点数目的确定由于对网络结构理论的研究不够完善,没有具体的理论可以指导,因此根据实际情况采用试探法。在试探之前,先根据一些经验公式得到隐含层节点数目的大致范围:

j=log2n (3-13)

n为输入层节点数。

m为输出层节点数,n为输入层节点数,α为0~10之间的整数,本发明采用式(3-14),确定隐含层节点数目范围为,利用MATLAB工具箱采用tansig函数作为隐含层节点的变换函数,同时采用Leverberg-Marquardt(LM)算法作为网络学习算法组建网络进行试探,取多次训练的平均MSE(最小均方差)为判断标准,可以得到网络性能与隐含层节点的关系。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述网络估算SOC测试:

根据上述分析,得到相应的数据利用MATLAB编程环境测试网络估算效果。BP神经网络的估算效果较好,实际值和估算值基本一致。为了更加直观和精确的分析误差,将实际值和估算值做绝对误差。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的以上主要阐述了BP神经网络的相关理论,并针对SOC估算进行了BP神经网络的模型分析,简要介绍了整个BP神经网络建立的过程,最终对BP神经网络估算SOC的效果进行了分析。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述GA遗传算法首先构建遗传算法流程图,图3,本发明采用浮点数编码1,产生初始种群2,计算个体适应度3,是否满足结束条件4,如果满足条件就结束9,如果不满足条件就进行选择5、交叉6、变异7,得到下一代种群8,再返回个体适应度计算3继续计算。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述染色体编码选择浮点数编码1,浮点数编码1是将个体的基因用处于特定范围内的浮点数表示,个体的编码长度等于变量的个数。本文采用的即是浮点数编码1的方法。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述适应度函数是用来模拟种群个体对整个自然环境的适应能力,对应于遗传算法中个体在在解集范围中最接近最优解的程度。适应度函数是评价个体在环境中适应能力的准则,适应度函数应该是非负的,有时候求的是最大值,有时候求的是最小值。设计适应度函数应满足单值,非负,连续等条件;还需要尽可能简单,以达到减少计算工作量的目的;复杂程度要根据具体问题而定。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述遗传算子包括:

(1)选择5

选择5是在群体中选择适应能力强的个体参与新群体进化的过程,这个过程也称为复制。选择5操作是交叉和变异的基础,其主要目的是为了避免适应性强的基因丢失,提高全局收敛性和计算效率。本实施例所用的方法为适应度比例方法,在其他实施例中还采用适应度比例方法(轮盘赌法)、均匀排序法、最优保存策略、随机联赛选择、排挤选择等方法,。

适应度比例方法操作过程为假设某个个体i,其适应度为fi,种群大小为N,则该个体被选中的概率为

(2)交叉6

遗传算法中的交叉6操作是模仿生物自然进化过程中两个染色体通过重组形成新的染色体的过程,交叉6操作可以不断产生新的个体,增加种群多样性,扩大寻优范围,在遗传算法扩展求解空间发挥着重要作用。本实施例采用的是浮点数编码1,所以本实施例采用是算术交叉6,在其他实施例中还采用二进制编码的单点交叉、多点交叉、均匀交叉等,浮点数编码1的离散交叉等。

算术交叉6是选择个体的基因进行线性组合以产生新的染色体的过程,假设选择了两个个体XA、XB,将两个个体进行交叉6运算的过程为:

X′A=αXB+(1-α)XA (4-2)

X′B=αXA+(1-a)XB (4-3)

如果α为常数就是均匀算术交叉6,如果α为变量,则称为非均匀算术交叉。

(3)变异7

变异7操作是模拟自然进化过程中基因发生突变,从而产生新的染色体的过程。变异7操作就是将个体染色体编码串中的某些基因在一定变异7概率下实现替换,它可以有效地扩大遗传算法的局部搜索范围,防止算法过早收敛。本实施例主要采用的是非均匀变异方式,在其他实施例中还采用均匀变异、边界变异、非均匀变异、高斯变异等:

非均匀变异算子的过程为:

其中γ为随机的0或者1,vk为按照一定概率选择的基因,v′k为新产生的基因,函数Δ(t,y)的具体公式可以是:

其中r是[0,1]的随机数,T是最大代数,t是当前代数,b是非均匀度的系统参数,一般取值为2~5。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法的所述优化构架设计如下:

遗传算法优化BP神经网络算法是将遗传算法全局搜索能力强和收敛速度快的优势和神经网络非线性拟合能力的结合起来,以达到克服神经网络收敛速度慢和容易陷入局部误差极小的缺点的目的,如图4,流程为:确定网络拓扑结构10,确定遗传算法参数及编码11,解码得到权值和阈值12,计算神经网络的输出并得到适应度值13,是否满足条件14,如果满足流程结束16,如果不满足则遗传算法选择,交叉,变异产生新的群体返回解码得到权值和阈值12继续流程。

适应度函数采用实际SOC值与网络估算的SOC值的绝对误差最大值,即:

E=max(Y′out-Yout) (4-6)

其中Y′out是网络估算的SOC值,Yout是实际的SOC值,算法的终止条件为达到所需精度或者达到最大进化次数。

在本实施例中,本发明基于生物进化的锂电池SOC估算方法最后做优化后的网络测试,比较优化后和优化前的估算效果和误差比较。

与现有技术相比较,本发明具有以下有益效果:解决了由于锂电池本身特性而存在的问题,利用遗传算法来优化BP神经网络的权值阈值,大大降低了SOC估算的误差。

虽然本发明已经参考具体的实施方式进行描述,但是本领域技术人员通过阅读上述描述后,将可以对本发明做出显而易见的修改和修饰,而不违背本发明的意图和本质,本发明有意将这些修改和修饰包括在权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1