APP下载

基于自适应权重粒子群算法的脱硝系统建模

2019-06-24白建云雷秀军斛亚旭侯鹏飞贾新春

自动化仪表 2019年5期
关键词:尿素权重粒子

白建云 ,雷秀军 ,斛亚旭 ,侯鹏飞 ,贾新春

(1.山西大学自动化系,山西 太原 030013;2.山西大学数学科学院,山西 太原 030006)

0 引言

近几年,随着我国对环境的要求越来越严格,对于火电厂中的SOX、NOX以及烟尘也有了更加严格的要求。而与其他锅炉相比,循环流化床(circulated fluidized bed,CFB)锅炉在燃烧过程中产生的NOX相对较少,这对脱硝工作非常有利。CFB锅炉一般采用选择性非催化还原(selective non-catalytic reduction,SNCR)烟气脱硝技术,使烟气排放达到国家标准。

在SNCR脱硝过程中,选择一个相对精确的模型有利于有效地控制出口NOX浓度,同时可以节约尿素使用量和减少氨逃逸。钟祎勍等[1]通过分析SNCR脱硝控制系统的动态特性,对其建立高精度的最简控制模型。白建云等[2]利用BP神经网络建立NOX生成质量浓度预测模型,实现了NOX生成质量浓度的软测量,并应用于实际发电过程系统。朱竹军等[3]设计了一种基于专家模糊的SNCR脱硝系统自动控制策略,解决了SNCR脱硝系统长期以来不能100%实现NOX自动控制的问题。秦天牧等[4]利用多尺度核偏最小二乘(multi-scale kernel partial least squares,MKPLS)方法,建立了选择性催化还原(selective catalytic reduction,SCR)系统模型。方贤等[5]通过采用粒子群算法,对TWSVM的核参数和惩罚因子经行寻优,并建立SCR脱硝效率预测PSO-TWSVM。以上都是对生成的NOX进行预测和软测量,或者对SCR脱硝系统进行最简建模,然而对于SNCR脱硝系统建模的研究却很少。

系统建模方法两种方法,分别为机理建模和试验建模。其中:试验建模可以在不清楚系统内部结构的前提下,根据系统的输入输出数据来建立系统的模型[6]。循环流化床SNCR脱硝系统是一个大惯性、大迟延、非线性的对象,其内部结构通常无法获得。因此,本文利用粒子群算法对SNCR脱硝系统进行试验建模。该方法可同时辨识出SNCR脱硝系统的迟延。采用实际运行数据进行模型验证,结果证明了所建模型的有效性。

1 SNCR脱硝系统的模型选择

1.1 SNCR脱硝系统简介

循环流化床SNCR脱硝工艺流程如图1所示。

图1 循环流化床SNCR脱硝工艺流程图

某电厂采用尿素作为还原剂,利用尿素泵将储存罐中的40%尿素溶液输送到系统管道中,再经过流量调节阀控制喷入旋风分离器前烟道内的尿素流量,进而控制生成NOX的浓度。其中安装的喷枪共21只。

循环流化床锅炉SNCR脱硝系统的反应器为旋风分离器。旋风分离器温度为800~1 100 ℃,恰好是发生化学反应的在最佳温度,因此不需要催化剂。还原剂经过喷枪和管道后进入分离器前部烟道与NOX进行反应,在反应器内热解成为NH3与烟气中的NOX进行脱硝反应生成N2。某电厂运用尿素溶液作为还原剂,在酸性条件下与NOX发生还原反应,最终产物为N2、CO2、和H20,不会造成二次污染。以尿素为还原剂来脱除NOX的主要化学反应如下:

6NO2+4CO(NH2)2→7N2↑+4CO2↑+8H2O

6NO+2CO(NH2)2→5N2↑+2CO2↑+4H2O

NO+NO2→N2O3

N2O3+H2O→2HNO2

2HNO2+CO(NH2)2→2N2↑+CO2↑+3H2O

1.2 模型的选择

目前,循环流化床SNCR脱硝控制系统中,主要通过控制尿素溶液或氨水流量阀门来控制喷入催化剂的量,进而在分离器内进行脱硝。这一过程可以分为两类模型,第一类是尿素流量阀门开度到尿素流量的模型,第二类是尿素流量到烟囱出口NOX浓度的模型。本文主要采用带有自适应权重的粒子群建模方法建立第二类模型[6-7]。

