1. 引言
对于航空发动机来讲,压气机的喘振会导致强烈的机械振动和热端超温,在极短的时间内就可能会造成发动机部件的严重损坏。现役的涡扇发动机多采用可调放气阀门(variable bleed valve, VBV)放出部分压气机空气以达到防喘的目的,因此研究可调放气活门对于发动机状态监控,及时发现不良变化,预防飞行事故具有重大的意义。
目前国内所用的涡扇发动机基本由国外公司生产,其部件特性、结构参数与控制特性等均无从得知,无法建立发动机进行视情监控和故障诊断的数学模型。各航空公司在使用发动机的过程中,积累大量可用数据,基本上涵盖了发动机气路、控制、振动、油路等多方面的性能参数。因此通过对这些数据的挖掘,利用系统的输入输出参数对发动机的系统进行辨识,构造一个相对真实的反映对象的数学模型,以大数据平台为数据基础,结合先进的智能分析方法,让客观数据说话,尽量避免人为干预,建立客观标准的大数据模型,是人工智能的一个重要应用。
由于航空发动机的各个系统均为复杂的非线性系统,传统的辨识系统难以取得较好的结果,基因表达式编程、神经网络、支持向量机等智能算法能在有限样本条件下,在解决非线性高维模式识别问题方面,表现出较高的准确性与泛化性 [1] [2]。相对于神经网络、支持向量机等智能算法,使用基因表达式编程进行函数挖掘可以得到比较明确的函数模型,具有误差小、精度高等特点,适于涡扇发动机可调放气阀门工作基线建模 [3] [4]。文献 [5] 采用支持向量机对模拟线路的故障进行诊断。对原始数据进行非线性变换,将非线性不可分的原始数据变换到高维线性可分的空间中,通过在高维空间上的距离构造真实度和虚假度函数,并以这两个函数为基础进行分类,取得较好的分类结果,但运算时间较长。文献 [6] 采用粗糙集和支持向量机的方法研究了发动机视情维修问题。利用粗糙集对原始数据进行处理,去除异常样本,进一步用支持向量机方法确定发动机不同维修等级。但支持向量机方法只根据一类数据的信息,没有充分融合不同时间的数据。
本文利用基因表达式编程算法,建立发动机可调放气活门基线模型。并用所建模型进行计算,得到的均方差为0.1208,满足精度要求,本文所用的方法具有较强的工程实践价值。
2. 基因表达式编程算法
基因表达式编程(GEP)是基于生物基因结构和功能发明的新型自适应演化算法。GEP是从遗传算法和遗传程序设计中发展而来,具有遗传算法的优点,编码方式较为简单,易于遗传修饰的操作,并且具有结构和功能上的多样性。
基因表达式编程的基本步骤如图1所示。该过程从随机产生一定数量的染色体个体(初始种群)开始,然后对这些染色体进行表达,依靠一个适应度样本集(也被称为选择环境,即问题的输入)计算出每个个体的适应度(算法中适应度采用相关系数R的平方)。然后个体按照其适应度被选中,进行有修饰的复制,留下具有新特性的后代。接下来,这些新的个体也要经历相同的发展过程:基因组的表达,面临选择环境,选择和有修饰的复制,该过程重复若干代,直到发现一个优良解为止 [7] [8] [9]。
3. VBV工作基线函数的GEP算法设计
所谓VBV工作基线是指处于良好工作状态的发动机在标准状态下,VBV与其控制参数之间的函数关系。本文用于VBV基线挖掘的数据平台来源于飞机的快速存储记录器(QAR) [10]。QAR是一个包含大量航班数据的数据库,它基本涵盖了发动机控制、气路、滑油以及振动等多方面的性能参数。
根据航空发动机的压气机工作原理,排除影响VBV开度等次要参数,确定与VBV密切相关参数为N1K12 (低压转子修正转速与额定转速的百分比);N2K25 (高压转子修正转速与额定转速的百分比);VSV (可变静子叶片的角度,单位为度);TAT (外界大气温度,单位为摄氏度);T2.5 (高压压气机进口温度,单位为摄氏度),其工作基线模型简化为:
(1)
在建立VBV模型样本时,为更好的研究VBV的工作基线,依据以下原则进行数据筛选:选用发动机循环数较少的数据;选用发动机性能良好的数据;剔除有显著差异的数据。基于这些原则,本文选择了一架机左、右两台发动机(两台发动机的装机时间均为2016年5月,CSN均为4200),收集在2018年1月的25个航班,共50组QAR解码以后的数据。每次航班的数据由于飞行时间不同,共有7500到12000条数据不等。在使用GEP算法进行基线函数挖掘之前,数据经过了清洗、筛选、填充和压缩等预处理操作,保证数据可靠和统一。
将GEP算法用于工作基线函数挖掘具体工作,就是将5个VBV控制参数和可能的函数关系构造到初始染色体中,编码形成表达式树,再由实际控制参数进行适应度评判。通过对染色体进行变异、插串、根插串、单点重组、两点重组、基因重组等操作方式,使染色体不断改变,越来越适应VBV数据所呈现的规律,直到最终匹配。将适应度最高的染色体译码出来,即为工作基线函数。
本文编写GEP算法的工具使用的是MATLAB语言,算法中具体设置如表1所示。

