张 云, 钱玉良, 邱 正, 张 霄
(上海电力学院 自动化工程学院, 上海 200090)
燃气轮机是火力发电站的关键设备,对整个电站的经济性和安全性有着重大影响,因此实现对燃气轮机的状态监测与故障诊断具有十分重大的意义[1-3]。与活塞式内燃机和蒸汽动力装置相比,燃气轮机具有结构简单、小而轻等特点,被广泛应用于各个领域,如电力、工业、军事、航空等。燃气轮机的工作环境很恶劣,往往是在高温高压环境下,所以比较容易产生故障。最早得到广泛应用的方法是由URBAN L A[4]提出的故障方程法。该方法认为,在具体的某一工况下,可以使用影响系数矩阵表示燃气轮机的各个可测量参数的偏差与不可测量参数的偏差之间的关系,通过小偏差方程处理对燃气轮机的故障进行有效诊断。由于该方法基于线性模型,且过于理想化,其诊断结果的准确度受测量传感器的精度、测量参数的位置和个数、噪声干扰等多方面的影响。
近年来,计算机技术和人工智能技术得到了快速的发展,许多人工智能算法在燃气轮机故障诊断中得到了应用。TORELLA G和LOMBARDO G[5]将BP神经网络应用于燃气轮机故障诊断系统中,得到了比较好的诊断效果。但反向传播(Back Propagation,BP)神经网络存在训练时间长、隐含层神经元个数不确定、易陷于局部最小值等问题。VOLPONI A J等人[6]对卡尔曼滤波、BP神经网络以及混合神经网络在燃气轮机故障诊断中的效果进行了比较,结果表明,3种方法在燃气轮机故障诊断中都取得了较好的诊断结果,但神经网络方法的诊断精度比卡尔曼滤波方法稍高一些。罗颖锋和曾进[7]针对故障诊断样本量少的情况,采用支持向量机(Support Vector Machine,SVM)[8]对燃气轮机进行故障诊断,结果表明,在小样本的情况下,SVM的诊断效果比BP网络更好,准确度更高。SVM是基于统计学原理的理论,有其特有的优势,样本数量不会制约其分类效果,即使样本数量较少,依然能获得较理想的效果。现场运行中,对于数量有限的燃气轮机故障样本,采用SVM进行故障诊断是一种比较理想的方式。
若选用SVM 方法对燃气轮机进行故障诊断,SVM选取的相关参数的优劣决定了故障的诊断性能。针对 SVM 在模型构建过程中所面临的最优参数选择这一难题,本文引入一种新型元启发式优化算法——灰狼优化算法(Grey Wolf Optimizer,GWO)[9]对SVM 参数进行全局最优搜索。GWO已被证明具有更为合理的全局最优解搜索机制,算法运行稳定性更强,收敛速度更快,因此更适合应用于对算法鲁棒性和运行时间要求苛刻的燃气轮机故障诊断中,兼顾诊断精度及诊断速度,以更短的运行时间获得最为理想的诊断结果[10]。
气路是一种高速的气流通道,往往是由燃气轮机压气机、燃烧室共同作用下产生的。积垢、磨损、外来物损伤和腐蚀等通常会造成气路故障。不同气路故障所呈现的特征不同,但最终都会导致气路性能参数的改变。因此,可以根据气路部件性能参数值的大小来衡量燃气轮机气路健康程度,将标准状况下性能参数的偏差程度作为判断气路健康状态的依据[11]。参考相关研究成果,典型的9种气路故障判据[12-15]如表1所示。
表1 三轴燃气轮机几种典型气路故障判据
由表1可知,若能计算出性能参数的独立变化量,就可以得到系统测量参数的变化值。本文对燃气轮机单气路故障进行了研究。
2014年,MIRJALILI S等人[9]提出了一种新型群体智能优化算法——灰狼优化算法。研究发现,该算法擅长寻找最优解,且具有简单和高效等特点。灰狼属于犬科类动物,有较为严格的社会等级和任务分工制度。GWO狼群等级分类见图1。
图1 GWO狼群等级分类
图1中,领导者为α,包括一个雄性和一个雌性,任务是领导狼群去狩猎(寻优)和制定决策。根据社会等级将剩下的狼群分别标为β,δ,ω。GWO狼群等级制度严格,下一层要服从上一层的领导,共同开展狩猎活动。
GWO对狼的社会等级进行数学建模时,最适合的解决方案用α表示,第2个和第3个最佳解决方案分别命名为β和δ。其余的候选解决方案被定为ω。在GWO中,狩猎(优化)由α,β,δ指导,ω跟着上面的3只狼。将狩猎过程划分为3部分,分别是包围、猎捕和攻击。其建模过程如下。
2.1.1 包 围
在狩猎过程中,狼群首先要包围目标。该过程的数学模型为
D=|CXp(t)-X(t)|
(1)
X(t+1)=Xp(t)-A·D
(2)
式中:A,C——系数向量;
X——潜在解向量(狼群所在位置);
Xp——全局最优解向量(猎物所处的位置);
t——当前的迭代数;
X(t+1)——更新后的潜在最优解向量。
A和C的计算式为
A=2ar1-a
(3)
C=2r2
(4)
式中:a——随机数,其值随着迭代数的增加从2线性递减到0;
r1,r2——随机向量,在[0,1]区间内取值。
2.1.2 猎 捕
包围猎物后,狼群实施猎捕行为,通常由α,β,δ来引导以便能更好地搜寻到猎物所在的位置。根据当前最佳搜索单位σ的位置,其他的搜索单位(ω)进行位置更新。其更新表达式为
(5)
(6)
(7)
位置更新过程如图2所示。
2.1.3 攻 击
作为狼群狩猎过程的最后阶段,狼群需停止移动攻击猎物来完成追捕,即采用GWO获得最优解。通过式(3)中a值的递减实现该过程的模型构建。a的值从2线性递减到0的过程中,A的值也相应地会在[-2a,2a]区间内取得任意值。当|A|≤1时,狼群将位于其当前位置和猎物位置之间,能集中攻击到猎物(X*,Y*);当|A|>1时,狼群与猎物间的位置发生偏离,进行全局搜索,从而寻找更合适的猎物。
图2 GWO最优解向量位置
SVM是以统计学习理论为基础逐步发展而来的新型机器学习方法,具有模型精度高、训练样本少、训练时间短等优点。即使统计样本量较少时,SVM也能获得良好的统计规律。它的原理是通过构造最优分割超平面,使位于超平面一侧的为一类;超平面另一侧的为另一类,以实现样本的分类。当样本是低维空间线性且不可分时,可通过非线性映射函数(核函数)将输入空间的数据映射到可进行线性分类的高维空间,然后在高维空间中构造出最优分类超平面,从而对数据进行分类,最终得到分类函数,即
(8)
式中:αi——拉格朗日乘子;
b——根据训练样本所确定的阈值;
c——惩罚因子;
K(x,xi)——核函数。
常见的核函数有多项式核函数、多层感知器(Sigmoid)核函数、线性核函数、B样条核函数以及径向基核函数。其中径向基核函数具有收敛速度快、非线性映射、参数较少等优点,被广泛地应用于各种实用的模型中,故本文也使用径向基函数作为核函数K(x,xi)。其表达式为
(9)
式中:σ——径向基核的宽度。
SVM算法实现如下。
(1) 设训练集T={(x1,y1),(x2,y2),(x3,y3),…,(xN,yN)},式中xi∈x=Rn,yi∈Y={-1,1},i=1,2,3,…,N。
(2) 选择适合的惩罚因子数c和核函数K(xi,xj),构造并求解出最优化问题。
(10)
i=1,2,3,…,N
j=1,2,3,…,N
(11)
上述算法实现中,SVM模型中需要给定惩罚因子c和核参数σ,但由于惩罚因子c和核参数σ对SVM的分类效果有着重要的作用,如果人为给定参数,一旦选取不当则可能导致分类结果不理想,所以优化这两个参数十分必要。本文利用优化后得到的参数建立了SVM模型,再对样本进行分类,这样可以有效地改善SVM模型对样本分类的准确率。
由于SVM中惩罚因子c和核参数σ对样本的分类准确率产生较大影响,因此本文采用GWO对SVM中的参数进行优化。(c,σ)构成了灰狼的位置向量。灰狼群体主要根据α,β,δ的位置进行搜索。它们彼此分开去寻找猎物。在GWO中,将参数A的值设置为大于1或小于1的随机值,这样可使灰狼个体偏离目标猎物。这种行为机制允许GWO在全局范围内进行搜索,也加强了算法的探索性能。GWO探索的另一个组成部分是c。c是位于[0,2]区间的随机值。这个部分为猎物提供随机权重,以便随机地加强(c>1)或减弱(c<1)权重,确定距离。参数c有助于GWO在优化过程中表现出更多的随机行为,有利于提高算法的全局探索能力,特别是在后期的迭代中,c能够有效地使算法跳出局部最优,进而寻找全局最优解,从而得出可使样本故障诊断精度最高的最佳的c和σ,优化故障诊断结果。 GWO-SVM实现的流程如图3所示。
图3 GWO优化SVM参数流程
步骤1 输入燃气轮机各故障样本标签对应的样本数据,从而设定SVM的训练集和测试集。
步骤2 初始化 SVM 惩罚因子c和核参数σ的取值范围,并设置GWO的相关参数。
步骤3 随机产生灰狼群,每一个灰狼群个体位置向量由c和σ组成。
步骤4 根据初始参数c和σ,SVM 对训练集样本进行训练,个体的适应度函数用 SVM 算法的分类错误率表示,计算每一头灰狼的适应度。
步骤5 根据适应度值将灰狼群分为α,β,δ,ω共4个不同层级。
步骤6 根据式(14)~式(16)对狼群中每个个体的位置进行更新。
步骤7 求出当前灰狼个体在新位置上的适应度值,并从当前狼群中重新选出α,β,δ。
步骤8 若迭代次数超过最大允许的迭代次数,则训练结束,输出的全局最优位置即为SVM中c和σ的最优值;否则跳转步骤5继续参数优化。
步骤9 采用最优参数c和σ建立模型,并对测试集样本进行测试,分析和验证测试结果。
考虑到燃气轮机的型号、功率、环境等因素对实验结果的影响,因此从某省电力公司收集到本文的实验数据。这些数据都是具有明确结论的燃气轮机(200 MW)故障数据,剔除了冗余样本和一些奇异数据后,最终选择了180组数据作为样本。将各类故障类型样本分成两组,即训练样本和测试样本。具体训练样本(30个)和测试样本(150个)划分如表2所示。
表2 SVM算法测试样本 个
使用GWO-SVM算法对燃气轮机气路故障进行诊断,结合相关研究成果,在分析燃气轮机9种常见故障机理的基础上,本文选取5种特征变量为输入变量,分别为:低压压气机转速变化量;高压压气机转速变化量;低压压气机压缩比变化量;高压压气机压缩比变化量;燃油流量变化量。
在故障诊断过程中,设定样本的目标输出为0~9中的任意一个数字,其中:0表示无故障类型;1到9对应的故障类型见表1。
燃气轮机数据变化幅度较大,且SVM模型对[0,1]范围内的数据十分灵敏,所以在选择训练样本前,需要归一化处理特征向量来提高训练效率,即
(13)
式中:x——原始样本数据。
将归一化后的训练样本输入向量机模型,并使用GWO对SVM中的参数c和σ进行优化,改进了传统的随机设定值的方式,参数c和σ构成灰狼群个体的位置向量。个体适应度函数由 SVM 对故障样本分类的错误率表示。本文将狼群数量设置为10个,设置最大迭代次数为10次,参数c和σ的搜索区间为[0.01,100]。运用GWO优化得到的最优参数c和σ构建SVM模型,最后将构建好的GWO-SVM模型对燃气轮机的测试样本进行测试。
为了验证GWO-SVM的有效性及其优势,在采用GWO优化SVM的基础上,分别采用遗传算法(Genetic Algorithm,GA)[16]、标准粒子群(Particle Swarm Optimization,PSO)[17]的优化算法对建立的SVM模型进行最优参数组合(c,σ)的选取,再利用SVM模型对燃机气路故障进行诊断,并将其与基于GWO优化的支持向量机的测试结果进行比较。GWO-SVM,PSO-SVM,GA-SVM 3种算法模型对测试样本的故障诊断结果如图4~图6所示。
由图4~图6可以看出,GWO-SVM诊断效果最好,只有4个测试样本诊断错误,误诊率最低;GA-SVM算法模型在3个算法模型中诊断最差,有13个测试样本诊断错误。PSO-SVM算法在诊断过程中有10个样本诊断错误。
图4 GASVM的故障诊断结果
图5 PSOSVM的故障诊断结果
图6 GWOSVM的故障诊断结果
GWO-SVM,PSO-SVM,GA-SVM 3种算法对SVM模型中的惩罚因子c和核参数σ进行寻优,结果如表3所示。3种算法模型对150组测试样本进行故障诊断的准确率以及各个程序运行时间如表4所示。
由表4可以看出,采用GWO-SVM算法模型对燃气轮机气路故障诊断的准确率为97.33%,明显高于PSO-SVM和GA-SVM。此外GWO-SVM算法模型的运行时间仅需1.179 s,也少于PSO-SVM和GA-SVM,表明该模型在运行时间上有明显的优势。
表3 3种算法模型得到的参数设置
表4 不同算法模型的测试样本分类的准确率以及运行时间
本文将GWO支持向量机应用于燃气轮机气路故障诊断中,建立了GWO-SVM算法模型,并与粒子群算法、遗传算法优化进行对比。实验结果表明,GWO-SVM中核惩罚因子c和核参数σ的优化效果要明显好于粒子群算法和遗传算法。GWO-SVM算法对燃气轮机气路故障诊断的准确率高于粒子群算法和遗传算法优化的支持向量机模型,且诊断时间也比其他两种模型快,因此GWO-SVM的核函数参数优化提供了一种可行的方法,具有着广阔的应用前景。