APP下载

基于AFSA-BP算法的模糊PID控制器在DMF回收系统中的应用

2019-10-25

测控技术 2019年10期
关键词:导热油精馏塔鱼群

(合肥工业大学 电气与自动化工程学院,安徽 合肥 230009)

DMF是一种常见的有机溶剂,在很多化工工艺中起着重要的作用。高浓度DMF废液是回收系统的原料,DMF废液经过收集、浓缩塔脱水后进入精馏塔,塔内的温度控制是回收系统的核心[1-2]。精馏塔由导热油供热。导热油温度和流量都是温度控制过程中的变量,由于导热油温度较为稳定,改变导热油阀门的开度来改变导热油流量是DMF溶液回收系统温度控制的主要思路[3]。因为精馏塔内的温度无法做到实时精确测量,所以精馏塔内的液位高度是否稳定成为反映塔内温度稳定的重要指标。因此,系统控制目的是使精馏塔液位保持稳定或动态稳定,并且与理想液位的误差最小,使塔内DMF废液的进料量和DMF溶液的挥发量保持平衡。此时能最大程度节约资源,降低企业生产成本。

1 BP神经网络的模糊PID控制器

1.1 系统结构

对导热油阀门开度进行PID控制器设计,由于传递函数模型往往建立得不够精确,同时导热油阀门开度的设定往往由工人根据经验调节且阀门调节的频率不能太高,传统PID控制器很难满足控制需要。因此,对其进行基于AFSA-BP算法的模糊PID控制器设计。其结构图如图1所示。它包括如下几个部分:

① 积分分离PID控制器。根据PID参数直接对导热油阀门开度进行控制。

② 模糊逻辑。对导热油阀门开度的偏差值e(k)和偏差值变化率Δe(k)进行模糊化处理。

③ BP神经网络。确定BP神经网络的结构并与模糊规则相结合。

④ 算法学习。对BP神经网络的系数和权值用AFSF算法发现全局最优解。

图1 复杂PID系统控制结构图

1.2 PID控制器设计

PID控制器的数学表达式为

(1)

式中,U(k)为第k次测量精馏塔导热油阀门开度的大小;err(k)为第k次阀门开度大小与理想阀门开度大小的偏差值;r(k)为理想阀门大小开度的输出值。

1.3 模糊逻辑设计

导热油阀门开度和导热油流量正相关,流量的大小决定了精馏塔温度的高低,这也是温度的控制核心。由于阀门开度控制难以建立精确的数学模型[3],塔内的温度不容易直接精确测量,所以往往根据工人的操作经验定性改变导热油的开度,这也为模糊逻辑的设计提供了前提条件。模糊化处理的目的是在进行模糊推理前,将输入的精确量转化为模糊量[4]。

设集合{PB,PM,PS,ZE,NS,NM,NB}分别对应导热油阀门开度的7个等级{正大,正中,正小,适中,负小,负中,负大}。对阀门开度的输出值与理想值的偏差e(k)和偏差变化率Δe(k)进行模糊化处理,分别对应这7个等级。Kp、Ki、Kd的模糊化变量分别为ΔKp、ΔKi、ΔKd均对应同样的7个等级[5]。

1.4 模糊BP神经网络设计

BP神经网络包含输入层、输出层和隐含层,是一种建立在梯度下降法基础上的有导师的学习算法,其学习过程包含正向传播和反向传播[6]。反向传播通过对各层连接权值进行反向学习,以获得最优的控制参数。

因为本系统的输出层有两个输入量,即精馏塔导热油阀门开度的输出量与理想输出量的偏差值e(k)和偏差值变化率Δe(k)。这两个值无法准确获得,所以在1.3节中提出了模糊规则,在输入层之后加入一层模糊层。选择合适的隶属函数,对输入值阀门开度误差和误差变化率进行模糊划分。图2为加入了模糊规则的5层BP神经网络结构图[7]。

图2 模糊BP神经网络结构图

第1层为输入层,包含两个输入量,偏差值e(k)和偏差值变化率Δe(k)分别设为x1和x2,有两个输入量,即M=2。

所选用的高斯隶属函数为

(2)

式中,cij为隶属函数曲线的中心点;σij为隶属函数曲线的宽度,通常为正数。

