基于ABC-SVM固体氧化物燃料电池电堆建模与仿真
2020-09-01靳方圆周海峰
靳方圆,周海峰,熊 超
(1.集美大学轮机工程学院,福建 厦门 361021;2.福建省船舶与海洋工程重点实验室,福建 厦门 361021)
0 引言
燃料电池以其高效、洁净和安全等诸多优点获得了世界各国的高度重视,其中固体氧化物燃料电池(solid oxide fuel cell ,SOFC)因其工作温度高(800~1 000 ℃),不使用贵金属催化剂,功率密度大,能量转化效率高和对燃料的种类和质量要求较低等优点,已然成为燃料电池技术研究热点和发展方向。
燃料电池的性能常用其单电池或电池堆的输出电压/电流密度特性来描述[1]。SOFC电堆环境的复杂性、密闭性和高温性,致使局部实验非常困难,因此建立SOFC数学模型对于燃料电池的发展至关重要[2-4]。目前研究人员已经从热力学、电化学、流体力学和材料学等方面建立一些详细的模型[5-7]。这些数学模型对理解和设计SOFC电堆结构非常有益,但是对燃料电池控制系统的设计帮助不大。
Arriagada等[8]建立了SOFC的人工神经网络(ANN)模型,该模型基于人工神经网络理论,结构简单、精度较高但是需要大量的训练数据。Wu等[9]建立SOFC的GA-RBF神经网络模型,利用遗传算法优化RBF神经网络的参数,选择优化后的参数使RBF神经网络模型的精度明显提高。Huo等[10]提出SOFC的SVM模型,其与人工神经网络(ANN)辨识模型性能对比有明显的改善,但是仍有较大误差。支持向量机是一种基于结构风险最小化模型的小样本学习方法,具有更严谨的理论和数学基础,需要更少的样本数目,解决了人工神经网络小样本、非线性、过拟合等缺点。人工蜂群算法(ABC)[11]是源于蜜蜂采集花蜜行为的智能算法,和传统算法(GA、PSO等)相比,具有更好地收敛性,且算法简单、参数少、编程简单。
将两者结合,通过ABC算法强大的数值优化能力来优化SVM参数,建立更加精确有效的SOFC电堆模型。
1 基于人工蜂群算法优化支持向量机
1.1 人工蜂群算法
人工蜂群算法(artificial bee colony,ABC)模拟蜂群采蜜行为,将蜂群分为采蜜蜂、观察蜂和侦察蜂,采蜜时各个蜂种分工明确并保障信息共享,是一种仿生物的智能全局优化算法。
(1)
其中:i,k=1,2,…,N;d=1,2,…,D;φid是区间[-1,1]上的随机数;k≠i。
(2)
其中:Fi是解Xi的适应度值;pi为蜜源;Xi为被选中的概率。
(3)
1.2 人工蜂群优化SVM算法设计
本文使用的为LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一种简单、易于使用的和快速有效的SVM模式辨别和回归的工具包[12]。SVM参数优化问题一直是SVM技术发展的核心。
ABC算法优化SVM的参数有核函数宽度g、惩罚系数c(控制模型复杂度与逼近误差折中的量[12]),则ABC算法是在两维搜索空间中进行搜索。构造适合的种群数目、最大迭代次数和最大‘limit’。初始化最优的蜜源位置Xbest=(gbest,cbest)和最优适应度值F。
根据ABC算法寻优得到的蜜源Xi作为SVM参数的初始值,对支持向量机进行训练,由于SVM辨识技术具有良好的泛化性能,为了提高辨识模型的精度,用训练集训练SVM模型,再利用测试集测试该模型有效性,因此本文取Xi作为SVM参数(核函数宽度g和惩罚系数c)的初始值,根据该模型的预测输出与期望输出的均方误差建立适应度函数,即
(4)
其中:n为测试集样本数;yi(i=1,2,…,n)为第i个样本的期望值;f(xi)(i=1,2,…,n)为第i个样本的预测值。
适应度值越接近0,则模型的精度就越高,采用贪婪选择策略来决定是否更新Xbest=(gbest,cbest),然后更新蜜源位置和蜜蜂的种类和数量。达到最大迭代次数时,算法结束。
ABC-SVM算法设计流程如下。
1)初始化;设维度D=2,迭代次数为nmax,限制参数‘limit’数为limit以及种群规模SN和蜜源数N,确定搜索范围,生成初始种群,蜜源X=[X1,X2,…,XN],Xi=(xi1,xi2,…,xiD)。
2)根据公式(4)建立适应度函数。
3)For(i 4)采蜜蜂根据公式(1)寻找蜜源,计算F并选出最优适应度值。 5)观察蜂根据公式(2)更新选择蜜源。 6)蜜源超过最大‘limit’次数,放弃该蜜源,观察蜂根据公式(3)产生新的蜜源。 7)保留最好的蜜源。 8)End。 9)最优解c和g。 10)建立ABC-SVM模型。 SOFC是一种非线性、大时滞、多输入多输出和随机干扰等特点的系统[14],SOFC的辨识模型常采用简洁模型结构为非线性自回归滑动平均模型(NARX)[13]: U(k+1)=f[U(k),U(k-1),…,U(k-n); qH2(k),…,qH2(k-m);I(k)],k=1,…,N。 (5) 其中:U(k-i)(i=0,1,…,n)是SOFC系统在k-i这一时刻的输出;qH2(k-i)(i=0,1,…,m)是SOFC系统在k-i这一时刻的氢气转化速率;I(k)电堆电流;f(·)表征系统待辨识非线性函数。qH2(k)、I(k)为输入变量;U(k)为系统输出变量。 SOFC系统的ABC-SVM辨识模型结构[13]如图1所示。其中:TDL为延迟环节。 (6) 根据SOFC电堆的动态模型可知,其电压/电流密度曲线受多种因数影响(阳极氢气流速、阴极氧气流速、电堆温度、电堆各气体压力等)。本文采集数据仅考虑阳极氢气流速对电堆性能的影响。根据文献[14]建立SOFC的动态模型,并采集数据。本文是在电堆温度T=1 273 K条件下,采集不同氢气流速下的SOFC电压和电流数据,将数据分为测试集和训练集。 本文取氢气的流速分别为1.6,1.8,2.4 g/s的电压/电流数据为训练集,氢气的流速为2.0 g/s的电压/电流数据为测试集,如图2所示。 首先利用训练得到的ABC-SVM模型验证训练集,结果如图3所示。ABC-SVM模型预测曲线可以很好的拟合训练集曲线;然后用该模型验证测试集,如图4a所示。作为对比,使用同样的训练集和初始参数,训练SVM、PSO-SVM和GA-SVM模型,并用测试集验证SVM、PSO-SVM和GA-SVM模型的准确性,实验结果如图4b、4c、4d所示。表1为ABC-SVM、SVM、PSO-SVM、GA-SVM模型的最优c和g值。 表1 ABC-SVM、SVM、PSO-SVM、GA-SVM参数 从定性的角度分析实验结果,由图4可知。图4a,当电流在0~50 A和300~400 A范围内ABC-SVM模型的预测值与期望值有较小误差,其他范围内还是取得很好地预测结果,比较符合本文设计需求;图4b,在电流0~500 A之间SVM模型的预测值与期望值有较大的误差值,也是最不理想的一种情况,不符合本文设计需求;图4c和图4d图像相似,在电流0~50 A和200~500 A范围内PSO-SVM和GA-SVM模型存在较大误差,但是在50~200 A之间,可以很好地拟合期望曲线,适用于小电流且电流变化范围小的设计需求,也不符合本文设计需求。 表2 ABC-SVM、SVM、PSO-SVM、GA-SVM运行结果 本文基于ABC-SVM算法对SOFC系统进行辨识,结果表明此算法可以很好地预测在不同氢气流速率下SOFC的电压/电流特性曲线,说明了人工蜂群算法可以应用于SOFC系统建模中。ABC-SVM算法拥有更好的收敛特性和辨识能力,可以较快地计算出系统的输入输出特性,从而为实现SOFC在线控制提供了可能性。但是SOFC的ABC-SVM模型还需进一步完善,比如,建立更精确的SOFC电堆模型,建立多输入多输出数据集和在线控制等。2 基于ABC-SVM的SOFC辨识模型结构
3 仿真实验与分析
4 结束语