张 凯
(山东能源枣矿集团蒋庄煤矿,山东 枣庄 27751 9)
摘要:为了实现井下救生舱动力电池SOC (State Of Charge)的估算,将支持向量机(SVM)的方法应用于电池SOC的估算中。为了得到合适的惩罚因子c和核函数K,利用粒子群算法来优化支持向量机;建立了支持向量机模型,对井下救生舱的电池剩余电量进行预测。实验结果表明:采用粒子群优化支持向量机的方法具有较高的准确度,有一定的实用价值。
关键词:电池SOC;粒子群优化;SVM;救生舱 中图分类号:TD77+4
0 引言
煤矿井下矿用救生舱以及避难硐室可为井下遇险矿工提供避难空间的舱室,动力电池作为重要的后备电源,其性能要求要高于其他应用领域。由于动力电池的剩余电量是电压、放电电流和温度等变量的非线性函数,对其计量存在着计量误差大和状态预测性差等问题。支持向量机因具有更好的泛化精度,在非线性模式中得到了应用,为了使支持向量机具有更高的预测精度,惩罚因子C和核函数K的选取尤为重要。本文将粒子群算法应用于支持向量机的寻优中,对电池电量的估计具有非常高的估计精度,达到了满意的预测精度。
1 支持向量机模型
2 基于粒子群算法的SVM参数优化
粒子群算法属于智能方法中的一个成员,用于解决全局优化问题,其中每个粒子都代表空间的一个候选解,种群中的任一粒子通过调节自己的速度运行,以全局最优为向导进行移动,直至全局优化位置。每个粒子通过下列信息改变当前位置:粒子当前位置、粒子当前速度、粒子当前位置与自己最好位置之间的距离、粒子当前位置与群体最好位置之间的距离。粒子群优化支持向量机的步骤如下:
(1)首先设置粒子群的参数:设置粒子群的种群数N、粒子维数d、最大迭代数M、最大速度V max、惯性权重W、学习因子c1和c2。
(2)用训练样本集对种群进行训练,先根据经验和试验大致确定(C,g)的范围,初始化各粒子的位置向量X t和速度向量V t设粒子i的当前最优位置为Pt,Pt=X t(1,2,…,N)。
(3)采用均方差函数作为收敛准则,判断算法收敛准则是否满足。如果满足,转向第6步,否则执行第4步。
(4)将各粒子当前的适应值和最优适应值进行对比,更新粒子的最优适应值。
(5)更新粒子的位置和速度。如果迭代次数已达到最大迭代次数或用已搜索到的最优位置计算出的适应值已满足给定适应值的要求时,则停止迭代。
(6)将测试样本输入到已经训练好的SVM模型预测中,来检验此模型的可靠性。
粒子群优化SVM的主要参数见表1。
3电池实验数据的提取
在实验中,对SE60AHA型磷酸铁锂离子电池进行放电实验,采用ADI公司的AD7280A芯片对电池进行监测,放电容量为30%,放电时环境温度为20℃,放电电流为15 A,获得25组数据,其中15组数据用来训练,10组数据用来测试。训练的数据输入量分为放电电流、电池组电压和环境温度,输出量为目标要求的电池SOC值,分别用Xtrain和Ytrain表示。测试集分别用Xtest和Ytest表示。为了使支持向量机便于训练和测试,还需对采集到的数据进行标准的归一化处理,将数据限制在一定范围之内。这里使用MATLAB工具箱中的mapminmax函数,设置ymin=0,ymin=1,将数据归一化到[0,1],按照下面的公式进行归一化:
4实验步骤
将采集好的数据输入32位Win7电脑,在MATI_AB7.0环境下,采用libsvm工具箱,进行粒子群优化支持向量机的电池SOC估算,算法流程如图1所示。
通过表1中的初始参数,采用libsvm中的psoS-VMcgForClass函数对支持向量机进行寻优,得到最优的惩罚因子C=95,核函数参数g=0.01。将10组测试集数据进行预测,限于篇幅,本文给出了经过归一化后的测试集数据,如表2所示。图2为预测结果与实际结果对比。
由图2可知,采用粒子群优化支持向量机的预测方法,其预测结果与实际结果基本一致,预测结果误差最大的是第三组数据,其预测值为0.58,实际值为0. 64,相差为0.06,故预测的准确率较高。
5结论
动力电池作为井下救生舱重要的后备电源,对电池SOC的估算要求较高。本文采用粒子群算法来优化SVM对电池SOC进行估算,根据井下救生舱的要求建立合适的模型。通过实验结果可知,该方法得到的蓄电池SOC估算结果与实测值基本一致,具有很强的应用价值。
下一篇:基于模板匹配的水泡识别研究