APP下载

改进蚁群算法与BP网络融合预测铅酸蓄电池SOC

2017-02-21薛萍宋岩亮

哈尔滨理工大学学报 2016年6期

薛萍 宋岩亮

摘要:人工神经网络通过模拟人脑神经网络的方式记忆、处理信息,具有很高的智能性,近些年来,被广泛应用在太阳能用铅酸蓄电池剩余电量预测的研究中,但是,收敛速度慢、对初值敏感以及较易陷于局部极小值等是单一神经网络算法难以解决的缺点,针对该问题,将蚁群算法进行改进并与BP神经网络相融合,先采用改进的蚁群算法将BP神经网络的权值参数进行全局训练,然后,采用BP神经网络算法进一步进行局部学习,从而获得最优的BP神经网络权值.最后,通过MATLAB仿真和实验验证了本课题所采用的改进蚁群与BP网络融合算法能明显改善BP网络的收敛速度以及预测精度,能准确地预测出太阳能蓄电池SOC。

关键词:太阳能铅酸蓄电池sOc;改进蚁群算法;蚁群与BP网络融合

DoI:10.15938/j.jhust.2016.05.018

中图分类号:TK02

文献标志码:A

文章编号:1007-2683(2016)05-0095-05

0.引言

太阳能路灯系统中,光伏电池利用光生伏打效应原理产生电能.白天,光伏电池将太阳能转换为电能存人蓄电池;晚上,蓄电池为太阳能路灯提供电能,太阳能道路照明系统由光伏电池、太阳能用铅酸蓄电池、控制器和LED路灯等组成.铅酸蓄电池是太阳能照明系统非常重要的组成部分,但是,相对其他组成部分来说,铅酸蓄电池成本高昂、寿命偏短,因此,对蓄电池进行科学管理是必不可少的一部分,要提高蓄电池寿命,准确预测蓄电池剩余电量是基本前提之一,蓄电池剩余电量(state of charge,SOC),代表电池使用一段时间或长期搁置不用后的剩余容量与其完全充电状态的容量比值,常用百分数表示,目前,安时积分法广泛应用在蓄电池剩余电量在线预测中,但是,安时法存在需要精确计算充放电效率以及测量工具的不精确容易产生累积误差等问题,因此,人们在不断探索采用新的方法来精确预测蓄电池SOC,近十年来,神经网络由于其高智能性得到人们广泛青睐并将该技术应用在铅酸蓄电池SOC的预测中,虽然该方法与传统预测方法相比,它具有非线性、联想记忆、学习和自适应性等重要特征和性质,但是,BP神经网络也有收敛速度慢,对初值设置敏感,容易陷入局部极小值等缺陷和不足,为了克服BP神经网络的上述不足,本文对BP神经网络算法预测蓄电池SOC进行了优化改进,将改进的蚁群算法与BP神经网络算法相结合,先采用改进蚁群算法将权值范围缩小至最优值周围,然后再采用BP神经网络算法训练网络,获得最优权值,最后,建立蓄电池SOC预测仿真模型,验证改进的蚁群算法与BP网络融合来预测蓄电池SOC的有效性。

1.太阳能用蓄电池SOC常用在线预测方法概述

1.2内阻法

研究表明,蓄电池的内阻与SOC有直接的对应关系,但是电池剩余容量大于50%时,蓄电池的内阻变化不太明显,仅在低于50%时,蓄电池内阻才会出现明显的变化.蓄电池内阻一般在毫欧级,一般的测量难于满足精度要求,且通用性差。

1.3神经网络法

神经网络算法作为一门较新的技术受到人们高度重视,与传统控制技术相比,具有无法比拟的优势,该算法具有联想记忆、自学习、非线性、以及一定的泛化和容错能力,有极高的智能性,但是,不容忽视的是,神经网络算法有容易陷入极小值和收敛速度慢等难以解决的问题。

本课题对神经网络法预测蓄电池剩余电量进行深入研究,采用蚁群算法容易与其他智能算法相结合的优点,将改进的蚁群算法与BP神经网络算法相融合,有效地解决了收敛速度慢,容易陷入极小值等问题。

2.改进蚁群-BP网络算法

蚁群算法(ant colony algorithm)是Marco Dorigo博士1992年提出,是一种在图中寻找最优路径的概率算法。

2.1蚁群算法基本原理

蚂蚁在寻找食物的过程中,会挥发出一种叫做信息素的物质,蚂蚁通过感知信息素的强弱进行交流,他们就是通过这种方式达到搜寻食物的目的,蚂蚁趋向于信息素强的路径,若某一路径信息素越强,则该路径能吸引越多的蚂蚁通过,这种现象称为蚁群的正反馈现象。

蚁群算法对初始路径要求不高,具有全局搜索功能,而且还较易与其他智能算法结合,但是,该算法也有一些缺陷:①解決大规模问题时,较难在可接受的循环周期内找到最优值;②蚂蚁趋向于信息素强的路径,但是,往往出现信息素最强的路径不是最优路径等问题,针对以上情况我们将对蚁群算法进行改进,最大程度避免搜索时间过长,搜索进度停滞等现象。