第3层为隐含层,该层与典型BP神经网络的隐含层含义不同,由于在模糊层设定了模糊分割数7,所以可以根据模糊分割数和输入节点数得出该层的节点数Q=7×7=49,同时,m=∏mi,对于两个输入量的系统而言,m=Q=49。49个节点每个都对应一条模糊控制规则。每个节点的模糊规则为

(3)

式中,Q表示第几条模糊规则,Q=1,2,…,49,j1∈{1,2,…7},j2∈{1,2,…7}。

第4层为归一化层,对第3步得到的值进行归一化处理,得

(4)

第5层为输出层,根据归一化的隐含层节点输出,得到PID参数,有

(5)

式中,ωlj为第4层到第5层的权值。

对于函数曲线的中心点cij,函数曲线的宽度σij(i=1,2;j=1,2,3,…,mi)和隐含层到输出层的权系数ωlj(l=1,2,3;j=1,2,…,m)而言,这3个系数都需要经过学习才能得到。

2 AFSA算法

2.1 AFSA算法简介

AFSA是一种根据鱼群生活习性衍生出的仿生算法,它的基本思路是:鱼群在水域中总是会朝着食物浓度最高的区域移动,从而进行觅食行为[8]。由此构造出人工鱼集群进行全局寻优,可以有效解决BP神经网络反向传播常用的最速下降法产生的容易陷入区域极大值的情况。

2.2 AFSA算法描述

把输出均方误差的倒数作为人工鱼群算法的适应函数(食物浓度),得到[9]:

(6)

dp,q=‖Xp-Xq‖

(7)

对于距离给出如下定义:

(8)

式中,ωlj(l=1,2,3;j=1,2,…,m)为第4层到第5层的权值;cij(i=1,2;j=1,2,…,mi)为隶属函数曲线的中心点;σij(i=1,2;j=1,2,…,mi)为隶属函数曲线的宽度(下同)。

人工鱼有以下几种基本行为[10-12],对每种行为分别做以下说明。

① 觅食行为。Visual为人工鱼视野,step为最大移动步长,rand()∈(0,1)为一个随机数,Xi为当前人工鱼状态,Xj为人工鱼视野内的随机状态,当该随机状态的食物浓度Yj大于当前状态Yi时,则朝该随机位置移动,此时有

(9)

式中,ωlj、cij、σij的含义和取值同式(8);ωlj()、cij()、σij()为递推时人工鱼群的状态;ωlj(i)、cij(i)、σij(i)为当前状态Xi的训练参数;ωlj(j)、cij(j)、σij(j)为随机状态Xj的训练参数;ωlj(i+1)、cij(i+1)、σij(i+1)为执行此种行为后的训练参数。

当该随机状态的食物浓度Yj小于当前状态Yi时,则人工鱼群随机移动一步,则有

(10)

式中,ωlj()、cij()、σij()为递推时人工鱼群的状态。

② 聚群行为。Xi为当前人工鱼状态,Xjc为人工鱼视野内的随机状态的中心点,n为该随机状态的区域的伙伴数量,δ为拥挤度因子,Yjc为随机状态中心的食物浓度,Yi为当前位置的食物浓度,当Yjc/n>σYi时,说明该随机状态中心有较多食物,人工鱼应该朝该中心位置移动,则有

(11)

式中,ωlj()、cij()、σij()为递推时人工鱼群的状态,否则执行觅食行为。

③ 追尾行为。Xi为当前人工鱼状态,当其视野内存在一个Xj,其食物浓度为视野内最大满足Yj=Yjmax时,若Yjmax/n>δYi成立,说明该处有较多食物,人工鱼应该朝该处移动,则有

(12)

式中,ωlj()、cij()、σij()为递推时人工鱼群的状态,否则执行觅食行为。

2.3 AFSA算法对模糊BP神经网络的参数训练过程

图3为用AFSA-BP神经网络优化PID参数的流程图。其过程包含如下步骤。

① 确定模糊BP神经网络的结构。

② 初始化人工鱼群算法的参数。

图3 AFSA-BP神经网络优化PID参数流程图

③ 产生N条人工鱼,即产生N组ωlj、σij和cij,计算各鱼群的适应函数Y,得到食物浓度的最大值,取值给公告栏。

④ 模拟执行3种行为,然后按照执行行为后的食物浓度选择相应的行为,缺省行为方式为觅食行为。

⑤ 根据步骤④确定鱼群经过某种行为后再次计算各鱼群的适应函数Y,若食物浓度最大值优于公告栏的值,则把新的值赋值给公告栏。