循环流化床机组SNCR脱硝系统NOX排放浓度受总煤量、尿素流量、总风量、旋风分离器入口的温度、机组负荷、稀释水的流量等一系列因素的影响。当机组处于稳定负荷工况运行时,总煤量、总风量以及旋风分离器入口温度基本保持不变,且保持尿素溶液浓度为40%。因此,烟囱出口排放的NOX浓度主要由尿素溶液流量决定。

在数据采集之前,要选择采样周期。采样周期的选择取决于被辨识对象的主要频带中的最高频率,但是在辨识前估计最高频率是非常困难的。采用前人经验获得采样周期为12 s。通过从现场分散控制系统(distributed control system,DCS)系统每隔12 s采集一次数据,现场采集的数据由于各种原因不可避免地带有误差,所以需要剔除异常值,进行滤波处理后选取有效的具有代表性的数据[10,12]。

传递函数模型的表达,是任何一个系统处于某个平衡点时,输出的增量与输入的增量之间的函数表达,即系统在平衡状态时,系统的输入输出以及它们的各阶导数也为零,它们的各阶导数也为零。因此,需要对原始的开环数据进行零初始值处理。原始数据的输入输出分别为u(k)和y(k),经过零初始值后的数据为:

(1)

式中:N为零初始值点数据个数。

经过采集数据以及数据的预处理后,建立以40%尿素溶液流量为输入,从而生成NOX浓度为输出的模型。以试验机组为例,选择140 MW、170 MW、200 MW三个典型工况,进行尿素溶液流量与NOX排放浓度之间的模型辨识。

在实际应用过程中,通常用一阶惯性时滞系统或者二阶惯性时滞系统就可以描述被控过程特性。但是经过对循环流化床SNCR脱硝系统工艺流程进行分析,以及查阅参考张志超等人对SCR脱硝系统建立的模型后,得出循环流化床SNCR脱硝系统具有大迟延、大惯性、非线性强等特点[6]。本次尿素溶液流量到生成NOX浓度的模型采用带有纯迟延的四阶惯性环节作为系统待定模型的传递函数,具体形式为:

(2)

式中:K为系统开环增益;T为惯性时间;τ为纯迟延时间;n为系统阶数

本文通过自适应权重粒子群算法对传递函数的四个参数进行辨识,从而得到SNCR脱硝系统模型。

2 基于自适应权重PSO算法的模型辨识

粒子群优化(particle swarm optimization,PSO)算法,是一种模拟鸟类在觅食过程中通过信息共享实现最优化觅食的仿生寻优算法[8]。

粒子群算法的数学过程描述如下。假设在一个D维查询空间中,n个粒子所对应种群为X=(X1,X2,…,Xn),其中,第i粒子的位置为Xi=(xi1,xi2,…,xiD)T(是问题所要找的隐含解),将其代入目标函数,就可得到每个粒子在该位置的适应度值。设个体极值为Pi=(Pi1,Pi2,…,PiD)T,群体极值为Pg=(Pg1,Pg2,…,PgD)T,第i粒子运动速度Vi=(Vi1,Vi2,…,ViD)T。在第k次循环计算过程中,利用目前群体极值和个体极值确定下一次的更新粒子速度和位置,更新所对应的公式为:

(3)

(4)

式中:ω为惯性权重;c1、c2为加速度因子;r1、r2为分布于[0,1]的随机数,通过对粒子的速度和位置进行限制,防止盲目搜索[9]。

上述算法是普通粒子群算法。由于普通的粒子群算法在全局搜索能力上相对较弱,只可以找到局部最优解,对于实际的需求还远远不够。因此,需要对惯性权重进行更新。根据当前粒子的适应度值与平均适应度值对惯性权重进行更新[10]。惯性权重更新公式如下。

(5)

式中:ωmin、ωmax分别为惯性权重ω的最大值、最小值;f为粒子此时适应度函数值;favg与fmin分别为当前所有粒子的平均适应度函数值和最小适应度函数值。

带有自适应权重粒子群算法参数辨识方法步骤如下。

①初始参数设置。它包括变量个数、种群规模、待辨识参数范围、惯性因子变化范围、粒子速度范围、迭代次数、加速度因子等。②种群初始化。通过随机产生的种群来计算每一个时刻的性能指标值,进而得到个体最佳值与全局最佳值。③种群更新。按照参数设定和权重更新公式计算惯性因子值、种群个体移动速度,更新种群,把计算出来的性能指标与个体和种群的历史最优值进行比较,并将二者的历史最优更新。④如果满足终止条件,则停止寻优;反之,返回步骤②继续寻优。⑤如果达到循环次数,则停止寻优;反之,返回步骤①再次寻优。实现多次迭代寻优,从而得到全局最优值。参数辨识算法流程如图2所示。