2.2蚁群算法的改进

一般来说,一个解决方案越优秀,越有可能在他周边搜寻到最优解;反之,方案越差,在他的周围基本没有找到最优解可能,因此,本改进算法的思想是增强较优解,削弱较差解,使得路径越短的边信息素强度越大,越长的边信息素强度越弱,从而增大较优解与较差解之间的信息素差异,从而使蚂蚁搜索路径集中于较优解附近。

2.3改进蚁群算法与BP网络的融合

设网络中有m个待优化的参数,对于每个参数Ai(1≤i≤m),将其分割为n份,从而形成一个m×n大小的集合B,设释放蚂蚁数为K,每只蚂蚁按照伪随机比例规则在集合B中分别选择相应的值并记录下来,从而形成禁忌表.当蚂蚁对各个参数选择相应的值后,形成一次循环,然后计算各蚂蚁所经过的路径,并评选出最优和最差蚂蚁,进而对信息素进行更新调节,这一过程反复进行,直到达到最大循环次数或者达到预期的精度要求,此时,所求结果为较优解.将改进蚁群算法求得的较优解作为BP神经网络算法的初始值,然后经过BP网络训练找出最优解。

改进蚁群与BP网络融合算法具体步骤如下:

步骤1):信息初始化,包括定义信息素的定义域,初始值,设置蚂蚁个数,最大迭代次数以及BP算法网络结构,训练误差等等。

步骤4):重复步骤2)、3)直到每只蚂蚁生成一条路径;

步骤5):以BP网络实际输出值和期望值的均方误差大小进行排序,并评出最优和最差蚂蚁。

步骤6):对所有蚂蚁按照公式(1)执行全局信息素更新;

步骤7):重复以上步骤,直到满足迭代终止条件。

步骤8):将改进蚁群算法求出的最优解作为BP神经网络的初始权值,然后,训练网络,根据网络的期望输出与实际输出的误差进行反馈调节,进一步调整权值到最优。

步骤9):利用测试样本数据对网络的精度和泛化能力经行检验,若能达到设计要求,则算法结束,否则,重新从第一步开始。

3.改进蚁群与BP网络融合算法在铅酸蓄电池SOC预测中应用

铅酸蓄电池的化学特性复杂,不能经过直接测量获得蓄电池SOC,而蓄电池的外特性:在线电压,放电电流和环境温度等与剩余电量之间存在某种非线性关系,本课题,我们利用蓄电池放电过程中容易测量的数据:端电压、放电电流、环境温度作为改进蚁群BP网络的输入,蓄电池SOC作为输出,建立仿真模型,验证试验效果。

3.1改进蚁群与BP网络融合算法参数设置

蚁群算法参数设置如下:待优化的權值变量数m=20,蚂蚁数K=40,最大迭代次数100。

BP神经网络选择一个隐含层,其节点数选为5,隐层以及输出层传递函数皆选择Sigmoid函数,trainlm作为训练函数,训练次数设为5000,误差0.005,其他参数默认。

3.2样本数据的采集

环境温度越低,蓄电池的总容量则越小,从而在放电情况相同时,因温度不同,蓄电池SOC会有所不同;放电电流的大小和在线电压对蓄电池SOC也有特定的关系.采用神经网络算法的优点是不需知道蓄电池内部复杂的化学特性,仅仅通过采集蓄电池外特性和剩余电量的特定关系数据,通过网络训练,即可达到预测蓄电池SOC的目的.本文采样对象为:输出电压12V,容量54 AH铅酸免维护蓄电池,所采集90组数据作为训练样本,17组作为预测样本,部分样本数据如表1所示。

3.3仿真结果及分析

3.3.1蚁群算法的改进仿真

图1为改进前后蚁群算法进化曲线.从图中可以看出改进后的蚁群算法收敛速度要优于改进前的蚁群算法,改进后的算法误差精度可达0.15,改进前精度则为0.18。

3.3.2改进蚁群与BP网络融合仿真

图2为蚁群BP网络融合算法训练曲线,图3为单-BP网络训练曲线.从图中可看出,改进的蚁群-BP神经网络融合算法收敛速度明显快于单-BP神经网络的收敛速度,前者均方误差精度可达0.0045,后者误差精度在0.005。

3.3.3预测结果分析

表2为训练好的网络的预测值与样本值对比结果,图4为网络输出值与样本值对比数据曲线,

由网络预测值与实际样本值对比可知,蓄电池sOc预测值与实际值误差不超过2.5%,该网络能比较准确预测太阳能用铅酸蓄电池的剩余电量。

4.结语

本课题所采用的改进蚁群一BP网络算法加速了BP网络收敛速度和减小了误差精度,能有效预测出太阳能铅酸蓄电池剩余电量,该方法使得均方误差值达到最小,实现了最优预测,并且通用性强,具有很强的可操作性。