汤大可
中国石油天然气股份有限公司广东石化分公司, 广东 揭阳 515200
石油和石油化工行业在国民经济中占有重要地位,提高石油化工生产的安全水平一直是该行业的一项重要目标。石油化工生产过程复杂,常伴随高温高压工艺系统及有毒有害物料,属于高风险行业,一旦发生事故,危害极大,所以一旦出现故障需要立即发现并及时应急处置[1]。而利用专家积累的丰富经验,能模仿专家较早发现故障并分析原因给集散控制系统(Distributed Control System,DCS)操作人员提供合理化建议的诊断软件就显得尤为重要[2]。石油化工过程故障诊断能够有效弥补DCS在报警时表现出报警信息过于简单、报警不及时的不足,避免紧急停车造成的经济损失及可能发生的重大石油化工安全事故。虽然石油化工过程故障诊断研究已有四十多年的历史,但目前有关理论和技术尚未实现大规模工业化应用,其中的主要原因之一就是自适应、自学习能力不令人满意[3]。近年来,随着人们对生物机能方面的研究不断深入,生物机能在处理复杂系统中表现出的高效和不断优化能力引起了工程人员的广泛关注,许多不同的人工智能方法应运而生。其中,人工免疫系统作为一种新兴的人工智能方法,因其具有强大的识别非我信号的能力,以及在自适应和自学习能力上表现出来的优势,被引入到了石油化工过程故障诊断的研究中。
在石油化工过程故障诊断研究中,故障是指石油化工过程中的某一个观测变量或操作参数出现不可接受的偏离[4]。石油化工过程故障诊断与单设备故障诊断不同,它主要关注石油化工装置在实际生产中由于操作失误、环境变化、设备失灵等导致的工艺故障。由于一处工艺故障的出现可能是由多种不同的设备工艺偏差导致,而任其发展可能引起更多其它设备的故障甚至重大的安全事故。由于石油化工过程故障诊断涉及的设备更多、数据量更大,在诊断过程中需要处理的对象也更加复杂。
石油化工过程的故障主要包括三种类型:参数故障,即在装置运行过程中,操作参数或者其他外来参数由于误操作或者环境的变化发生扰动,影响石油化工过程的正常运行;系统结构故障,即石油化工过程中涉及的设备本身发生损坏或者失效,导致整个生产过程偏离正常工况;传感器和执行器故障,即在装置运行过程中,监测与故障诊断系统的传感器不能准确获取并传送监测变量,执行器不能有效调节需要改变的参数。
一般而言,基本的石油化工过程故障诊断主要包括两部分:故障检测,即在生产运行过程中,判断监控对象是否偏离预期的正常工况;故障识别,即监测与故障诊断系统根据检测到的故障信息和获取的过程变量,发现故障发生的部位,找出故障发生的根本原因。
根据诊断模型的类别不同,可以将石油化工过程故障诊断方法分为基于定量模型的方法、基于定性模型的方法和基于过程历史知识的方法三大类[5],见图1。
图1 石油化工过程故障诊断方法分类图Fig.1 Classification of petrochemical process fault diagnosis methods
基于定量模型的方法:该类方法主要是根据实际过程建立一个定量的动态数学模型,将实际过程的变量数据与动态模型产生的结果进行计算分析,从而实现故障诊断。
基于定性模型的方法:该类方法不需要应用所有输入输出的确切值来建立实际过程的定量模型,而是根据已有的知识和历史经验,建立石油化工过程的定性模型。再根据实际过程数据,按照一定的搜索策略,通过模型诊断故障。
基于过程历史知识的方法:该类方法主要是将历史数据转化为诊断系统的先验知识,通过数据挖掘等方法实现对历史数据中知识的提取,建立相应的数学模型。将过程的实际运行数据带入数学模型进行运算,根据模型的输出或特征变量进行故障的检测和识别。
生物免疫系统是生物的防御机制,是用以保护机体免受外部感染以及内部变异,维护机体稳定的重要保护系统。它能够识别入侵生物体的外来物质,并发动免疫反应将其消灭。而人工免疫系统是指借鉴、利用生物免疫系统的信息处理机制而发展的各类信息处理技术、计算技术以及其在工程和科学中应用而产生的各种智能系统总称[6]。
人工免疫系统最早可以追溯到1974年,诺贝尔奖获得者、免疫学家Jerne N K[7]率先提出了免疫网络理论,引起了广泛关注。但是由于人工免疫系统自身的复杂性,与医学免疫学的密切关系等诸多原因,人工免疫系统并未引起工程研究人员的广泛兴趣。直到1990年,日本学者Ishida Y[8]利用人工免疫系统的原理解决了传感器网络故障诊断的问题,这也是第一次将人工免疫系统应用于工程领域的研究成果。1998年,在美国召开了第一次人工免疫系统专题会议,首次提出了人工免疫系统的概念,人工免疫系统引起了计算机科学家、工程师、数学家等各方面研究人员的广泛兴趣,近年来涌现了大量的研究成果。其中,一些学者开始将人工免疫系统引入石油化工过程故障诊断研究,弥补了一些传统故障诊断方法的不足。当前主要的人工免疫系统算法包括人工免疫网络算法、否定选择算法以及克隆选择算法[9-10]。
人工免疫网络算法是人工免疫系统研究领域最早提出的一个算法,早期关于人工免疫系统的主要研究都是围绕该算法进行的。自免疫学家Jerne N K提出免疫网络理论以来,学术界开发出了各种各样的人工免疫网络模型,实现了人工免疫系统在工程领域的应用。1990年,Ishida Y用于诊断传感器网络的算法正是基于人工免疫网络算法。人工免疫网络算法应用于故障诊断的基本思路是:由传感器网络系统中的全部变量构建一个或多个传感器网络,网络中的每个节点代表传感器网络系统的一个变量对应一个状态,节点间的连接权值表示各节点间的关系,根据节点的状态判断传感器网络系统是否故障。在工程应用时,首先需要利用传感器网络系统变量之间的关系建立人工免疫网络。在传感器网络系统正常工作情况下,变量之间存在一些关系,这些关系在一定范围内保持稳定。一旦传感器网络系统出现偏差,变量之间的关系被破坏,就能够检测出故障。而在传感器网络系统运行过程中,人工免疫网络可以通过在线数据对节点间的连接权值进行校正更新,从而实现故障诊断传感器网络系统的自适应和自学习。
2001年,日本学者Sugita Y等人[11]提出了一个应用于石油化工厂传感器系统故障诊断的人工免疫网络,他通过构建多个人工免疫网络,区分传感器故障和工厂老化,实现对传感器故障的诊断。2009年,巴西科学家Sumar R R等人[12]提出应用人工免疫网络算法对复杂非线性控制系统进行优化,并实现对控制系统传感器和控制阀的监控。
研究表明,人工免疫网络算法很好地保持了种群的多样性,在动态优化、自动控制等方面的应用都有良好表现。但是由于人工免疫网络训练的过程较为复杂,需要的参数多,适应性不好,无法很好地解决复杂的非线性问题。因此,在处理石油化工过程故障诊断问题时,人工免疫网络算法无法很好地检测、识别参数故障和系统结构故障,存在一定局限性。
否定选择算法是借鉴生物免疫系统识别自我与非我的机制而提出的一套免疫算法,它的核心思想就是产生一个覆盖所有非我集合的检测器,利用成熟的检测器,测试在线数据中所有的非我部分。否定选择算法应用于石油化工过程故障诊断时,首先需要随机生成大量的初始检测器集合,其次将这些初始检测器与自我的集合进行匹配度筛选,删除与自我集合相匹配的检测器,最后保留足够数量(数量需满足能够覆盖绝大部分非我集合)的成熟检测器。在线检测时,将检测数据录入成熟的检测器对其进行匹配度检测,如果检测数据与检测器匹配,则认为检测数据属于故障状态;否则视作正常,而正常的检测数据则可以用于更新校正检测器,实现诊断模型的在线学习。
2004年,Aguilar J[13]第一次将人工免疫系统应用于石油和石油化工过程故障诊断便是采用否定选择算法,检测油井的蹩压、冷冻、电梯及阀门故障等。2008年,Wang Cunjie等人[14]针对石油化工过程实数变量远多于0和1这两个变量的情况,提出了实数否定选择算法,应用于石油化工过程故障诊断。之后,Han Xiaoming等人[15]提出了将否定选择算法与主成分分析(Principal Component Analysis,PCA)法结合的故障诊断方法,解决否定选择算法处理复杂石油化工生产系统时计算量过大的问题。这两个工作不约而同地使用了TE模型(Tennessee Eastman模型,即TE过程,是一个实际化工过程的仿真模拟)作为诊断对象,没有用实际装置对实验进行验证。2011年,Ghosh K等人[16]改进了基于Vorono检测器的否定选择算法,应用于全混釜反应器、实验级精馏塔开车等典型石油化工过程故障诊断,将其诊断结果与传统PCA法的诊断结果进行比较可知,改进后的否定选择算法虽然在故障诊断的准确率和故障诊断滞后时间上都有明显优势,但是,实验选用的测试样本和训练样本在故障引入时间和幅度上基本一致,并不符合实际过程中故障分布随机性的特点。
否定选择算法由于具有识别非我能力的特点,现已成为故障诊断领域最重要的研究方向之一。然而已有研究表明,对于否定选择算法,当变量数目及复杂度增加时,检测器的数量会相应地成指数形式增加。而石油化工过程的变量数目巨大,且大多数变量都为跨度较大的实数型变量,数据复杂性高,若要将否定选择算法应用于大规模的复杂石油化工过程故障诊断,就必须在诊断前进行大幅度的降维预处理[17]。但对于多变量的复杂石油化工过程,降维幅度有限,且降维过程中会造成一些变量信息的丢失,而这些信息很可能包含了故障的特征,在故障识别的过程中会影响诊断效果。
克隆选择算法最早由Castro L D基于人工免疫系统的克隆选择基本原理提出。它的核心思想是利用免疫记忆机制将历史经验以克隆的方式保存下来,当历史出现重复时便可以快速、准确地做出反应。人工免疫系统的克隆选择算法主要借鉴了克隆选择理论中高频变异、克隆删除、克隆增值和受体编辑等思想,它将初始的自我状态视为抗原,生成与之亲和度高的抗体群,最后利用测试样本与抗体的亲和度区分自我或非我。克隆选择算法的核心在于亲和度的计算以及克隆和变异流程,通过免疫记忆机制,以及对历史经验的学习和变异的思想,在故障诊断过程中实现通过克隆选择算法对重现的故障进行自动学习和诊断。
克隆选择算法提出后便被广泛应用于车床、汽轮机、风机等设备的故障诊断[17-19],但是将其应用于石油化工过程故障诊断的研究还相对较少。由于传统的克隆选择算法多采取一时刻的变量数据集合作为抗体或抗原,使得抗体和抗原无法表现出时间趋势信息,因此无法对动态的石油化工过程进行准确描述。为解决这一问题,Dai Yiyang等人[20]在克隆选择思想的基础上提出了基于动态时间规整算法(Dynamic Time Warping,DTW)的人工免疫系统算法,以变量的时间序列为检测对象,生成抗原和抗体,并采用DTW算法进行亲和度计算,实现了对青霉素发酵过程故障诊断。
克隆选择算法通过对历史经验的学习和变异,实现对故障的检测和对已知故障的识别。而遇见未知故障时,可以在有限的人员干预下对故障进行学习和记忆,当同类型故障再次出现时则可实现准确的检测和诊断,但克隆选择算法依然无法解决对未知故障的识别。
本文介绍了人工免疫网络算法、否定选择算法及克隆选择算法这三种主要的人工免疫系统算法及其在石油化工过程故障诊断中的应用。人工免疫系统凭借其对非我信号的识别能力和较强的自适应及自学习能力,在石油化工过程故障诊断领域有良好的应用前景,但要真正实现工业化应用还需解决以下问题。
1)目前的人工免疫系统在进行石油化工过程故障诊断时,对于参数故障、系统结构故障以及传感器和执行器故障,基本采用相同的方式建立诊断模型,在建模过程中的主要系数基本一致,例如免疫网络算法的权值、否定选择算法的亲和度计算系数以及克隆选择算法的抗体变异系数等。未来需要对不同类型、不同装置的故障诊断有更深入研究,使得故障诊断系统在诊断不同类型故障时准确性更强。
2)石油化工过程的变量数量非常庞大,无论是构建免疫网络、生成否定选择检测器还是生成克隆抗体,都不可能将所有的过程变量用于建立故障诊断模型。当前基于人工免疫系统的石油化工过程故障诊断方法在变量选择上更多还是根据经验来进行估计选取,缺少定量的方法对变量进行取舍和处理,这就增大了故障诊断模型建立过程中的不确定性。要实现人工免疫系统在实际石油化工过程故障诊断的应用,还需要深入开展对于变量筛选的方法性研究。
3)人工免疫系统从本质上来说还是一种基于历史数据的故障诊断方法。无论是人工免疫网络算法、否定选择算法还是克隆选择算法,都需要有足够多的历史数据进行建模,才能实现对在线数据的诊断,这也就限制了人工免疫系统对没有历史数据的未知故障的诊断识别。如何将石油化工过程的理论基础和经验知识转换为相应的历史数据,应用到故障诊断建模中,是包括人工免疫系统在内的诸多基于历史数据的算法需要解决的问题。
4)在实际石油化工工业应用过程中,一般传感器都存在一定的失效概率,因此实际采集的石油化工工业装置数据中经常会有一些与实际值存在偏差或者出现缺失,未来的石油化工过程故障诊断研究必须考虑数据可靠性,在故障诊断过程中排除错误数据的干扰,最终实现石油化工装置的应用。