基于自适应神经模糊推理系统的连续搅拌反应釜系统的改进广义预测控制
2020-06-04高钰凯佃松宜
高钰凯, 许 娣, 赵 涛, 佃松宜
(四川大学电气工程学院,成都 610065)
连续搅拌反应釜(continuously stirred tank reactor,CSTR)是化工生产中常见的反应容器,在化工领域广泛使用。CSTR系统具有很强的时滞特性与非线性,故难以对其实现快速准确的控制[1]。
由于比例-积分-微分(proportion integral differential, PID)算法易于实现,因此常用于化工生产过程控制。但对于复杂的非线性对象,PID控制精度较低,难以满足工业产品的质量要求。近年来,许多学者提出了先进的控制方法以提高控制效果。Madhu等[2]基于PID的非线性自回归滑动平均模型的控制器改变冷却剂夹套温度来控制CSTR内的温度,该方法控制效果优于传统PID控制;Bahita等[3]使用一种基于模糊模型的神经网络控制方法限制CSTR系统内化学反应产生的热量,使CSTR系统浓度保持稳定;牛宏等[4]通过无限时域鲁棒二次目标函数分解,构成新目标函数,提出一种非线性鲁棒模型预测控制方法,通过仿真实验证明了该方法的有效性;林勇等[5]采用二次逼近神经网络的方法对CSTR系统进行预测控制,并取得了较好的控制效果。
CSTR系统作为典型的大滞后、非线性系统,其建模常为简化模型,因此会忽略部分条件,所得到的模型往往不是很精确,故本文采用自适应神经模糊推理系统(adaptive-network-based fuzzy inference system, ANFIS)的方法,结合从实际工业现场采集得到的与CSTR相关的大量输入输出数据,进行训练和辨识得到其模糊模型。结合改进广义预测控制(jin’s generalized predictive control, JGPC)算法对CSTR系统的浓度进行控制,并将其与广义预测控制(generalized predictive control, GPC)算法、PID控制算法进行对比,观察JGPC算法的控制效果。
1 理论分析
1.1 ANFIS
ANFIS是在自适应网络下实现的一种模糊推理系统,即将模糊逻辑和神经网络相结合,采用最小二乘法(least square method, LS)与反向传播(back-propagation, BP)算法不断调整T-S(Takagi-Sugeno)模型中的前提参数和结论参数。ANFIS采用神经网络的方法实现模糊控制的模糊化、模糊推理和反模糊化过程,从输入输出数据中提取模糊规则,通过离线训练和在线学习算法进行模糊推理控制规则的自调整[6]。
ANFIS是基于T-S模糊模型的推理系统,其隶属度函数一般是和系统输入相关的0或1阶函数。T-S模糊推理规则为
ifxisAandyisBthenz=f(x,y)。
式中:A与B是前提的模糊值;z=f(x,y)是结论的精确值。则可得两个规则的一阶T-S模糊推理规则。
规则1:
ifxisA1andyisB1, thenf1=p1x+q1y+r1
规测2:
ifxisA2andyisB2, thenf2=p2x+q2y+r2
T-S模糊推理规则模型[7]如图1所示。
图1 T-S推理模糊规则模型[7]Fig.1 T-S inference fuzzy rule model[7]
1.2 基于CARMA模型的JGPC算法
GPC算法虽具备优良的控制性能,但其计算量过大,算法较为复杂。1992年,金元郁[8-9]提出了基于受控自回归滑动平均模型(controlled auto-regressive moving average model, CARMA)的新型广义预测控制算法,简称JGPC控制方法[10-11]。其中CARMA模型用下式表示:
A(z-1)y(k)=z-dB(z-1)Δu(k)+C(z-1)ξ(k)
(1)
式(1)中:y(k)、Δu(k)、ξ(k)分别是输出、控制量以及均值是0的白噪声;d为纯延时;系数矩阵为
(2)
根据式(1)递推可得,系统未来时刻的最小方差输出预测模型为
Y*=Ym+GΔU
(3)
式(3)中各参数的取值为
(4)
(5)
式(4)中的ym(k+j)完全由过去的控制输入和输出来确定,其中N为预测长度,可根据下式推导出。
(6)
式(6)中:
(7)
式(5)中矩阵元素可以从下式递推得到。
(8)
式(8)中:j1=min{j-1,na};当j-1>nb时,b1,j-1=0。
设参考轨迹为
i=0,1,…,N-d
(9)
式(9)中:ω(k)为k时刻的期望输出;α是输出柔化系数;Yr是参考轨迹向量。
极小化目标函数:
J=E{(Y-Yr)T(Y-Yr)+ΔUTΓΔU}
(10)
可得到相应的JGPC的控制增量向量:
ΔU=(GTG+Γ)-1GT(Yr-Ym)
(11)
式(10)中的Γ为控制加权矩阵,一般取单位矩阵。则当前时刻的控制量为
u(k)=u(k-1)+Δu(k)=u(k-1)+[1,0,…,0](GTG+Γ)-1GT(Yr-Ym)
(12)
1.3 ANFIS预测控制架构
图2 ANFIS预测控制架构[12]Fig.2 ANFIS predictive control architecture[12]
图3 CSTR系统结构Fig.3 CSTR system structure
2 CSTR系统的模糊建模
2.1 CSTR系统的数学模型
CSTR系统结构如图3所示,其中A处为加料口,B为出料口,C为CSTR夹套的冷却剂的入口,D为冷却剂的出口。在CSTR 顶部安装有可调速减速搅拌电机,电机与搅拌桨轴连接,启动搅拌电机可实现反应釜内溶液的均匀混合。
实验中,以每0.1 min的时间间隔采集工业现场中反应釜内的浓度。在测量过程中通过调节C、D处冷却剂的流量q来调节反应釜的散热量,测量反应釜内溶剂的浓度CA。根据所采集到的大量输入输出数据,通过ANFIS训练和辨识可得到模糊隶属度函数和模糊规则。
考虑到CSTR的高度非线性特性以及动力学关系可建立CSTR系统的机理模型[13]:
(13)
式(13)中参数含义及数值如表1所示。
表1 CSTR模型参数Table 1 CSTR model parameters
2.2 基于ANFIS的CSTR系统
ANFIS不同于模糊推理系统,前者是基于数据的建模方法,通过学习大量的输入输出数据得到隶属度函数和模糊规则,而后主要依靠专家与操作人员经验知识获取隶属函数和模糊规则[14]。
数据获取方式是:采集试验的前200 min数据,每0.1 min采样1次,共计2 000组数据,指定输入变量1为冷却剂流量q,输入变量2为前一时刻的浓度,即CA(t-1),输出数据为浓度CA(t)。
对采样得到的数据进行训练,设置合理的模糊推理系统参数。其中选择输入语言变量1流量q的隶属函数数目为a个,变量2前一时刻浓度CA(t-1)的隶属函数数目为b个(根据经验,a、b分别取整数5、6、7),隶属函数类型为gaussmf型,输出隶属函数类型为Constant型;ANFIS训练算法选择混合算法(hybrid,即LS算法与BP算法混合),误差精度设置为0;训练次数设置为500次。表2所示为当输入语言变量隶属函数数目a、b取不同值时的训练误差。
表2 ANFIS训练误差对比Table 2 ANFIS training error comparison
对比表2数据可知,相对于其他组数据,第(9)组数据的训练误差最小,故将输入语言变量q和CA(t-1)的隶属函数数目都设置为7个。
模糊论域中将输入变量q的模糊子集数目为7,分别是负大、负中、负小、零、正小、正中、正大,即{NB、NM、NS、ZO、PS、PM、PB};将输入变量CA(t-1)的模糊子集数目为7,分别是负大、负中、负小、零、正小、正中、正大,即{NB、NM、NS、ZO、PS、PM、PB}。则输出变量CA的模糊规则可以分为7×7=49条。输入输出规则如表3所示。
使用ANFIS训练后输入变量q和CA(t-1)的隶属度函数如图4所示。
根据CSTR系统的模糊规则表以及隶属度函数,可得其T-S模糊模型,形式如下。
规则1: ifqis NB, andCA(t-1) is NB
thenCA(t)=0.070 1 mol/L。
规则2: ifqis NM, andCA(t-1) is NB
thenCA(t)=0.063 79 mol/L。
规则3: ifqis NS, andCA(t-1) is NB
thenCA(t)=0.060 43 mol/L。
规则49: ifqis PB, andCA(t-1) is PB
thenCA(t)=0.101 7 mol/L。
(14)
表3 通过训练得到的49条T-S模糊规则Table 3 49 T-S fuzzy rules obtained through training
图4 输入变量q和CA(t-1)的隶属度函数Fig.4 Entering the membership function of the variable q and CA(t-1)
ANFIS训练与测试结果如图5所示。根据测试结果可观察出,所设计的ANFIS参数得到的CSTR系统的T-S模糊模型可较好地拟合该反应过程。
图5 数据训练测试结果Fig.5 Data training test results
3 基于JGPC算法的CSTR系统仿真
通过第2节得到的CSTR系统的T-S模糊模型,根据辨识得到的T-S模型,对于每一个采样点,通过局部动态线性化方法得到系统的线性化模型[15],进而确定A(z-1)、B(z-1)和C(z-1)以及时延阶次d。选取预测长度为N=8、控制加权矩阵为I3×3、柔化系数选取为0.3;同时针对GPC算法和PID控制算法的参数设置分别如下:GPC算法参数设置为,预测时域Np=20、控制步数Nu=2,控制加权矩阵为I2×2,柔化系数选取0.8;PID控制算法的参数设置为,KP=0.11,Ti=0.2,Td=0.7。
选取幅值为0.6、0.2、0.8、0.3、0.5、1的方波作为期望输出,未加入干扰时,JGPC、GPC、PID的控制效果如图6、图7所示。
图6 JGPC、GPC和PID仿真图(未加入干扰)Fig.6 JGPC, GPC and PID simulation diagram (without interference)
图7 JGPC、GPC与PID仿真图(加入白噪声干扰)Fig.7 JGPC, GPC and PID simulation diagram (adding white noise interference)
根据图6可得,JGPC的仿真曲线的调节步数大致在10步之内,而GPC的仿真曲线的调节步数大致在25步,PID的调节步数大致在40步,且PID的超调量比较大,控制效果不够理想。JCPC算法相较于GPC算法和PID控制算法有着更优良的控制效果。
在白噪声干扰情况下,对PID算法、GPC算法以及JGPC算法进行均方根误差(root mean square error, RMSE)以及平均绝对误差(mean absolute error, MAE)的计算,其中,JGPC算法的误差相对较小。具体结果如表4所示。
表4 控制算法性能指标对比Table 4 Control algorithm performance index comparison
根据图7可得,在加入白噪声扰动后,JGPC算法的超调量以及调节步数都明显优于GPC算法以及PID控制算法,并具有更好的稳定性。
因此可以得到,在采用ANFIS建立了CSTR系统的T-S模糊模型的基础上,JGPC算法的控制效果优于GPC算法和PID控制算法。
4 结论
以CSTR为研究对象,通过采集实际工业现场可得到的CSTR系统的输入输出数据。采用ANFIS方法训练以及辨识可得到数据间的隶属度函数和模糊关系,进而建立CSTR系统的T-S模糊模型,通过对模型转换,将其与改进的广义预测控制方法相结合。最后通过仿真证明在对CSTR浓度进行控制时,JGPC方法相较于GPC算法和PID控制算法而言,可以更快地达到期望输出值,并具有较强的抗干扰能力。因此,本文所提方法是有效的。