张壤文,田学民,王平
基于局部最小二乘支持向量机的潜空间广义预测控制器
张壤文,田学民,王平
(中国石油大学(华东) 信息与控制工程学院,山东 青岛 266580)
针对多变量、非线性、时变的实际工业过程系统,提出了一种基于局部最小二乘支持向量机的潜空间广义预测控制方法。该方法通过偏最小二乘构建潜变量空间,从而将复杂的多变量系统转变成多个单变量子系统,然后在每个采样点利用即时学习选择相关数据样本,在潜空间内在线建立每个单变量子系统(SISO)的局部最小二乘支持向量机(LSSVM)模型,最后利用广义预测控制器对这多个子系统分别实施预测控制。利用即时学习剔除冗余数据样本,提升了LSSVM的鲁棒性,并且使其更适用于实时建模和控制。利用该控制器对四容水箱对象进行仿真研究,验证了算法的有效性。
多变量 非线性 偏最小二乘 即时学习 最小二乘支持向量机 广义预测控制
模型预测控制[1]MPC(model predictive control)是目前过程工业中应用最为广泛也最成功的一种先进控制算法。传统的模型预测控制算法包括模型算法控制(MAC)[2],动态矩阵控制(DMC)[3]和广义预测控制(GPC)[4]等,都是基于线性系统提出的一类控制算法,因而对于线性系统可以得到令人满意的控制效果。然而,大量的实际工业过程中都存在着非线性,并且其操作点也会在一定的范围内发生改变,因而不能简单的用线性模型来模拟系统的真实工况,这也导致了MPC算法无法直接应用于非线性系统。
目前大量针对于非线性系统的预测控制方法都是通过引入神经网络[5-6]、模糊模型[7-8]等经验模型来表示系统的非线性特性。但是神经网络算法是基于经验风险最小化原则的,因而存在局部极小点、收敛速度慢以及过学习等不足,这些缺陷会严重影响神经网络在非线性MPC[9-10]中的应用。而模糊模型作为预测模型在建模时往往需要足够大的样本容量,且模糊规则库和控制区域的划分往往比较复杂,这也限制了模糊预测控制[11-12]在工业过程中的应用。支持向量机(SVM)[13-14]是一种基于结构风险最小化原则的算法,不仅兼顾了学习算法的经验风险和泛化能力,并且具有训练速度快等优点,但其缺点是当训练样本过多时则会导致维数灾难。最小二乘支持向量机(LSSVM)[15-16]是一类改进的SVM,它采用等式约束代替不等式约束,通过求解一组等式方程得到参数的解析解,从而能够克服用二次规划方法求解SVM的维数灾难问题。但是,LSSVM模型的训练需要进行矩阵求逆,当累计数据量较大时,会导致计算量和所需内存容量大幅增加,从而不适用于在线建模。同时,由于LSSVM的支持向量是没有稀疏性的,如果不加区别的将所有样本用于建模也会降低LSSVM的鲁棒性。
为了在建模过程中剔除冗余样本信息,提升LSSVM建模的鲁棒性,同时减小计算量,利用即时学习(just-in-time learning)[17-18]对所有样本进行筛选,从中选取相关样本集建立当前时刻的局部LSSVM模型,并且随着系统工作点的变化,在线滚动建立系统的若干个局部模型,以满足非线性系统实时建模和控制的需要。但是目前大量基于即时学习的控制方法[19-20]针对于多入多出(MIMO)系统的解决方法通常是将其转化为几个多入单出(MISO)子系统,然后建立MISO子系统的局部模型并设计控制器。
为了避免对MISO系统的建模同时也为了减小计算量,利用偏最小二乘(PLS)[21]建立潜变量空间,从而将复杂的多变量控制问题转变为单变量控制问题,减小计算量的同时也简化了控制器。PLS通过构造潜变量,可以将原始空间的MIMO 控制系统分解为潜空间内多个的单输入单输出(SISO)子系统,进而可以实现自动解耦以及回路匹配的特性,简化了控制器的设计。在潜空间中,由于多个SISO系统是并行求解控制律,因而不会由于维数增加而加大计算耗时。然而,传统的PLS方法仅仅考虑了系统输入输出之间的静态关系,这使得它们不适用于系统的动态建模。为了建立系统的动态模型从而实施预测控制, Chi等利用将ARX模型嵌入到PLS内模型中来刻画过程动态的方法设计了广义预测控制器[22],但是这类方法对于强非线性对象则不能获得令人满意的建模和控制结果。在此基础上,Chi等提出了一种在PLS框架下的多模型预测控制策略[23],将非线性过程看成分段线性的系统,通过一组线性模型来建模整个过程。但多模型方法存在难以确定子模型类型、个数和如何选择合适的模型切换算法的问题。
为了处理多变量非线性系统的实时建模和控制问题,笔者提出了一种基于局部LSSVM的动态PLS建模方法并在此基础上设计了预测控制器。该方法利用PLS降维、解耦的同时建立潜变量空间,从而将MIMO非线性系统转化为多个SISO子系统,然后利用潜空间内过程的输入输出数据建立原始数据库,在每个采样时刻,根据当前状态,在数据库中找到相关样本集从而建立每个子系统的局部LSSVM模型。为了避免在系统运行的每个采样周期求解非线性规划问题的复杂计算,在每个采样时刻将非线性模型线性化,以解决非线性预测模型在线优化的困难,最后利用广义预测控制算法实现多步预测,求解控制策略。考虑到实时性问题,为了加快在线建模速度,降低建模复杂度,将系统当前时刻状态和上一时刻状态的相似度进行比较,如果大于某一阈值,则继续沿用上一时刻的模型。同时,提出了一种选取相似度阈值的自适应方法,避免了阈值选取的盲目性,仿真实例验证了算法的有效性。
2.1 偏最小二乘方法
在标准的PLS中,输入数据为X=(xij)l×m,输出数据为Y=(yij)l×n,l,m,n分别定义了样本数、输入变量和输出变量的维数,外部模型可通过对输入数据X和输出数据Y进行迭代提取主元来获得:
(1)
(2)
式中:a——主元个数;T,U——得分矩阵;P,Q——相对应的负荷矩阵;ti,ui——得分矩阵T和U的第i(0
则PLS回归模型最终可以被表达为
(3)
式中:B=diag(b1,b2, …,ba),bi为回归系数。
实际上,PLS将多变量回归问题转变为一系列单变量回归问题,在此基础上,非方和病态问题就可以很容易地被解决。但是在传统的PLS建模方法中仅仅考虑到了输入输出之间的稳态关系,忽略了其动态关系,所以在传统PLS的基础上进行改进使其体现系统的动态特性具有重要意义。
2.2 最小二乘支持向量机
f(x)=wTφ(x)+b
(4)
来估计未知的非线性函数。则LSSVM的目标函数[19]被定义为
(5)
s.t.yi=wTφ(xi)+b+ei
i=1, …,N
式中: 目标函数的第一项对应模型泛化能力;第二项代表模型的精确性;γ——是模型泛化能力和精度之间的1个折中参数,正常数;ei——第i个数据的实际输出和预测输出间的误差。
为了解决该优化问题,对LSSVM的目标函数构建Lagrange函数并分别对其求微分,最终得到LSSVM模型估计为
(6)
式中:αi——Lagrange乘子;K(,)——核函数,本文选用径向基函数作为核函数:
(7)
2.3 即时学习方法
即时学习算法(JITL)将过程的输入输出数据储存在数据库中,当新的过程数据到来时,在数据库中找到与之相关的数据,并基于这些相关样本数据建立局部模型。
假设即时学习的当前数据库包含了N个过程数据(y(i),x(i))i = 1 - N,令当前数据为xq。为了建立非线性过程在当前操作条件下的局部LSSVM模型,首先需通过当前数据信息在数据库中选择相似的回归向量,则同时包含距离和角度测量的相似性指标si定义为
(8)
if cos(θi)≥0
式中:θi——Δxq与Δxi之间的角度,Δxq=xq-xq-1, Δxi=xi-xi-1;si——界定于0~1的值,当si越接近于1,则表明xi与xq越相似。
当计算完所有的si后,将其按降序排列,然后选取相似度较大的样本数据建立当前时刻的局部模型。
2.4 相似度阈值的自适应更新
考虑到对每个xq作预测时都需要从数据库中选择相关数据来建模,当数据库庞大时,这种建模很耗时;而且当系统的动态特性变化缓慢或者是在某一区间稳定工作时,模型变化不大,无需再从数据库中选择相关数据来建模,可以沿用上一时刻的局部模型。基于此思想,笔者利用当前时刻数据信息与上一时刻数据信息相似度比较的方法来降低在线建模的复杂度。利用下式计算当前时刻的状态信息和上一时刻状态信息的相似度snew, new - 1:
(9)
如果snew, new - 1≥slim,则认为当前时刻的模型不变,继续沿用上一时刻的模型,否则重新从数据库中选择相关数据来建模。这里slim为相似度阈值,这样在保证模型精度的前提下,减小了建模过程的在线计算量,加快了系统的响应速度。
为了获得相似度阈值slim,通过计算当前时刻的数据信息和所有建模样本数据之间的相似度的最小值作为当前时刻的slim。随着时间的推移,相似度阈值slim也随之实时更新,避免了人为选定阈值的盲目性。
2.5 基于局部LSSVM的动态PLS建模方法
为了构造动态PLS模型,将局部LSSVM模型嵌入到PLS内模型的动态描述中,其动态内部模型为
ui=Hi(φi)
(10)
则整个动态PLS模型为
(11)
(12)
式中:Hi(·)——在潜变量空间中第i个子系统具有LSSVM形式的动态模型。
通过上述LSSVM建模方法,建立当前时刻潜空间中输入和输出的动态局部LSSVM模型为
(13)
式中:φi——回归数据向量,φi(k)=[ui(k-1), …,ui(k-na),ti(k-1), …,ti(k-nb)],其包含了第i个潜变量空间内输入输出变量当前和历史的信息,且na和nb为潜变量子系统的阶数。可见,为了得到训练数据,首先需构造回归向量φi。
建立动态PLS模型的框图如图1所示,其中,Hi(·)为在潜变量空间中第i个具有LSSVM形式的动态局部模型。
图1 动态PLS模型示意
可见,原来的MIMO过程建模问题实际上就分解成了潜空间中多个SISO子模型的辨识,这使得过程的辨识和控制变得简单。
综上所述,基于局部LSSVM的潜空间建模一般流程如图2所示。
图2 基于局部LSSVM潜空间建模设计流程
3.1 模型实时线性化
为了避免在系统的每个采样周期求解非线性规划问题,可在每个采样时刻将在线得到的被控系统局部LSSVM模型线性化。
采用u表示潜空间输出,t表示潜空间输入,φ表示潜空间回归向量:
φk=[u(k-1), …,u(k-na),
t(k-1), …,t(k-nb)]
设当前采样时刻为k,把LSSVM模型在φk处泰勒展开,得到线性化模型:
P-α1φ(1)-…-αnaφ(na)+
β1φ(na+1)+…+βnbφ(na+nb)
(14)
式中:P——预测时域,且只与当前采样点有关,且
则被控系统当前时刻的差分方程可以表示为
u(k)=P+β1t(k-1)+…+
βnbt(k-nb)-α1u(k-1)-…-
αnau(k-na)
(15)
即:
A(z-1)u(k)=B(z-1)t(k-1)+P
式中:A(z-1)=1+α1z-1+…+αnaz-na;B(z-1)=β1+β2z-1+…+βnbz-(nb-1)。
显而易见,式(15)中的参数是通过把输入映射到更高维的特征空间而得到的,因而具有更大的自由度和更高的推广性能来描述训练数据。
3.2 广义预测控制
在上述动态建模的基础上,将原始空间的MIMO系统转化为潜空间里多个SISO子系统,则可对每一个SISO回路进行预测控制[4]。
根据当前时刻的差分方程,可将潜空间中每个回路的动态内模型表示为如下形式:
(16)
则预测模型[4]可以表示为
(17)
式中:Ej,Fj——满足Diophantin方程,并记Gj=EjB,可根据已知的输入输出信息及未来的输入值,预测未来的输出。
则相应目标函数可以被写为
(18)
式中:u(k+j)——潜空间内预测模型的输出;usp(k+j)——潜空间内参考轨迹;M——控制时域;λ——控制作用加权系数,表明了控制作用变化的限制;H——输入变量的约束矩阵。可以通过在每一时刻求解该二次规划问题得到未来的输入序列。
对于无约束问题,则通过最小化目标函数,得到潜空间最优控制序列为
Δt=(GTG+λI)-1GT(ysp-f)
(19)
即潜空间最优控制量为
t(k)=t(k-1)+gT(usp-f)
(20)
式中:gT——矩阵(GTG+λI)-1GT的第1行。
基于局部LSSVM的潜空间预测控制器设计框图如图3所示。
图3 局部LSSVM-LVMPC示意
综上所述,基于局部LSSVM的潜空间预测控制器设计流程如下:
2) 在潜空间内,利用输入输出潜变量建立a个子系统的初始数据库。
3) 根据当前状态信息,利用即时学习选取数据库中相似度较大的样本数据,建立当前时刻每个子系统的局部LSSVM模型,同时计算相似度阈值slim。
4) 在潜空间内,对每个子模型分别实施GPC从而得到最优输入潜变量。
5) 将每个子系统的最优输入潜变量投影回原始空间,从而得到实际的最优控制输入并应用于实际过程。
6) 得到实际输出,投影到潜空间,得到潜空间输入输出,更新数据库,同时计算当前时刻与上一时刻的snew, new -1,若snew, new -1≥slim,转至步骤4),反之,转至步骤3)。
四容水箱装置示意如图4所示。
由图4可以看出,该装置由2个水泵、2个分配阀和4个互连的储水罐组成。p1,p2分别为加在2个水泵上的电压;v1,v2分别为2个分配阀的流量分配系数,且v1,v2均在[0, 1]内变化;h1,h2,h3和h4分别为4个水箱的液位高度。系统的输入即控制变量为p1和p2;系统的输出即被控变量为2个下水箱的液位h1和h2。当水泵的输入p1变化时,不仅会使得下水箱液位h1变化,还会通过分配阀使得上水箱h4变化从而影响下水箱液位h2,所以2个下水箱液位h1和h2呈相互耦合的关系。
图4 四容水箱装置示意
该系统的动态平衡方程[24]为
(21)
(22)
(23)
(24)
p1 min≤p1≤p1 max,p2 min≤p2≤p2 max
式中:A1,A2,A3,A4——4个水箱的横截面积;a1,a2,a3,a4——4个水箱流出管道的横截面积。
利用随机白噪声作为输入对系统进行开环测试,选择N=500建立数据库样本。LSSVM 的核函数选用径向基函数,模型参数γ=100,σ2=65。通过多次仿真实验获得局部LSSVM学习集的规模l=150。
为了验证本文算法的有效性,将本文方法与基于全局LSSVM模型的预测控制算法进行比较,所得阶跃跟踪仿真曲线如图5所示。
由图5可以看出,对于该两入两出非线性对象,基于局部LSSVM建模的潜空间GPC控制器通过将其解耦为2个SISO子系统从而进行实时建模与预测控制,该控制器使得每个输出都能较快地跟踪给定值的变化而变化,快速性好,超调量较小,且由于耦合作用引起的波动较小,控制效果要优于基于全局LSSVM 的预测控制算法。
图5 阶跃跟踪比较曲线示意
在阶跃跟踪过程中,两回路过程的参数变化曲线如图6及图7所示。
为了测试算法的鲁棒性,减小流量分配系数v2,从而使得流入下水箱2的流量减小,流入上水箱3的流量增大,从而影响下水箱1的流量,因此模型发生改变,控制效果如图8所示。
图6 p1-t1回路参数变化曲线示意
图7 p2-t2回路参数变化曲线示意
图8 模型失配下局部LSSVM与全局LSSVM比较
在模型失配情况下,笔者比较了两种算法的RMSE,见表1所列。
表1 局部LSSVM与全局LSSVM模型预测比较
图8比较了两种方法在t=50, 350,750 s时不断减小v2所得到的控制曲线。由图8可以看出,在模型失配情况下,基于全局LSSVM的预测控制器由于对模型参数是离线辨识的,无法适应改变的过程条件,导致输出不能较快地跟踪给定值的变化而变化。而本文所提方法能够通过在线实时更新模型参数,使得其适用于不断变化的过程条件。从表1也可以清晰地看出本文所提方法处理模型失配的效果要优于基于全局LSSVM的预测控制器。
笔者提出了一种基于局部LSSVM模型的潜空间预测控制方法,该方法首先利用PLS建立潜空间,将多变量控制问题转化为单变量控制问题,然后根据当前时刻的状态信息利用JITL筛选出相关样本数据,建立潜空间内的局部LSSVM模型,最后利用GPC对每个子系统分别进行多步预测,求解最优控制策略。为了加快在线建模的速度,比较当前时刻状态与上一时刻状态的相似度,当模型变化不大时,继续沿用上一时刻的局部模型。与基于全局LSSVM模型的潜空间预测控制方法的仿真比较验证了所提方法针对于非线性多变量系统具有更强的鲁棒性,能够更稳定地实现非线性预测控制。仿真实例验证了算法的有效性。
[1] Camacho D E F, Bordons D C. Model Predictive Control[J]. Preprint, 1999, 127(02): 6137-6142.
[2] Rouhani R, Mehra R K. Model Algorithmic Control (MAC); Basic Theoretical Properties[J]. Automatica, 1982, 18(04): 401-414.
[3] Cutler C R, Ramakar B L. Dynamic Matrix Control — A Computer Control Algorithm[C]//Joint Automatic Control Conference. San Francisco: CA, 1980.
[4] Clarke D W, Mohtadi C, Tuffs P S. Generalized Predictive Control — Part I. The Basic Algorithm[J]. Automatica, 1987, 23(87): 137-148.
[5] Ahmad Z, Mat Noor R, Zhang J. Multiple Neural Networks Modeling Techniques in Process Control: a Review[J]. Asia‐Pacific Journal of Chemical Engineering, 2009, 4(04): 403-419.
[6] Zhang L, Suganthan P N. A Survey of Randomized Algorithms for Training Neural Networks[J]. Information Sciences, 2016, 364: 146-155.
[7] Lemos A, Caminhas W, Gomide F. Multivariable Gaussian Evolving Fuzzy Modeling System[J]. IEEE Transactions on Fuzzy Systems, 2011, 19(19): 91-104.
[8] Andrade L P D, Espíndola R P, Pereira G C, et al. Fuzzy Modeling of Plankton Networks[J]. Ecological Modelling, 2016, 337: 149-155.
[9] Li S, Li Y. Nonlinear Model Predictive Control of an Intensified Continuous Reactor Using Neural Networks[C]//Control Conference (CCC). 2015 34th Chinese. IEEE, 2015.
[10] Vasicˇkaninov A, Bakošov M. Control of a Heat Exchanger Using Neural Network Predictive Controller Combined With Auxiliary Fuzzy Controller[J]. Applied Thermal Engineering, 2015, 89: 1046-1053.
[11] Liu M, Tian X. A Fuzzy Predictive Control Based on T-S Model [J].Microcomputer Information, 2006, 16: 13-15.
[12] Wu X, Shen J, Li Y, et al. Fuzzy Modeling and Predictive Control of Superheater Steam Temperature for Power Plant[J]. ISA Transactions, 2015, 56: 241-251.
[13] Iplikci S. A Support Vector Machine Based Control Application to the Experimental Three-tank System[J]. Isa Transactions, 2010, 49(03): 376-386.
[14] Feng K, Lu J, Chen J. Nonlinear Model Predictive Control Based on Support Vector Machine and Genetic Algorithm[J]. Chinese Journal of Chemical Engineering, 2015, 23(12): 2048-2052.
[15] Samui P, Kothari D P. Utilization of a Least Square Support Vector Machine (LSSVM) for Slope Stability Analysis[J]. Scientia Iranica, 2011, 18(01): 53-58.
[16] Huang L, Wang Z, Ji X. LS-SVM Generalized Predictive Control Based on PSO and Its Application of Fermentation Control[C]//Proceedings of the 2015 Chinese Intelligent Systems Conference. Springer Berlin Heidelberg, 2016: 605-613.
[17] Cheng C, Chiu M S. A New Data-based Methodology for Nonlinear Process Modeling[J]. Chemical Engineering Science, 2004, 59(13): 2801-2810.
[18] Su Q L, Kano M, Chiu M S, et al. A New Strategy of Locality Enhancement for Justin-Time Learning Method[J]. Computer Aided Chemical Engineering, 2012, 31(31): 1662-1666.
[19] Kansha Y, Chiu M S. Adaptive Generalized Predictive Control Based on JITL Technique[J]. Journal of Process Control, 2009, 19(07): 1067-1072.
[20] Yang X, Jia L, Chiu M S. Adaptive Decentralized PID Controllers Design Using JITL Modeling Methodology[J]. Journal of Process Control, 2012, 22(09): 1531-1542.
[21] Wold S, Sjöström M, Eriksson L. PLS-regression: a Basic Tool of Chemometrics[J]. Chemometrics and Intelligent Laboratory Systems, 2001, 58(02): 109-130.
[22] Chi Q, Fei Z, Zhao Z, et al. A Model Predictive Control Approach With Relevant Identification in Dynamic PLS Framework[J]. Control Engineering Practice, 2014, 22: 181-193.
[23] Chi Q, Liang J. A Multiple Model Predictive Control Strategy in the PLS Framework[J]. Journal of Process Control, 2015, 25(25): 129-141.
[24] Kumar E G, Mithunchakravarthi B, Dhivya N. Enhancement of PID Controller Performance for a Quadruple Tank Process with Minimum and Non-Minimum Phase Behaviors[J]. Procedia Technology, 2014, 14: 480-489.
A Generalized Predictive Controller Based on Local Least Squares Support Vector Machines in Latent Space
Zhang Rangwen,Tian Xuemin,Wang Ping
(College of Information and Control Engineering, China University of Petroleum(East China),Qingdao, 266580,China)
s: A generalized predictive control approach based on local least squares support vector machines(LSSVM) model in latent space is proposed for industrial process systems associating with multivariate, nonlinearity and time-varying characteristics. The method constructs latent variable space with partial least squares algorithm. Complicated multi-variable control system is converted into several single input single output subsystems(SISO). Relevant data samples at present are selected by Just-in-time learning(JITL) at every sampling instant. Local LSSVM model for each SISO is online constructed in latent space. Predictive control is implemented to these subsystems separately with generalized predictive controller. Redundant data samples are removed by JITL. Robustness of LSSVM is improved. It is much more applicable for real time modeling and controlling. The proposed predictive control is applied to a quadruple tank process forsimulation. The algorithm efficiency is verified.
multivariate; nonlinearity; partial least squares; just-in-time learning; least squares support vector machines; generalized predictive control
国家自然科学基金资助项目(61273160,61403418)。
张壤文(1992—),女,在读硕士研究生,主要研究方向为预测控制及自适应控制。
TP273
A
1007-7324(2017)02-0020-07
稿件收到日期: 2016-09-09,修改稿收到日期: 2016-12-19。