⑥ 判断是否达到最大迭代次数Nummax,若未达到则回到步骤③。

⑦ 达到最大迭代次数,取得公告栏最优值,得到BP神经网络的最优连接权值和隶属函数参数值。

⑧ BP神经网络运行得到最优的PID优化参数。

3 实验仿真

3.1 实验数据分析

在现场DMF回收系统中,由于电机伺服系统频繁改变转向可能导致电机烧毁,所以导热油阀门开度调节频率不应过高,精馏塔的体积较大、温度分布不均匀,无法通过单点测量确认塔内整体温度,所以通常可以测量液位高度的变化进而判断系统是否处于稳定。当精馏塔的DMF废液进料量和挥发量保持一致时,可以有效降低成本,即液位的变化量越小PID参数越好,回收效率越高。在现场生产过程中,采用的是西门子FM355PLC模块控制导热油阀门开度,该控制模块包含PID参数的输入。对精馏塔的液位高度变化进行测量,当液位高度变化很快或回收效率降低时,说明物料没有达到动态平衡,此时会对PID参数进行优化,也就是一种离线优化的过程。用AFSA-BP算法进行系统仿真,根据系统实际输出的情况确认优化后的PID参数。

收集实际实验中的数据,设定120组数据,每组包括进料流量、精馏塔内单点温度、阀门开度、理想液位和实际液位高度,得到采用BP神经网络最速下降法训练时与AFSA-BP算法时的数据,比较液位高度的变化量,部分实验结果如表1所示。

表1 训练参数后部分实验数据组

实际实验数据表明,AFSA-BP算法相较于BP神经网络算法可以有效降低液位高度的相对误差,使液位处于动态稳定状态,能够有效节约能源,降低生产成本。

3.2 AFSA算法对模糊BP神经网络的参数优化过程

AFSA算法优化模糊BP神经网络,需要设定的参数包括步长step=0.4,视野Visual=0.6,最大迭代次数N=100,拥挤度因子δ=0.628,人工鱼的样本数量k,人工鱼群的数量和神经网络的结构和待训练参数的个数有关,根据神经网络结构,模糊度为7,输入量为2,输出量为3,隶属函数有两个训练参数,一个连接权系数,所以人工鱼群数量k应该设定为7×2×2+49×3=175。系统的仿真时间大约需要40 min。以120组数据中的30组数据为训练对象,逼近输出均方误差可以得到图4所示的实验结果。

由图4可知,AFSA算法在进行到第20次时,误差已经达到10-3级,此时训练误差已经比较理想。因此,AFSA-BP算法具有迭代次数少、快速性好的优点。

系统可以在很大程度上降低误差。在得到最优的连接权系数和隶属函数参数后,用实际实验数据中的另外30组为测试对象,仿真得到系统预测精度,结果如图5所示。

图4 AFSA算法训练误差

图5 AFSA算法训练参数后的检验效果图

图5中绿色表示理想输出值,红色表示实际输出值,通过用ASFA算法训练后得到的最优连接权系数和隶属函数参数,赋给模糊BP神经网络后,绝大部分实际输出值符合理想输出值,只有在个别点有一定偏差,因此控制精度较高,满足整体控制要求。

4 结束语

针对DMF回收系统中精馏塔的导热油阀门开度控制难以建立精确数学模型的问题,提出了一种用AFSA算法来优化模糊BP神经网络的PID控制器,控制目的是使精馏塔内的DMF废液进料量和DMF溶液挥发量保持动态平衡,从而实现节约资源并降低企业的生产成本。AFSA算法具有全局寻优能力强、迭代速度快、稳定性好等优点。通过实验仿真,证明AFSA-BP算法迭代次数少,能够减小精馏塔液位的误差,使精馏塔内液位高度保持动态平衡。

猜你喜欢

导热油精馏塔鱼群
一起精馏塔自燃事故的原因分析及防范措施的改进
上海久星导热油股份有限公司
上海久星导热油股份有限公司
上海久星导热油股份有限公司
鱼群漩涡
氨水吸收式制冷系统中精馏塔性能模拟与分析
基于改进鱼群优化支持向量机的短期风电功率预测
基于人工鱼群算法的光伏阵列多峰MPPT控制策略
刍议导热油炉运行中常见问题及处理办法
内部热集成精馏塔分离混合碳五的模拟研究