Table 1. Parameters of GEP algorithm
表1. GEP算法参数设置
算法中适应度的判别采用确定系数R2,即相关系数R的平方。当 R2 的值越接近1,则函数拟合优度越高,相反则不适用。拟合优度越高,自变量对因变量的解释程度越高,即自变量引起的变动占总变动的百分比越高。当迭代次数超过1000或者R2大于等于0.95时,算法终止,程序跳出,此时的结果即为最后的拟合式。
以确定系数为适应度判别,让进化过程朝着拟合优度越来越大的方向进化,迭代计算的适应度变化曲线如图2所示。
当适应度为0.98时,原QAR实际数据和利用GEP算法模拟出的曲线及其误差如图3所示。

Figure 3. The original measured curve, fitting curve and their errors
图3. 原实测曲线、拟合曲线及两者误差
其中,图中数据为10000条数据的4倍压缩。由图3可知,GEP算法模拟出的曲线和QAR实际数据形状很接近,其误差很小。
4. VBV工作基线函数曲线拟合结果分析
GEP算法以一台发动机的数据经过300代的迭代计算后,确定的VBV工作基线为:
(2)
其中:
分别代表N1K12,N2K25,TAT,VSV,T2.5这5个控制参数。从式(2)可以看出,VBV与VSV关系最为密切,同时也受N1K,N2K,TAT,T2.5四个参数的线性影响。
为了深入讨论算法拟合程度,将基线方程应用到其它发动机数据中进行验证,验证时采用均方根误差(RMSE)。均方根误差用来反映所得的函数数据和实际数据之间的离散程度。
(3)
式(3)中,
为GEP公式计算得到的值,y为真实值。
使用50组发动机数据,同时为了增加对比,利用GEP公式和神经网络方法(NN,初始值设置同GEP)得到的检验结果如下表2。

Table 2. RMS error obtained GEP method
表2. GEP方法得到的均方根误差
由表1中的结果可知,50组数据利用GEP函数表达式进行验证得到的结果相差不大,说明拟合函数总体可靠。RMSE在0.1050到0.1443之间,平均为0.1208,表明拟合函数数据分散在实际曲线附近,离散度很小,与实际曲线拟合很高。而神经网络方法误差明显高于GEP算法,误差基本在0.2以上,个别达到了0.6,可见GEP算法优于神经网络方法。
5. 结论
本文通过对某型发动机QAR中的数据进行挖掘,利用GEP算法得到了一个相对准确的发动机可调放气阀门(VBV)的工作基线数学函数。计算结果表明,GEP算法挖掘得到的均方根误差为0.1208。在有限样本条件下,对于民航涡扇发动机VBV工作基线建模具有较高的准确性,构建的模型可以满足对可调放气活门进行监控和故障诊断的需要。