图2 参数辨识算法流程图

3 SNCR脱硝系统建模与验证

利用Matlab编写粒子群算法辨识主程序及计算辨识优化目标函数子程序,以200 MW负荷工况为例,选择150组开环试验数据,对对象数学模型参数进行辨识。首先,对200 MW工况下的历史开环数据进行零初始值处理,得到尿素溶液流量数据和出口NOX浓度数据零初始值处理结果。尿素溶液流量数据处理前后对比如图3所示。出口NOX浓度数据处理前后对比如图4所示。

图3 尿素溶液流量数据处理前后对比图

图4 出口NOX浓度数据处理前后对比图

从图4可以看到,经过初始值处理后的NOX浓度数据变为负数,但是这样不会影响模型的建立。利用带有自适应权重的粒子群算法进行模型辨识,仿真参数设置如下。

参数寻优区间:K∈[-10,10],T∈[20,400],N∈[2,5],τ∈[20,200]。

粒子个数:200。

进化代数:80。

惯性权重:ωmin=0.4,ωmax=0.9。

学习因子:[0.6 0.8]。

加速度因子:c1=2,c2=2。

速度范围区间:V∈{[-1,1]、[-1,1]、[-1,1]、[-1,1]}。

仿真结果对应参数值为:K=-1.46;T=400;N=4;τ=-165。同理可以分别得出负荷为140 MW、170 MW时,SNCR脱硝系统从40%尿素溶液到生成NOX浓度的开环模型。

三个工况模型辨识结果如表1所示。

表1 三个工况模型辨识结果表

本文以200 MW负荷工况下辨识出的模型为例,进行验证。选择现场中尿素溶液流量从310 kg/h升高到330 kg/h的阶跃扰动。为了验证所建立模型的稳定性,将阶跃扰动分别加到辨识模型和实际测量的数据中,观察两者的输出曲线。200 MW模型辨识结果与实测数据对比如图5所示。

图5 200 MW模型辨识结果与实测数据对比图

200 MW模型输出和实际数据之间的误差如图6所示。

图6 200 MW模型输出和实际数据之间的误差图

140 MW模型辨识结果与实测数据对比如图7所示。

图7 140 MW模型辨识结果与实测数据对比图

170 MW模型辨识结果与实测数据对比如图8所示。

图8 170 MW模型辨识结果与实测数据对比图

从图5~图8可以看出:基于自适应权重粒子群算法辨识得到的模型在阶跃扰动下的输出曲线基本上与现场采集回来的数据在阶跃扰动下的输出曲线吻合,模型输出与实际数据的相对误差在±0.5左右,开环模型可以用于SNCR脱硝系统的控制。

同理,可以对其余两种工况下的模型进行验证,输出曲线结果大致相同,误差也在可接受范围内。综合上述三种工况辨识出来的模型,基本上与实测数据相符合。通过辨识出的模型参数,得到三个工况下的传递函数,为循环硫化床SNCR脱硝控制中从尿素流量到生成NOX浓度建立了可靠模型。所建模型有利于对生成的NOX浓度进行有效控制,并可以减少氨逃逸。

4 结束语

本文通过采集某电厂200 MW循环流化床机组SNCR脱硝系统的历史开环数据,对数据进行去除异常值和零初始值处理。根据专家经验和热工过程,确定SNCR脱硝系统中从尿素溶液流量到出口NOX浓度的模型。采用基于自适应权重的PSO算法,辨识出三个不同工况下的模型参数,并对不同工况模型进行验证。仿真结果表明,基于自适应权重的PSO算法在SNCR脱硝系统中的模型参数辨识具有很好的效果。辨识出的模型为先进的智能控制算法在火电厂SNCR脱硝系统应用提供了模型基础,进而可以更好地控制NOX排放并减少氨逃逸,最终实现减少还原剂的使用量,提高经济效益。该成果推动了智能算法在其他工业过程中的应用。

猜你喜欢

尿素权重粒子
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
挖掘机尿素喷嘴散热改进
尿素涨价坐实的两个必要条件
今年尿素市场回望
权重常思“浮名轻”
尿素再涨 也换救不了市场
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
为党督政勤履职 代民行权重担当