1. 引言
模型预测控制(MPC)简称预测控制,又分为模型算法控制(MAC)、广义预测控制(GPC)、预测函数控制(PFC)和动态矩阵控制(DMC)等等[1] [2]。其中动态矩阵控制(dynamic matrix control, DMC)算法,分为预测模型、反馈校正和滚动优化三大部分[3],是基于系统的阶跃响应,通过模型预测系统的未来行为,同时根据滚动优化思想实时调整系统的控制策略,计算复杂程度相对较低,因其优异的控制性能和较强的鲁棒性,目前已在石油、化工等工业领域中得到了广泛应用[4] [5]。
然而,DMC预测控制算法在实际应用过程中仍存在一定的局限性。该算法通常适用于一些渐近稳定的对象,而对于工业控制系统中存在的非线性、大时滞等情况,DMC的预测模型很难精确预测到实际系统的所有动态特性;同时DMC的控制性能在一定程度上依赖于准确的控制参数,而传统的参数选择则是通过经验以及试错的方法,导致参数整定过程耗时且效率不高。
近年来,已有相关学者针对以上两个问题,进行了分析和研究。文献[6]提出了一种基于自组织流水线型递归小波神经网络的预测模型,设计自组织机制实现网络结构的自动调整,实验结果验证了对复杂系统控制的有效性,但模型中控制器的设计相对复杂且计算量大。文献[7] [8]提出了一种基于RBF神经网络的模型预测控制算法(MPC),利用径向基函数神经网络来建模局部传递函数,并估计系统的未来行为,跟踪系统的在线动态,但对于复杂非线性系统过程的输出,其预测精度可能会有所下降,而单一的RBF神经网络模型可能无法有效避免非线性系统下模型失配的问题。文献[9]提出了一种基于粒子群的改进策略,即通过粒子群在线解决极小极大最优控制问题,获得更合适的控制变量;文献[10]则是利用粒子群对动态矩阵控制算法的参数进行寻优处理,缩短寻优时间,提升控制品质,但在寻找最优解的过程中可能会过早地聚集在非最优解附近,导致算法收敛到局部最优解而非全局最优解。
上述研究成果中,大多都是从单一优化角度去分析DMC算法中存在的问题,即预测模型或者控制参数,一定程度上降低了预测误差,但对于复杂系统的行为预测仍然存在一定的局限性。因此本文提出了一种基于神经网络和粒子群双阶段协同优化DMC算法的策略。第一阶段,设计基于均值聚类算法和人工鱼群算法的RBF神经网络,即KM-AFSA-RBF神经网络,先利用K-Means聚类算法确定网络基函数的中心,再利用人工鱼群算法AFSA优化更新网络结构的参数,以此提高神经网络的泛化能力,避免模型失配,减少学习时间与计算量。利用该神经网络预测模型对系统进行预测输出,优化DMC算法中原预测模型部分的输出预测值;第二阶段,引入自适应调整策略优化粒子群算法,动态调整算法参数,提高粒子群的搜索效率与收敛速度,进而辨识DMC算法中的控制参数,提高系统控制精度,实现更优的控制效果。
2. 动态矩阵控制(DMC)
2.1. 预测模型
动态矩阵控制(DMC),是构建在系统对单位阶跃函数响应的基础上,通过预测被控对象在未来时刻的行为,在每个控制步骤中优化输入控制量,从而实现对过程的精确控制[11]。
假设系统在N个采样周期后的响应过程接近于稳态值,用动态系数
描述系统的动态特性[12]。未来的N个时刻里,假定系统输出的初始预测值为
,如果在k时刻加一控制增量为
,则根据叠加原理,可以得到未来N个时刻的输出预测值为:
(1)
若在未来M个采样时刻,输入的控制增量为:
,可得系统在未来优化时域P内的输出预测值为:
(2)
其中
,
,将其写成矩阵形式:
(3)
式中
代表未来P个时刻系统的预测输出值,
代表没有控制增量时未来P个时刻系统的初始预测值,A代表由阶跃响应系数构成的动态矩阵,
为M个时刻的控制增量。
2.2. 反馈校正
由于对象及环境存在一定的不确定性,例如干扰、时变等,在预测模型的基础上,可以利用模型输出预测值与被控对象实际值之间的差值,去修正系统的输出预测值。k时刻,将
作用于对象,即给对象一个阶跃信号,幅值为
。k + 1时刻,由式(2)预测模型可得系统的输出预测值为
,假设此时系统的实际输出值为
,可得系统误差为:
(4)
用此误差加权后校正未来其它时刻的输出:
(5)
式中
为反馈校正向量。
将k时刻修正后的预测输出
作为系统k+1时刻的初始预测值,以此类推,通过移位矩阵S可得系统下一时刻新的初始预测值为:
(6)
式中
。
2.3. 滚动优化
设定优化性能指标为:
(7)
其中
代表系统的期望输出值,权系数
是用于调整误差在性能指标中的权重,表示对跟踪误差的控制,权系数
是防止控制输入出现大幅度的波动影响系统稳定,将性能指标转换为矩阵形式即:
(8)
式中
,
分别代表的是误差权矩阵以及控制权矩阵,
。
根据控制量无约束极值条件,由
可得
(9)
取式(9)中的即时控制增量
为:
(10)
式中
。
根据即时控制增量计算可得实际控制
,将
作用于对象,即
(11)
3. 第一阶段:RBF神经网络优化DMC
当工业过程中系统的结构未知且无法充分描述时,动态矩阵控制算法很难实现精准的预测输出。RBF神经网络具有收敛速度快且结构简单的优点,但仍存在一定的局限性,该神经网络一定程度上依赖于参数的选择,因而本文提出了一种基于两种策略先后优化的RBF神经网络模型,即KM-AFSA-RBF神经网络。先通过K-Means聚类算法快速确定RBF网络的中心,然后利用人工鱼群的全局搜索能力,进一步优化网络参数,提高预测精度以及泛化能力。最后利用搭建好的KM-AFSA-RBF神经网络对系统进行预测输出,优化更新DMC算法中原预测模型部分的输出预测值。
3.1. RBF神经网络
RBF神经网络是一种三层前馈型神经网络,它将输入变量映射到高维空间,反映输入与输出之间的正向传播关系,网络能够以任意精度逼近非线性模型。径向基神经网络中,输入层由信号源节点组成[13] [14],隐含层中涉及到的神经元激活函数,则是由径向基函数构成,本文选取高斯函数(Gaussian Function),输出层一般使用线性函数来对输出进行加权。
假设网络的输入为:
(12)
隐含层中神经元的输出为:
(13)
式中,
代表了隐含层中第j个神经元的中心,
代表隐含层中第j个神经元的基宽参数,且
。
则网络的输出为:
(14)
3.2. K-Means优化RBF神经网络
要使RBF神经网络具备良好的网络性能,网络中各参数的选择至关重要,包括隐含层节点个数、径向基函数的中心、基宽参数以及权重[15]。
本文采用K-Means聚类算法求取网络中基函数的中心,并通过概率选择法改进聚类算法,以确保能够最大可能找到全局最优解,具体流程如下:
a) 在样本点中随机选择第一个聚类中心
;
b) 分别求出聚类中心
和其他样本点之间的最短距离,表示为
;
c) 分别求出其他样本点选中成为中心点的概率,表示为
,根据各个样本点的概率选择下一个聚类中心,其中概率公式如下所示:
(15)
d) 重复步骤b,选取m个中心点。
改进后的K-Means聚类算法一定程度上可以避免所有中心点聚集在数据分布的某一部分,使得中心点更均匀地覆盖整个数据空间。
根据确定的中心点确定基函数的基宽参数:
,其中
代表样本与聚类中心点的最大距离,
m为隐藏层节点的个数。
选取性能指标函数为:
(16)
式中
为系统实际输出值,
为神经网络模型预测输出值,同时通过选取梯度下降法调节网络权值
,
(17)
(18)
式中
代表学习速率,
代表动量因子。
3.3. AFSA优化RBF神经网络
人工鱼群算法(Artificial Fish Swarm Algorithm)是模仿鱼类行为方式提出的一种基于动物自治体的优化方法[16]。该算法通过构造人工鱼来模拟鱼群的觅食、聚群、追尾以及随机行为,从而在搜索范围内进行寻找最优解[17]。
利用人工鱼群算法在训练中不断调整网络的权值和阈值,使得网络的误差最小。假设任意一条人工鱼的状态为
,适应值为
,
,其中
为目标函数,人工鱼个体之间的距离表示为
,具体流程如下:
a) 设置人工鱼群算法的初始参数,包括鱼群规模N、最大视野范围
、最大移动步长
、拥挤度因子
等参数;
b) 将上述K-means聚类算法和梯度下降法求出的中心、基宽以及权值作为RBF神经网络的初始参数;
c) 模拟人工鱼群行为如下:
觅食行为:随机选择另外一个人工鱼,状态为
,适应值为
。以求取极大值为例,当
,人工鱼依据公式(19)朝该方向前进一步;当
,在视野范围内,依据公式(20)重新选择一个人工鱼状态
,其中具体表达式如下:
(19)
(20)
其中,Rand为(0,1)之间的随机数。
聚群行为:设某个时刻t,状态为
的人工鱼在其视野范围内找到的伙伴个数为
(
),依据公式(21)找到这个伙伴群体的中心位置
,当
且
,人工鱼依据公式(22)朝该方向前进一步;否则执行觅食行为,其中具体表达式如下:
(21)
(22)
追尾行为:设某个时刻t,状态为
的人工鱼在其视野范围内找到的适应值最小的伙伴状态为
,当
且
,人工鱼依据公式(23)朝该方向前进一步,否则执行觅食行为,其中具体表达式如下:
(23)
d) 更新人工鱼的位置,即调整更新神经网络的中心、基宽和权值;
e) 重复上述步骤,直至满足迭代条件。
3.4. KM-AFSA-RBF神经网络预测模型
设非线性系统时间模型为:
(24)
其中m和n表示输入输出的阶次,d代表系统的滞后时间,u为系统输入的控制量,
代表一个连续非线性函数。
假设k时刻神经网络的输入和输出分别为:
(25)
(26)
依据非线性模型即式(24)对系统未来P个时刻进行多步预测,得到系统未来P个时刻的输出预测值,即:
,
,
(27)
其中
。
另外,在上述分析的DMC动态矩阵控制算法中,由上式(9)可得控制增量
中涉及到控制权矩阵、误差权矩阵、动态矩阵A以及初始预测值
的计算。其中动态矩阵A依据神经网络输出获得,
为k时刻系统未来P个时刻的初始预测值,由k时刻以前所有的输入增量造成。在k − 1时刻,取对象的实际输出值
与初始预测值
之差,用此误差加权校正后修正
得到新的初始预测值
,即
(28)
式中
为修正因子,
。
因而DMC算法中控制增量
即式(9)可以更新为:
(29)
4. 第二阶段:粒子群算法优化DMC
DMC算法中的控制参数影响着控制系统的性能,控制参数包括控制时域、优化时域、误差权矩阵、控制权矩阵以及校正参数向量等[18]。而传统的DMC参数调整往往依赖于专家经验和试错方法,这可能无法保证控制参数的最优化,同时增加了一定的计算量。
因此本文选择粒子群算法对DMC的控制参数进行优化,减少对经验的依赖性,提高参数设置的科学性和系统性。通过粒子群体间的信息互享,有效探索并确定最优解的空间位置,根据粒子群算法的最优解确定DMC中的优化时域P和控制时域M。同时为避免粒子群算法在找到全局最优解之前陷入局部最优,引入自适应调整策略改进粒子群参数,提高粒子群的最优搜索效果。
4.1. 引入自适应调整策略的粒子群算法
粒子群算法是一种基于群体的元启发式优化技术,该算法是受到鸟群觅食行为的启发,通过模拟鸟群等生物群体的社会行为来求解问题[19]。
在粒子群算法PSO中,惯性权重和加速系数对算法的搜索能力有着显著影响。其中惯性权重代表的是粒子能保持上一时刻运动状态的能力[20] [21],通过调整惯性权重的大小,将粒子按平均适应度值进行划分,不同群体的粒子分别实施不同的自适应运算,进而保证粒子的多样性,惯性权重的选取公式为:
(30)
式中f代表当前适应度值,
代表最小适应度值,
代表平均适应度值。
加速系数
控制着粒子向个体最佳和全局最佳位置移动的长度[22],
的取值会影响算法的收敛速度。采用自适应学习因子,即利用正余弦函数进行参数寻优,迭代获得多个随机解,动态调整粒子的飞行速度,进而提高搜索效率和最优解的质量,学习因子的选取公式如下:
(31)
(32)
其中t代表当前迭代次数,T代表最大迭代次数。
4.2. 基于改进粒子群算法的DMC参数优化流程
采用改进的PSO算法对DMC中的参数进行优化,将控制时域和优化时域两个参数当作自由运动的粒子,以向量形式表示粒子的位置,基本流程如下:
a) 设置群体规模N,在设定搜索区间中初始化粒子的位置和速度信息,记录此时个体最优和全局最优位置;
b) 根据上述分析的自适应惯性权重和学习因子调整参数;
c) 计算每个粒子的适应度值,设粒子的适应度为预测值与真实值之间的均方差即:
(33)
式中,N代表样本数量,Y代表真实值,
代表预测值;
d) 更新粒子群中的个体最优和全局最优位置;
e) 依据公式即式(34)和式(35)分别更新粒子的位置和速度信息:
(34)
(35)
式中
代表粒子速度,
代表当前粒子位置,r1、r2为[0, 1]之间的随机数,
代表全局最佳位置,
代表粒子个体最佳位置;
f) 检查是否达到迭代次数,若未达到则继续返回步骤b;
g) 将最终寻优的粒子作为DMC算法中的控制参数。
5. 仿真与分析
工业过程中,被控对象多为复杂的非线性系统,假设实验过程中采用如下非线性表达式进行仿真:
首先验证神经网络对系统的拟合效果,利用聚类算法和人工鱼群算法优化初始RBF神经网络预测模型,其中,AFSA中设置鱼群规模
,人工鱼的最大视野
,人工鱼移动最大步长为
,拥挤度因子
。选取
产生控制输入信号,采集500组训练数据,建立神经网络预测模型进行辨识,初始RBF神经网络与本文提出的KM-AFSA-RBF神经网络对系统的预测输出结果如图1所示,可见,采用均值聚类算法和人工鱼群算法协同优化的神经网络,对非线性系统的拟合误差更小,辨识精度更高。
Figure 1. Neural network model recognition curve
图1. 神经网络模型辨识曲线
其次验证改进后的DMC算法对系统的控制效果,分两个阶段进行实验仿真。
设定系统参考轨迹
,DMC控制器设计中,控制参数设置如下:采样时间
,模型长度
,误差校正系数为0.8。利用试凑法获取DMC算法的控制参数为:优化时域P = 15,控制时域M = 5。
在第一阶段中,通过上述神经网络模型优化DMC算法中的原预测模型输出,纯DMC控制输出效果与基于KM-AFSA-RBF神经网络模型的DMC控制输出效果对比如图2所示,经过第一阶段神经网络优化的DMC,大大减小了系统的振荡频率,使系统更快达到稳定状态。
Figure 2. Comparison of output curves for the first stage
图2. 第一阶段输出曲线比较
在第二阶段中,利用改进的粒子群算法优化DMC中的控制参数,设置粒子群的种群大小N = 30,最大的迭代次数T = 50,将优化时域P的取值范围定为1~50,控制时域M的取值范围定为1~10,仿真实验输出可得新的优化时域为P = 11,控制时域为M = 6。此时经过双阶段优化后的系统仿真对比结果如图3所示。相比于试凑法,使用粒子群算法重新计算DMC的控制参数,一定程度上缩短了寻优时间,提高了优化效率,给系统提供了更准确的控制参数。而经过双阶段改进的DMC预测控制算法,实际输出中系统跟踪参考轨迹的调节时间更短,相比一阶段优化的DMC,更快达到稳定状态。
Figure 3. DMC simulation results based on two-stage optimization
图3. 基于双阶段优化的DMC仿真结果
最后,为验证改进后的DMC算法的抗干扰性和鲁棒性,当t = 100 s时,给被控对象施加一个扰动,系统受到扰动的响应如图4所示。由图4可知,只依靠神经网络优化的DMC预测控制算法,系统重新恢复稳定的时间约为150 s,而双阶段优化的DMC预测控制算法,系统重新恢复稳定的时间约为120 s,这说明基于双阶段优化的DMC具有良好的抗干扰性能,表明了双阶段优化方法的优异性。
Figure 4. DMC immunity test based on two-stage optimization
图4. 基于双阶段优化的DMC抗干扰性测试
6. 结论
针对DMC算法难以精确捕捉和预测非线性系统动态行为以及非线性系统特性引起的控制精度低等问题,提出一种基于KM-AFSA-RBF神经网络和粒子群双阶段协同优化DMC算法的策略。先采用均值聚类算法和人工鱼群两种策略优化RBF神经网络,简化控制器设计,避免模型失配的问题,以此建立被控对象的模型预测系统的未来输出值,优化原算法中预测模型部分的输出预测值;同时利用改进的粒子群算法优化DMC中的控制参数,提高系统的响应速度和控制精度。最后,实验结果表明,经过双阶段改进后的动态矩阵控制算法不仅可以适用于复杂非线性系统,同时也使得系统的控制精度有所提高,鲁棒性有所增强,系统可以获得更好的控制效果。
NOTES
*通讯作者。