(苏州大学机电工程学院1,江苏 苏州 215021;苏州大学沙钢钢铁学院2,江苏 苏州 215021)
科技的进步极大地刺激了工业过程控制以前所未有的速度不断发展,现阶段许多大规模控制系统是基于一个分散式的架构来进行控制[1]。这种方法已经取得了一定的成功运用,但是在鲁棒性和稳定性上还有不足。分布式预测控制正是在这种情况下发展起来的。其中,Motee等针对线性时不变系统设计了一种分布式预测控制策略[2]。Mehmet等人在实验室水箱系统中运用了分布式预测控制算法,并得到了很好的控制结果[3]。基于上述方法的不足,借鉴纳什最优的思想,本文提出了分布式预测函数控制[4]。与文献[5]相比,本文选用预测函数控制作为子系统的控制策略。该算法能够使控制输入结构化,减少了优化变量,相比于一般的迭代式分布式算法,其计算量更小,能够快速、稳定地得到优化结果。
传统的预测控制算法没有考虑到控制输入量的结构状态,只是采用一般的优化算法计算出未来一段时间内的控制量,虽然在一些场合中能够得到所需要的控制结果,但是这种情况下会有控制输入结构不明的情况发生[6]。针对这种情况,在模型预测控制比较成熟的基础上,提出了预测函数控制。
预测函数控制和一般的预测控制算法一样,存在预测控制,也就是预测模型、滚动优化、反馈校正三项基本原理[7]。但是,相比于以往的预测控制,它特别注重控制的结构化,即把每一时刻的输入当作事先规定的一系列基函数的线性组合,通过在线优化求出相对应的加权系数,进而利用加权系数求出最终的控制输入[8]。这种控制方法相应的控制算法简单,控制量与以往算法相比也较少,适合响应较快的系统实时控制,同时能够很好地处理不稳定、待约束、时滞的系统。
分布式预测函数控制将预测函数控制作为各个智能体子系统的求解方法,利用纳什最优的思想,将整个系统分为若干子系统。特别是在计算机发展相对比较成熟的今天,通过网络共享,各个智能体能够进行信息交换。假设这种通信不影响系统的稳定性,那么通过纳什最优的思想就可以实现整个系统的优化。
一个简单的分布式控制结构如图1所示,假设控制器(图1中的控制器1和控制器2)之间是可以进行信息传递的,那么每一个子系统就能够拥有整个系统中其他子系统的行为信息。分布式预测函数控制中,每一个智能体控制器都是采用预测函数控制来实现输入结构化,计算结果(u1和u2)是子系统1和子系统2的输入控制信号,每一次信息交换包含预测函数控制计算的加权系数。通过这些加权系数计算出当前时刻和未来的输入量,利用这些信息,每一个智能体子系统都能够计算出未来的控制输入和输出[9]。
图1 两输入两输出分布式预测函数控制图
由于对单输入单输出系统的算法研究可以应用于多输入多输出系统,因此,下文主要以单输入单输出系统进行说明。
2.1.1 基函数的选择
在预测控制中,新加入的控制作用被看作是若干已知基函数的线性组合:
(1)
式中:u(k+i)为系统在(k+i)时刻的控制量;E为基函数的个数;μj为基函数的线性加权系数;fkj(j=1,2,…,E)为基函数;fkj(i)为基函数fkj在t=iTs时的值;Ts为采样周期;P为预测优化时域长度,表示k时刻起经过P步可以逼近期望值。
基函数的选择与跟踪过程的特性和设定值密切相关,一般可以选择阶跃、斜坡、抛物线和指数函数等。当设定值为恒定值或变化很小时,基函数可以选择阶跃函数;当设定值为斜坡函数或者变化太大时,基函数可以选择阶跃函数和斜坡函数的加权形式,利用两个基函数来完成预期的控制[10]。
2.1.2 预测模型
由于在工业现场中阶跃响应容易得到,避免了对系统的模型进行辨识,相比而言更容易实现,因此本文采用的预测模型为阶跃响应。
首先,需要测定对象单位阶跃响应的采样值a=a(iTs),i=1,2,…,Ts为采样周期。对于稳定系统而言,阶跃响应在tn=nTs后将趋于一个稳定的常值,以至于ai(i>n)与an的相差很小。因而可以认为,an已经近似于阶跃响应的稳态值as=a()。这样,对象的动态信息就可以近似用有限集合{a1,a2,…,an}加以描述[11]。
假设一个系统具有M个连续的控制输入增量Δu(k),…,Δu(k+M-1),则在这些增量作用下未来各时刻的输出预测值为:
Δu(k+j-1)i=1,2,…,P
(2)
假设预测时域为P(一般M≤P≤n),由于:
Δu(k+i)=u(k+i)-u(k+i-1)
(3)
(4)
可以推导出:
yPM(k)=yP0(k)-A0P0uP0+G(k)μ(k)
(5)
2.1.3 滚动优化
对每一时刻k,要了解从此时刻起的M个控制增量Δu(k),…,Δu(k+M-1),须使被控对象在其作用下未来P个时刻的输出预测值yM(k+i|k)尽可能地接近给定的期望值ω(k+i),i=1,2,…,P。
同时,在实际控制系统中,通常不希望控制增量Δu(k)变化过于剧烈。为避免这样的情况发生,可以在性能指标优化中加入软约束予以考虑。因此,k时刻的优化性能指标可取为:
式中:qi、rj为加权系数,分别表示对预测输出和设定值之间的误差及控制输入量的抑制。
通过优化方程求出基函数的加权系数,在基函数已知的前提下,可以计算出控制量和控制增量,以满足整个系统的运行和优化。
2.1.4 反馈校正
由于实际存在的系统和所建立的模型不符、环境干扰等一些未知因素,预测模型的输出与实际物理过程输出存在着一定的误差。为此,对未来优化时域中的误差进行补偿,这就是所谓的反馈校正,在本文中可以假设未来的误差为:
e(k+i)=y(k)-yM(k)
(6)
式中:y(k)为k时刻的对象输出;yM(k)为k时刻的预测模型输出,通过校正可以更加准确地预测过程的输出。
本文中所研究的分布式预测函数控制的中心思想是将一个大规模的在线优化问题转化为各个子模块分布式优化,各个子模块通过通信进行信息共享,提高控制系统的性能。解决这种不同目标的分布式控制问题可以采用纳什最优的方法,也就是每一个子模块智能体在假定已知其他智能体最优解的前提下,只用自己的输入变量对自己的目标进行优化[12]。
现阶段计算机的发展解决了通信的问题,为迭代的进行提供了基础。每一次迭代结果总是和上次迭代进行比较。如果满足预先设定的精度,那么迭代结束;如果两次迭代的结果不满足精度,那么继续进行迭代计算。假如算法是收敛的,那么在某一轮迭代后系统可以达到纳什最优,此时每一个智能体各自求得的最优解均满足纳什最优性条件,该时刻的求解结束。下一时刻重复上述优化过程。
对于一个N输入N输出系统,可以将其划分为N个子系统,具体算法如下。
① 在采样时刻k,估计每个智能体子系统基函数加权系数,得到每一个子系统的控制输入,并且通过通信传给其他子系统。首先令迭代次数l=0。
(7)
④ 在迭代结果满足所设精度的前提下,可以通过优化方程计算出各个子系统的每一个基函数加权系数。由于基函数已知,那么各个子系统就可以计算出每一时刻的控制输入量,并且通过通信传递给其他子系统,为下一步的优化计算做准备。
⑤ 由于本文提出的分布式预测函数控制同样具有滚动优化的特点,所以随着系统的运行,到下一时刻返回到第一步,重复以上几个步骤。
本节提出了分布式预测函数控制算法,并对其思想进行了简要的描述。下文将给出具体的算法步骤和仿真结果。
假设有一个大规模N输入N输出控制系统,控制的目标是使系统的输出达到期望设定值,同时满足整体性能指标最优。利用基函数的表达形式和阶跃响应表示系统的未来输出,可以将整个系统的预测函数模型表示为:
YPM(k)=YP0(k)-A0P0uP0+Gμ(k)
(8)
其性能指标为:
(9)
根据整个系统的形式,第i个智能体的预测模型可描述为:
yi,PM(k)=yi,P0(k)-A0i,P0uP0+Gii(k)μi(k)+
(10)
式中:右边第四项反映了其他智能体输入对第i个智能体输出的影响;Gii、Gij分别为第i个智能体的计算矩阵和第j个智能体对第i个智能体的影响;yi,PM(k)=[yi,PM(k+1|k)…yi,PM(k+P|k)]T;yi,P0(k)=[yi,P0(k+1|k)…yi,P0(k+P|k)]T;A0i,P0=[A0i1,P0A0i2,P0…A0iN,P0];uP0为整个系统前一时刻的输入值;Aij,P0=[aij,P0(1),…,aij,P0(M),…,aij,P0(P)]T;aij,P0(k)为第j个子系统输入对第i个子系统输出的阶跃响应序列;μi(k)=[μi,1(k)…μi,E(k)]T。
根据单输入单输出系统的分析,可以得到:
G=AF
(11)
(12)
(13)
式中:aij(k)(i,j=1,…,N;k=1,2,…)为第j个输入对第i个输出的阶跃响应序列。
可以得到:
Gij=AijFj,E
(14)
对性能指标(9)按N个智能体进行分解,由式(10)可以推导第i个智能体子系统的性能指标为:
(15)
式中:ωi(k)=[ωi(k+1),…,ωi(k+P)]T(i=1,…,N)为第i个智能体的期望输出值;Qi和Ri为相应的权矩阵。
根据纳什最优的概念,智能体i的纳什最优解为:
(16)
新一轮迭代最优解为:
(17)
如果算法是收敛的,则k时刻整个分布式系统的最优解可以写为:
μl+1(k)=W1[ω(k)-YP0(k)+A0P0uP0]+W0μl(k)
(18)
(19)
(20)
通过上述推导就可以得出每一时刻各个子系统基函数加权系数,同时根据式(1),进而算出每一时刻的控制输入或者控制增量。这样一方面保证了控制输入的结构化;另一方面应用纳什最优的思想进行预测控制,保证整个控制系统的稳定性和可实施性。
根据以上计算,可以得到以下的收敛性定理。
定理:基于纳什最优的分布式预测函数控制算法的收敛性条件为|ρ(W0)|<1,其中ρ(W0)为矩阵W0的谱半径。
证明:在k时刻ω(k),YP0(k),A0P0,uP0均已知,W1可以离线计算出具体值,所以式(18)的第一项W1×[ω(k)-YP0(k)+A0P0uP0]是与迭代无关的常量,因此它的收敛性等价于μl+1(k)=W0μl(k)的收敛性。根据数学知识,可以得出该分布式预测函数优化算法的收敛条件为:|ρ(W0)|<1
在这个分布式算法中,每一步的滚动优化都考虑到了其他智能体子系统的影响,通过纳什最优的思想进行优化计算,得到每一时刻的纳什最优解[13]。同时,将一个大规模的系统进行分解,减少了计算量。
针对一个3输入3输出系统,采用分布式预测函数控制,利用Matlab进行仿真,研究运用分布式预测函数来进行控制的系统特性。
(21)
首先验证本系统是否满足前面所推的基于纳什最优的分布式预测函数控制算法的收敛条件。
根据要求,在仿真中,取预测时域P=8,控制时域M=3,加权矩阵Qi=I,Ri=0,采样时间为20 s,误差精度为εi=0.01(i=1,2,3)。
根据W0所推表达式,在上述参数作用下,利用Matlab可以算出:
|W0|=0.218
子系统1的输出和控制输入曲线如图2所示。
图2 子系统1的系统输出和控制输入
子系统2的输出和控制输入曲线如图3所示,子系统3的输出和控制输入曲线如图4所示。
图3 子系统2的系统输出和控制输入
图4 子系统3的系统输出和控制输入
根据仿真结果可以发现,分解的每一个子系统输出都能够很好地跟踪期望设定值,并且跟踪响应速度快,无误差,控制量变化很平缓[14]。因此,利用本文所设计的分布式预测函数控制算法所进行的仿真性能良好,相比于其他的分布式控制在优化变量上有了很大的减少,同时具备分布式控制和预测函数控制的优点。该方法较集中式控制方法或者分散控制要方便得多。
本文针对工业生产中遇见的大规模控制系统在线优化实施复杂的情况,同时结合分布式控制的特点和预测函数的优点,从纳什最优的特点出发,推导利用分布式预测函数控制来实施分布式控制的算式,设计了一种基于纳什最优的分布式预测函数控制算法。它一方面解决了传统输入不明的缺点,将输入结构化;另一方面利用纳什最优的特点将一个大规模的在线优化问题转化为各智能体子系统的分布式优化,从而降低了控制的复杂性,大大减少了单个计算机对性能要求较高的问题[15]。
本文采用预测函数控制作为子系统的控制方法,只是针对加权系数进行优化,相比于以往的迭代式分布式预测控制,在计算量上也有了很大的减少。根据利用本文所推算法进行的仿真结果可以发现,分布式预测函数控制能够很好地解决大规模控制系统复杂性,同时使输入结构化,本文所推出的分布式预测函数控制算法是有效的。
[1] Alessio A,Barcelli D,Bemporad A.Decentralized model predictive control of dynamically coupled linear systems[J].Journal of Process Control,2011(21):705-714.
[2] Motee N,Jadbabaie A.Optimal control of spatially distributed systems[J].IEEE Transactions on Automatic Control(S0018-9286),2008,53(7):1616-1629.
[3] Mehmet M,Francis J D.Distributed model predictive control of an experimental four-tank system[J].Journal of Process Control,2007(17):297-308.
[4] Scheu H,Wolfgang M.Sensitivity-based coordination in distributed model predictive control[J].Journal of Process Control,2011(21):715-728.
[5] 杜晓宁,席裕庚,李少远.分布式预测控制优化算法[J].控制理论与应用,2002,19(5):793-796.
[6] 蒋存波,张淑祯,陈俊达,等.一种基于时域响应的预测控制算法的研究[J].自动化仪表,2012,33(1):59-62.
[7] 张燕,邓嫔,张佳会,等.微分改进RBF网络线性预测控制算法的研究[J].自动化仪表,2012,33(5):53-56.
[8] 宁璨,张泉灵,苏宏业.多变量一阶加纯滞后系统的预测函数控制[J].信息与控制,2007,36(6):703-709.
[10]Zhang R,Wang S.Support vector machine based predictive functional control design for output temperature of coking furnace[J].Journal of Process Control,2008,18(5):439-445.
[11]Scattolini R.Architectures for distributed and hierarchical model predictive control a review[J].Journal of Process Control,2009(19):723-731.
[12]Venkat A N.Distributed model predictive control:theory and applications[D].Wisconsin:University of Wisconsin Madison,2006.
[13]王建玉,任庆昌.基于协调的变风量空调系统分布式预测函数控制[J].信息与控制,2010,39(5):652-657.
[15]Maestre J M,Munoz P,Camacho E.Distributed mpc based on a cooperative game[C]∥IEEE Conference on Control and 28th Chinese Control Conference,2009.