改进模糊神经网络PID的瓦斯掺混浓度控制
2023-05-17张昭昭朱应钦
张昭昭,代 强,朱应钦
(西安科技大学 计算机科学与技术学院,陕西 西安 710054)
0 引 言
瓦斯的主要成分CH4是全球第二大温室气体,温室效应约为二氧化碳的21倍,煤炭开采产生的瓦斯排放是其主要来源之一[1]。长期以来,中国煤矿抽采的低浓度瓦斯得不到有效利用,排入空气造成资源的浪费和环境的污染。在“30·60”双碳目标下,推进甲烷减排,实现瓦斯“零排放”已成为煤矿瓦斯治理的重点[2]。如何有效利用低浓度瓦斯已经成为一个亟待解决的问题,瓦斯发电技术作为一种新能源的发电技术,是将煤矿中未能利用的瓦斯燃烧转化成电能[3],已经在全球范围内得到广泛的应用。瓦斯发电不但能够减少瓦斯排放到空气中造成的污染,而且能够提高煤矿的整体资源利用率进而创造经济效益。煤矿中抽采出来的瓦斯浓度较低,无法直接送入瓦斯发电机组,现有技术是将高浓度瓦斯与低浓度瓦斯进行掺混配比,将掺混后的符合浓度要求的瓦斯送入发电机组进行发电[4],然而,不同采集区域抽采出的瓦斯浓度受各种因素影响,具有一定的时变性与非线性[5]。因此,能否快速有效的将掺混后的瓦斯浓度控制到符合发电机组要求的范围是瓦斯发电机组能否正常工作的关键[6]。
目前在工业控制中大多采用经典PID 控制[7],然而在瓦斯掺混浓度控制系统中,由于传感器采集以及传输存在滞后性,采掘区域内外部环境的变化,被控对象存在不确定因素的干扰,使得控制系统呈现出时变性与非线性特性,导致传统PID控制会出现较大误差,无法达到理想的控制效果[8]。为进一步提高瓦斯混掺系统的控制精度,优化系统的稳态特性与动态性能,需要对经典PID控制进行优化。为了克服经典PID控制的不足,采用智能化方法优化整定经典PID控制方法成为研究热点[9]。
在气体浓度控制方面,文献[10]提出了采用模糊PID控制算法应用于混合气体浓度控制系统,提高了控制的精度,且适用于存在非线性、时变的系统,但控制方法结构复杂,对被控对象参数变化效果不佳,其中模糊规则的制定需要以人的控制经验作为知识模型,控制效果依赖于操作人员累积的经验。文献[11]利用BP神经网络PID控制器对宠物仓氧气浓度进行了控制。文献[12]利用改进的遗传算法优化的BP神经网络PID对CO2浓度进行了控制。仿真结果表明神经网络结合PID控制的方法相比较传统的PID响应快,超调小。但是该方法很难被人们直观地了解,不能做必要的修改,面对比较复杂的系统,可能会出现较大的超调量。其次,神经网络的推理能力较差,而模糊控制却有着很好的逻辑推理能力,但学习能力较差限制了控制精度的提高[13-14]。随着人工智能的进一步发展,有学者将模糊控制和神经网络这2种智能控制技术紧密的结合起来并提出了基于模糊神经网络的PID控制器[15],但模糊神经网络初始网络参数难以选取,而不同的初始网络参数会导致不同的训练结果。研究学者引入遗传算法[16]、粒子群算法[17-19]等智能算法用来寻找网络最优参数有着很好的效果,解决了模糊神经网络存在难以选取合理网络初始参数的问题。
针对瓦斯掺混浓度控制过程中模糊神经网络收敛速度慢和易陷入局部最优的问题。采用改进粒子群算法(improved particle swarm optimization algorithm,IPSO)优化模糊神经网络初始参数,在克服模糊神经网络缺陷的同时,利用遗传算法中的交叉变异机制保持了粒子群算法中粒子的多样性,增加了粒子的全局搜索能力。基于瓦斯掺混阶段的瓦斯浓度数据进行仿真试验,提出的IPSOFNN-PID控制算法相比于传统PID、模糊PID以及模糊神经网络PID算法,控制精度有显著提升。
1 瓦斯发电流程与掺混模型
1.1 瓦斯发电流程
瓦斯发电流程如图1所示,主要包含以下5个阶段:瓦斯抽采阶段,瓦斯掺混阶段,瓦斯送气阶段,瓦斯发电阶段,电力输送阶段。发电所使用的发电瓦斯一般由矿井中的瓦斯抽采泵排出,经过瓦斯输送环节,高、低浓度瓦斯经输气管后汇集在混合装置内,掺混装置将高、低浓度瓦斯进行充分的掺混以及控制,使得掺混后的瓦斯浓度维持在设定浓度附近以满足瓦斯发电机组的要求。达到浓度要求的瓦斯经输气管、阻火设备、脱水设备等被送入瓦斯发电站进入瓦斯发电机组进行发电。发电结束后,通过变压器并入输电网。
图1 瓦斯发电流程Fig.1 Process of gas power generation
1.2 构建瓦斯掺混模型
瓦斯掺混作为瓦斯发电的前提,直接决定能否进行瓦斯发电,对其精确的控制十分重要。高、低浓度瓦斯混合混掺系统使用瓦斯浓度传感器和调节阀来时实监测并控制瓦斯浓度,瓦斯掺混控制系统的原理如图2所示。
图2 瓦斯掺混系统总体结构Fig.2 Overall structure of gas mixing system
瓦斯掺混系统的流程为:将高浓度的瓦斯气体以恒定的流量送入瓦斯混气室,低浓度的瓦斯气体通过控制阀按照预定比例进入混气室。然后进行充分的混合,浓度传感器测定混合完成的瓦斯的浓度,将信号发送给控制处理器,根据瓦斯浓度设定值与实测值进行比对,将误差信号传给调节阀,由调节阀调整阀门开度,实时进行调节,从而配制出符合浓度要求的瓦斯。
瓦斯掺混系统配气原理如下,根据已知的2种气体浓度CH,CL和需要得到的混合输出气体的浓度值Cmix,可得Cmix,见下式
式中 Vout为混配装置排出瓦斯的总体积,m3;Vin为进入混配装置气体的总体积,m3;u(t)为调节阀开度系数;V为掺混装置总体积,m3。控制系统根据浓度误差信号实时调整混气比例即u(t)进而控制流量以达到控制浓度的目的。
在瓦斯浓度掺混控制系统中,需要构建瓦斯浓度控制系统的数学模型。由于瓦斯浓度控制系统的控制机制以及参与掺混过程中2种动态实时变化瓦斯浓度的特性比较复杂,故采用数据建模法,对系统的输入输出数据作记录,并利用输入输出数据确定系统的数学模型。
设定混合后瓦斯浓度期望值为20%,分别使用动态变化30%左右的高浓度瓦斯和4%左右的低浓度瓦斯进行掺混,测定混合后瓦斯浓度,采样时间为1 s。瓦斯浓度随时间的变化如图3所示。
图3 混合瓦斯浓度变化Fig.3 Concentration change of mixed gas
从图3可以看出,系统的输出响应近似于S型曲线,与传递函数中的一阶惯性环节相符合,故采用有时延的一阶过程来展现控制系统的特性。瓦斯浓度控制系统传递函数的数学模型见式(5)。
式中 K为静态增益;T为时间常数;τ为纯滞后时间;R(s)为系统输入的拉氏变换;C(s)为系统输出的拉氏变换。
2 改进的模糊神经网络PID控制器
2.1 改进粒子群优化算法
2.1.1 粒子群算法
粒子群优化算法(PSO)是一种群智能优化算法[20],其来源于研究人员从鸟群捕食这一自然过程受到的启迪,从而逐渐演化成一种寻优算法[21-22]。基于粒子群优化算法独特的搜索机制,该算法会在初始阶段生成一定数量的粒子群,然后确定粒子的初始位置矢量和初始速度矢量,粒子通过不断运动和适应度函数计算适应度值进行速度和位置的更新。速度和位置的更新见下式。
式中 i取1,2,3,4,…,N。N为粒子群的总数;w为惯性权重因子;vi为粒子的速度;c1,c2为加速常数;r1,r2为0到1之间的均匀分布的随机数;PBest_i为个体最优解;GBest_i为全局最优解。
粒子搜索和位置更新过程如图4,图5所示。
图4 粒子搜寻过程Fig.4 Searching process of particles
图5 粒子位置更新过程Fig.5 Upgrading process of particle position
2.1.2 粒子群算法改进策略
在粒子群算法发展的过程中,发现该算法具有未成熟收敛现象,造成算法寻优能力的下降[23]。为了防止此类现象的发生,分别对PSO算法的加速常数以及惯性权重进行改进,同时采用一种混合GA算法来改进PSO算法的策略。
PSO算法中惯性权重因子的选择一般使用固定值或者已有的线性衰减法[24],这样会导致惯性权重因子无法自适应调节造成PSO算法搜索能力下降。研究表明基于凹函数的递减策略优于线性策略[25],定义为
式中 wmin,wmax,k和wmax分别为w的最小值、最大值、当前迭代次数和最大迭代次数。
PSO算法的加速常数c1,c2分别为影响粒子的全局和局部搜索能力,粒子搜索前期,应该让粒子搜索更大的范围,因此要使c1>c2。粒子搜索后期,应该适当减小粒子搜索更多的范围,转而让粒子向全局最优区域移动,因此要使c2>c1。故提出一种基于指数函数的动态加速常数更新策略,使得c1,c2在搜索中以一个较为平滑的曲线增加或递减。改进后的更新公式见式(9)。
式中 k为当前迭代次数;kmax为最大迭代次数;c1strat,c1end分别为加速常数c1的初始值和终止值;c2strat,c2end分别为加速常数c2的初始值和终止值。
借鉴了遗传算法中对个体进行变异操作以及交叉操作的思想,向种群中增加了交叉和变异环节。在变异环节,模拟物种进化过程中的基因突变现象,主要为了维持物种的多样性,以此避免粒子长时间陷入局部最优而无法跳出的现象。在交叉环节,从种群中随机选择2个个体,通过2个染色体交换重组行为,将父串的优秀特征遗传给子串,从而使遗传算法的搜索能力得以提高。
但传统的选用固定交叉和变异概率的方法会破坏种群的多样性以及种群的优秀个体,在迭代中后期导致算法不能收敛,因此提出一种动态自适应交叉变异概率更新策略。
式中 k为当前迭代次数;kmax为最大迭代次数;Pmmax,Pmmin和Pcmax,Pcmin大分别表示变异和交叉概率的最大值和最小值。
IPSO算法伪代码如下。
伪代码算法输入:粒子数M,维数Dim,最大迭代次数k max,加速常数c1,c2,权重w,染色体长度Lc,交叉、变异概率P m,P c算法:IPSO;算法输出:全局最优解G Best_k,适应度函数值J;算法步骤如下:1:随机生成粒子的速度和位置并计算适应度,初始化全局和局部最优解;2:k=0 3:for k=1∶k max do 4: for j=1∶M do 5:依据公式vi(t+1)=w·vi(t)+c1·r1·(P Best_i-xi)+c2·r2·(G Best_i-xi)速度v1更新;速度vi越界处理;6:依据公式xi(t+1)=xi(t)+vi(t+1)位置xi更新;位置xi越界处理;7:依据P c进行Cross操作;8:依据P m 进行Mutation操作;9:计算适应度值J个体最优P Best_k更新;全局最优G Best_k更新;10: end for 11:选出每一代的全局最优;12:end for
2.2 改进IPSO-FNN-PID控制算法
对于瓦斯掺混过程中浓度控制问题,提出了一种IPSO的模糊神经网络PID控制器,利用改进的粒子群优化算法获得最优的模糊神经网络初始参数,利用模糊神经网络的自学习能力不断调整模糊规则中隶属度函数的参数以及输出层权值,实现对PID控制器的3个参数Kp,Ki,Kd在线整定。
基于IPSO-FNN-PID控制系统结构框如图6所示。其控制器采用增量式PID控制器,增量式PID控制器的控制策略可表示为
图6 基于模糊神经网络的PID控制系统Fig.6 PID control system based on fuzzy neural network
采用5层结构的Mamdani模糊神经网络,其结构如图7所示。
图7 模糊神经网络结构Fig.7 Structure of fuzzy neural network
各层输入与输出的关系以及数学描述如下。
第1层:输入层。将误差和误差变化率输入,传递至第2层。
第2层:隶属度生成层。每1个节点代表1个语言变量值,生成误差和误差变化率的每个语言变量的隶属度函数。隶属度函数选用高斯函数。
表1 测试函数Table 1 Test functions
第3层:模糊推理层。每1个神经元节点代表已知模糊规则库中的1个模糊规则。
第4层:归一化层。该层与第3层节点数相同,主要作用是对模糊推理层的输出进行归一化运算。
第5层:输出层。该层的作用就是反模糊化输出,3个神经元节点代表Kp,Ki,Kd。
模糊神经网络完成从正向传播后,得到了3个参数Kp,Ki,Kd,将系统实际输出量y(k)与设定值r(k)进行对比,然后通过梯度下降法进行学习。
模糊神经网络需要学习的参数为第2层隶属度函数的中心值cij和宽度bij以及第5层的连接权值wij。定义修正误差的目标函数为
r(k)为期望输出;y(k)为实际输出。为了ε满足精度要求,需要不断调整模糊神经网络中的网络参数。
3个参数学习算法如下
式中 ηc,ηb,ηw分别为参数cij,bij,wij对应的学习速率;α为动量因子。
2.3 控制器设计步骤
2.3.1 利用IPSO算法对网络初始参数进行训练
该算法先用IPSO算法将模糊神经网络的初始网络参数优化到全局极小点的附近,然后输出模糊神经网络的初始参数。然后用模糊神经网络学习即梯度下降算法进行进一步更细致的优化,该方法很好地解决了模糊神经网络对网络参数初始值敏感、易局部收敛的问题。IPSO-FNN-PID控制算法流程如图8所示。
图8 IPSO-FNN-PID控制算法流程Fig.8 Flow of IPSO-FNN-PID controller algorithm
参数训练步骤:
步骤1:首先根据模糊神经网络的结构,即使用的网络2输入、3输出、模糊分割数为7;确定优化参数个数,优化参数包括神经网络输出层连接权值w,模糊化层隶属度函数的宽度b和中心值c。初始化粒子群参数,确定模糊神经网络的学习率η以及动量因子α。
步骤2:确定算法的适应度函数并计算每个粒子的适应度,粒子适应度越小,表示其性能越佳。适应度函数如下
步骤3:更新各个粒子的位置和速度,对粒子进行交叉、变异操作,不断更新个体最优解和全局最优解;最后将IPSO算法寻找得到的最优解作为模糊神经网络的初始参数。
2.3.2 利用最优网络参数进行控制
步骤1:用IPSO优化后的初始网络参数,作为输出层连接权值w,模糊化层隶属度函数的宽度b和中心值c的初始值。
步骤2:计算模糊神经网络中各层的输入输出,模糊神经网络最后一层的输出得到PID控制器的3个参数Kp,Ki,Kd。根据PID控制方程,计算控制的输出u(k)。
步骤3:利用传感器采样得到的实测值与设定值对比,计算误差e(k)。
步骤4:判断误差是否满足要求,若如满足,则停止迭代。如若不满足,则利用梯度下降算法继续对网络参数进行优化,以此来得到最优得PID参数进而满足误差要求。
3 试验与分析
3.1 IPSO算法性能测试
为了验证IPSO算法的性能,选择了以下标准测试函数进行评估。
Girewank函数
Rastrigrin函数
Rosenbrock函数
Sphere函数
使用上述标准测试函数分别对IPSO和PSO算法连续试验20次,最大迭代次数500次;测试函数参数见表1,仿真结果见表2。
表2 PSO算法和IPSO算法测试结果对比Table 2 Comparison of test results by PSO algorithm and IPSO algorithm
1)平均值是反映算法性能最直接的体现,上述所选的4个标准测试函数的最优值都为0,因此,测试结果的平均值越接近最优值,算法的性能就越好。故提出的IPSO算法相比较与传统的PSO算法,解的平均值有显著的下降。
2)试验可达到的最小值是算法搜索能力体现,IPSO算法在20次连续试验过程中能达到的最小值均小于PSO算法,表明IPSO算法有较强的搜索能力。
3.2 IPSO-FNN-PID控制器性能测试
为了验证基于IPSO-FNN-PID控制算法的性能,在MATLAB软件中分别对传统PID,模糊PID,模糊神经网络PID、IPSO-FNN-PID进行仿真分析。控制器取惯性因子α=0.2,学习速率η=0.5。
通过前面对瓦斯浓度掺混系统的分析,其传递函数可以用一个一阶惯性加纯延迟环节来表达。由图解法得
由于模糊神经网络输出层连接权值w,模糊化层隶属度函数的宽度b和中心值c初值的选取对模糊神经网络输出的影响非常大,选取不合理的初值有可能导致训练结果波动大,不一致以及陷入局部最优等问题。给定随机网络初值训练5次的结果如图9所示。
图9 模糊神经网络PID多次训练结果Fig.9 Multiple training results of fuzzy neural network PID
从图9可以看出,随机网络初值对训练结果的影响很大,训练结果具有不确定性,且每一次的训练结果差距都较大。所以引入IPSO算法来寻找模糊神经网络的最优网络初始参数,为设置合理的粒子群规模和迭代次数,分别采用粒子群数量M=20,M=50,M=70,M=100进行模糊神经网络网络参数初值的对比试验,其适应度曲线如图10所示。不同规模粒子群迭代试验结果见表3。
从图10和表3可以看出,当粒子群规模为100时,其收敛后的适应度最小,表明了模糊神经网络的网络初值在此种群规模下优化的最好。与此同时,不同规模的粒子群当适应度到达收敛时的迭代次数区间均包含[188,200]。综上所述,考虑模糊神经网络需得到充分优化,设定粒子群规模为100,迭代次数为200次。
表3 不同规模粒子群迭代试验结果Table 3 Iterative test results of particle swarms of different scales
图10 不同粒子规模的适应度Fig.10 Fitness for different particle scale
对4种控制算法进行仿真,通过试凑法得到PID控制器的参数,Kp=1,Ki=0.5,Kd=1,结果如图11所示,图11表示在给定幅值为0.2的阶跃信号时PID控制、模糊PID控制、模糊神经网络PID控制以及基于IPSO的模糊神经网络的PID控制的响应曲线。控制器误差变化如图12所示,IPSOFNN-PID控制器的参数变化如图13所示。
图11 4种控制器阶跃响应Fig.11 Step response of four controllers
图11的曲线设定信号值为0.2,即表示瓦斯掺混系统混合后瓦斯浓度的理想值,从图11可以看出,基于IPSO-FNN-PID控制器与其他3种控制器相比超调量小、上升时间短、控制效果最优。图12为3种控制器的误差下降曲线,从图12可以看出,基于IPSO-FNN-PID控制器其误差下降速度最快,下降过程最为稳定,相比其他3种控制器波动最小,说明IPSO-FNN-PID控制器相对于其他控制方式具有更优的控制效果。控制器的3个参数Kp,Ki,Kd的变化如图13所示。
图12 4种控制器误差Fig.12 Error of four controllers
图13 PID控制参数变化Fig.13 Change of PID control parameters
为量化4种控制器的性能指标,从上升时间、调节时间、超调量这3个方面来进行了对比,具体结果见表4。从表4可以看出,在传统PID控制下,系统的上升时间比较缓慢,调节时间很长,其超调量高达21.6%,而超调量过大容易引起系统的震荡,导致安全问题。当采用Fuzzy-PID控制时,相比于PID减小了调节时间,但是仍然有9.9%的超调量。但是当采用FNN-PID控制时,FNN-PID的各项性能指标均优于PID控制算法和模糊PID控制算法。最后,在基于IPSO优化后的模糊神经网络PID控制下,控制系统的超调量为0,尽管由于算法复杂度的上升而导致系统的上升时间相比FNN-PID有所增长,但是仍然优于传统PID和Fuzzy-PID,且调节时间大幅度降低。这表明了IPSO-FNN-PID算法优越的控制性能,提高了瓦斯掺混浓度控制系统的精确性。
表4 4种控制算法输出结果比较Table 4 Comparison of output results by four control algorithms
4 结 论
1)通过与传统PID、模糊PID、模糊神经网络PID这3种控制算法比较,选择了基于IPSO优化的模糊神经网络PID控制算法。其特点是模糊神经网络选取更为合理的初始网络参数,进而提升控制效果。
2)使用标准测试函数对比PSO算法与IPSO算法测试的结果,IPSO算法的搜索能力更强。
3)采用的基于IPSO算法优化的模糊神经网络PID控制算法可以合理的确定模糊神经网络初始参数,使得掺混瓦斯浓度控制系统能够更快的到达稳态,拥有更短的调节时间、更小的控制误差和更优的控制性能。能够很好的满足瓦斯掺混浓度控制系统的要求。