单步预测控制算法

2024-10-19

单步预测控制算法(精选7篇)

单步预测控制算法 篇1

对约束广义预测控制问题, 求解带有约束的二次规划时, 由于约束优化问题常用的罚函数, 对函数和约束的特性要求较高, 很难解决复杂的约束优化问题[1]。为了提高广义预测控制的性能, 很多优化方法被用于求解约束广义预测控制。张强、李少远提出将遗传算法应用到广义预测控制中, 用遗传算法求解约束条件下的广义预测控制目标函数[2]。陈增强等将Tank-Hopfiled神经网络应用到求解约束预测控制中[3], 但是存在计算量大的问题。宋莹等将混沌优化算法应用到约束广义预测的滚动优化当中[4]。粒子群算法已经在许多优化问题中得到应用, 现将PSO-Powell结合算法引入到约束广义预测控制中。

粒子群算法 (PSO) 源于对鸟群觅食行为的研究, PSO实现简单、不要求目标函数和约束条件可微, 但是PSO的全局搜索能力较差[5,6]。Powell是对约束问题的一种直接搜索法, 它计算简单、具有快速收敛性, 但是对初始点的选择要求较严格。将PSO与Powell结合起来, 利用Powell的局部搜索能力, 提高PSO的收敛速度。将PSO-Powell应用到约束GPC中, 增强该算法在约束空间内的搜索能力。

1约束GPC问题的描述

在推导具有约束GPC时仍然用受控自回归积分滑动平均 (CARIMA) 模型来描述受随机干扰的对象:

式 (1) 中:A (z-1) =1+a1z-1+…+anaz-na;

差分因子Δ=1-z-1, u (k) 、y (k) 分别是系统输入和输出, d为滞后步数, 假设d=1;{ξ (k) }是一个不相关的随机序列。

考虑GPC的约束条件, 即控制量增量约束、控制量约束、输出约束。

控制量增量约束:

控制量约束:

输出约束:

引入丢番图方程1=Ej (z-1) AΔ+z-1Fj (z-1) 求得预测时域为N, 控制时域为Nu的预测模型可以写成

式中:

则k时刻满足上述约束条件的性能指标为

其中yr为参考轨迹;

约束GPC的滚动优化即为求得满足约束条件的情况下, 求得k时刻最优控制率ΔU=[Δu (k) , …, Δu (k+Nu-1) ]T, 使得性能指标J (k) 达到最小。

2基于PSO-Powell算法的约束GPC算法

对于上述约束GPC问题, 引入粒子群算法结合Powell算法来求取最优解。在该算法中约束GPC的二次性能指标作为粒子群算法的适应度函数进行滚动优化, 为了解决粒子群算法全局搜索能力弱, 易陷入局部最优值的缺点, 引入Powell算法帮助粒子群算法跳出局部最优值, 扩大粒子群在解空间的搜索能力[7]。该算法在处理约束时, 把GPC的约束条件和适应度函数一起判断滚动优化求得的最优解的好坏。

基于PSO-Powell算法的约束广义预测控制结构如图1所示。

2.1粒子群算法

该算法对约束广义预测的被控变量ΔU进行寻优, 故令粒子群的搜索空间维数为Nu, 第i个粒子的位置可表示成一个Nu维向量xi=[Δui (l) , Δui (l+1) , …, Δui (l+Nu+1) ]。

将广义预测的二次性能指标作为粒子群优化的适应度函数, 即fik (xi) =J (k) , 以此来对xi进行迭代更新。

在Nu维搜索空间中的第i个粒子的位置和速度分别为Xi= (xi1, xi2, …, xiNu) 和Vi= (vi1, vi2, …, viNu) , 在每一次迭代中, 粒子通过跟踪个体最优解pi和全局最优解pg, 更新公式如下

其中vid (l) 、xid (l) 分别为第i个粒子在第l次迭代中飞行速度和位置的第d维分量, pid是粒子i最好位置的第d维分量, pgd是群体最好位置的第d维分量;w惯性因子, c1和c2为正的学习因子, r1和r2为0到1之间均匀分布的随机数。

2.2约束处理

在粒子群的寻优过程中, 粒子的更新受适应度函数和约束条件的影响, 为了方便更新粒子, 对约束条件做如下处理:

将式 (2) —式 (4) 式全部转化为关于Δu的表达式:

将3个不等式合为一个, 取

将式 (9) 转化成不等式约束形式

其中A由Γ、G、γ组成, b是相应的约束向量[8]。

2.3粒子的可行性规则

假设pik为种群中第i个粒子在第k代的历史最优位置, xik+1为该粒子在第k+1代时所在的位置, 由粒子的适应度函数和约束条件给出了粒子的可行性规则:

2.4 Powell算法

为了防止粒子群优化求得的全局最优解pg陷入局部最小, 应用Powell算法对pg做二次搜索, 以求得全局最优解。

Powell求minfik (xi) 步骤如下:

1) 给定初始点pg (0) , n个线性无关的初始向量组{p0, p1, …pNu}0及精度ε>0, 置s=0;

2) 令h0=pgs, 依次沿{p0, p1, …pNu}s中的方向进行一维搜索:

3) 令pNu=hNu-h0, 若pNu≤ε, 停止迭代, 输出pgs+1=hNu, 否则转4) ;

4) 求出m, 使得

若下式成立

转5) , 否则转6) ;

5) 求解minfik (hNu-tpNu) , 设最优解为tNu, 令

同时令

6) 置s=s+1, 转2) ;

令pgs+1=hNu置s=s+1, 转2) ;

3仿真结果及分析

为仿真对象, 采样时间为5s。

约束条件为:-30≤u (k) ≤30;-10≤Δu (k) ≤

设噪声为[-0.1, 0.1]的均匀白噪声。仿真过程中取预测步长N=10, 控制步长Nu=2, 加权系数q=1、λ=0.8, 输出柔化系数α=0.2。微粒数m=40, 最大迭代次数M=500, 惯性权重ω=0.8, 学习因子c1=c2=2。Powell线性无关向量为[1, 0][0, 1]。使用基于PSO-Powell的约束GPC算法时的仿真曲线如图2所示, 经过对比可以得出, 由于约束的存在, 约束GPC的输出跟踪速度较无约束GPC慢, 但是控制量变化较小, 输出较为平稳且无超调, 有较好的控制效果。

4结论

基于PSO-Powell的约束GPC具有很强的全局搜索能力, 能够很好地在约束空间内搜索最优解。仿真结果可以看出该算法有效地提高了约束广义预测的性能, 但是仍需要进一步提高算法的运行速度。

摘要:提出了一种基于PSO-Powell算法的广义预测控制算法, 利用PSO与Powell进行二次搜索来求取广义预测控制的最优控制率。将PSO-Powell算法引入到广义预测控制的滚动优化过程中, 约束条件函数和适应度函数一起判断最优解的优劣。该算法可以有效地处理约束并找到全局最优解。最后通过仿真验证该方法的有效性。

关键词:广义预测控制,约束,粒子群,鲍威尔算法

参考文献

[1]席少霖.非线性最优化方法.北京:高等教育出版社, 1992:190—312

[2]张强, 李少远.基于遗传算法的约束广义预测控制.上海交通大学学报, 2004;38 (9) :1562—1566

[3]陈增强, 赵天航, 袁著祉.基于Tank-Hopfiled神经网络的有约束多变量广义预测控制器.控制理论与应用, 1998;15 (7) :847—852

[4]宋莹, 陈增强, 袁著祉.基于混沌优化的有约束广义预测控制器.工业仪表与自动化装置, 2006; (2) :3—5

[5]刘华蓥, 林玉娥, 王淑云.粒子群算法的改进及其在求解约束优化问题中的应用.吉林大学学报:理学版, 2005;43 (4) :472—473

[6] Fan Shu-Kai, Zahara S E.Ahybrid simplex search and particle swarmoptimization for unconstrained optimiz-Ation.European Journal of Op-erational Research, 2007;181 (2) :527—548

[7]刘国志, 苗晨.一个与Powell搜索相结合的混合免疫进化算法.江西师范大学学报, 2010;34 (1) :53—56

[8] Bandyopadhyay S.Simulated annealing using a reversible jump mark-ov chain monte carlo Algorithm for fuzzy clustering.IEEE TransKnowledge Data Eng, 2005;17 (4) :479—790

一种改进的广义预测控制算法 篇2

广义预测控制 (GPC) 是20世纪80年代产生的一种新型计算机控制方法, 是预测控制中最具代表性的算法之一, 得到国内外控制理论界和工业界的重视, 成为研究领域中最为活跃的一种预测控制算法。但由于其矩阵的计算量大, 特别是多变量系统, 计算量更大, 并且无法兼顾跟踪快速性和超调性, 因此, 很不适合工业中一些要求快速性高, 实时性强的系统。许多学者对此提出了改进的广义预测控制算法, 文献[1]提出一种快速广义预测控制算法以减少计算量, 但没有避免矩阵求逆。

为此, 本研究提出一种改进的广义预测控制算法, 该算法避免矩阵求逆, 同时考虑控制量变化趋势, 对控制量进行补偿, 较好地抑制了超调, 也兼顾了一定的快速性, 并通过仿真验证算法的正确性。

1广义预测控制基本算法

被控对象的模型采用CARIMA[2,3,4,5,6]模型:

A (z-1) y (t) =B (z-1) u (t-1) +C (z-1) ω (t) /D (1)

式中 A (z-1) , B (z-1) 和C (z-1) —后移算子z-1的多项式;u (t) 和y (t) —被控对象的输入和输出, D—差分算子, D=1-z-1, ω (t) —均值为0的白噪声。

C (z-1) =1, 并有:

A (z-1) =1+a1z-1+…anz-n

B (z-1) =b0+b1z-1+…+bmz-m

则广义预测模型为:

YP (k+1) =GDU (k) +HDU (k-1) +FY (k) (2)

取性能指标:

J=|YΡ (k+1) -Yr (k+1) |Q2+|DU (k) |Q2 (3)

并对DU求导得到最优控制律:

DU (k) = (GTQG+R) -1GTQ[Yr (k+1) -

HDU (k-1) -FY (k) ] (4)

2广义预测的改进算法

上述GPC基本算法中存在 (GTQG+R) -1求逆, 导致求解DU (k) 的计算量过大, 对此CLARKE D W[1]提出一种快速广义预测控制算法以减少计算量。此算法在隐式广义预测控制的基础上通过改进目标函数推导出一种新型广义预测控制算法, 该算法的性能指标方程为:

J=j=1Ν1{[y (k+j) -yr (k+j) ]2+2lDu (k+j-1) h=0Ν1-jghDu (k+j-h+1) +l2[Du (k+j-1) ]2} (5)

式中 N1—预测时域长度。

利用上式可以求出广义预测控制模型为:

U=dT1[Yr-F (z-1) y (k) -H (z-1) Du (k-1) ] (6)

其中:

与传统的GPC相比, 可看出该算法的优越性。由矩阵知识可知道G1为下三角矩阵, 则lI+GT1也为下三角矩阵, 下三角矩阵求逆算法可大大简化计算过程, 降低计算量, 传统的GPC算法其复杂度为o (n3) , 而新型算法下降到o (n2) , 显然n越大所节省的时间越多。

该新型广义预测控制算法在n较大的时候计算量还是较大的, 占用较大内存, 并在控制超调时束手无策。为此本研究给出一种改进算法不仅能大大减少计算量, 并且能很好抑制超调。

考虑性能指标方程:

J=j=1Ν1{[y (k+j) -yr (k+j) ]2+2lDu (k+j-1) h=0Ν1-jghDu (k+j-h+1) +l2[Du (k+j-1) ]2} (8)

上式中, 2lDu (k+j-1) h=0Ν1-jghDu (k+j-h+1) +l2[Du (k+j-1) ]2对Du起一定的限制作用, 防止Du过大, 令:

Dumin<Du (t+k) <Dumax (9)

根据仿真经验, 取-1<Du (t+k) <1, 可以保证系统性能不受影响, 当Du (t) 超出界限时, 取边界值。

这样对Du限制后, 可以去掉式 (8) 中的第二、三项, 以减少计算量, 所以式 (5) 使用如下的目标函数[7]:

J=j=1Ν1[y (k+j) -yr (k+j) ]2= (Y-Yr) Τ (Y-Yr) (10)

根据广义预测控制的算法Y=GDU+H, 并代入式 (10) 得:

J= (GDU+H-Yr) T (GDU+H-Yr) (11)

根据阶梯控制策略[8], 令D (u+k) =hD (u+k-1) , 可得D (u+t+n) =hnD (u+t) , 则:

DU=[Du (t) , Du (t+1) …Du (t+Nu-1, 0, 0…]1×n

=[1, h, …hNu-1, 0, 0…]1×nDu (t)

可以推出:

其中, K=[1, h, h2…hNu-1, 0…0]T1×n, R=[r1, r2…rn]T, R=GK, 该目标函数只有一个因变量Du (t) , 故其解非常简单, 解中RTR是标量, 因此避免了求逆矩阵。由∂J/∂Du (t) 得最优控制律为:

Du (t) = (RΤR) -1RΤ (Y-Η) =RΤ (Y-Η) /i=1Νuri2 (13)

即时最优控制值为U的第一个分量。用式u (t) =u (t-1) +Du (t) 计算出的控制量直接跟踪被控对象容易受到外界环境的影响, 从而影响控制效果, 仿真结果表明有大幅度超调, 从而导致长时间的振荡, 使得系统瞬态响应性能下降。一般根据设定值yr选取如下的一阶滤波方程为:

yr (t) =y (t) yr (t+j) =αyr (t+j-1) + (1-α) yr (14)

其中:j=1, 2…, 0≤α≤1。

建立一个参考响应轨迹, 使被控变量沿着参考响应轨迹逐步趋向设定值, 但很难在跟踪速度和抑制超调间找到平衡点。如果在t时刻, 能够利用t+1时刻对t时刻的超前预测值补偿, 那么这种考虑了控制量变化趋势的新的控制算法可以抑制超调的出现, 取得良好的控制效果。根据式y (t+n+1|t) =EjBDu (t+n) +Fjy (t) 可得到t+n+1时刻的系统输出值:

Du (t+1) = (RΤR) -1RΤ (Y (t+1) -Η) =RΤ (Y (t+1) -Η) /i=1Νuri2

做一个简单的加权平均[9], 得:

3仿真研究

取被控对象为: (1-0.496 585z-1) y (t) =0.5z-2u (t) +e (t) /D, 参数n=Nu=4, a=0.8, h=0.3, RLS参数初始值:gn-1=1, f (k+n) =1, P=105I, 其余为0, e (t) 为[-0.2, 0.2]均匀分布白噪声, 初始条件u (1) =-0.3, u (2) =-0.5, u (3) =-0.8, u (4) =-0.7, y (1) =1.9, y (2) =1.8, y (3) =1.7。

本研究分别用传统广义预测控制算法, 2节中快速广义预测算法和本研究的新型改进算法进行仿真, 结果如图1所示。

4结束语

由图1测得基本广义预测算法的静态误差约为-0.128~0.146, 2节中快速广义预测算法静态误差约为-0.052~0.083, 而本研究的改进算法的静态误差约为-0.001~0.056, 因而大大降低了超调, 同时兼顾了快速性。研究结果表明, 该算法可以广泛地应用于工业过程, 如pH酸碱滴定等。

参考文献

[1]王一晶, 左志强.一种新型广义预测控制快速算法[J].模式识别与人工智能, 2002, 15 (3) :295-298.

[2]RICHALETJ, RAULTA, TESTUD J L, et al.Model pre-dictive heuristic control:application to industrial processes[J].Automatica, 1978, 15 (5) :413-428.

[3]ROUHANI R, MEHRA R K.Model algorithmic control (MAC) ;basic theoretical properties[J].Automatica, 1982, 18 (4) :401-414.

[4]CUTLER C R, RAMAKER B L.Dynamic matrix control-acomputer control algorithm[C].Proc.JACC.SanFran-cisco:American Automatic Control Council, 1980.

[5]CLARKE D W.Application of generalized predictive controlto industrial processes[J].IEEE Control Syst.Maga., 1988 (8) :49-55.

[6]刘福才, 贺浩博.一种约束输入输出的隐式广义预测控制新算法[J].计算机仿真, 2007, 24 (6) :301-303.

[7]张庆武.模块多变量广义预测控制及应用[D].合肥:中国科学技术大学自动化系, 2006.

单步预测控制算法 篇3

在过程控制领域中, 自适应控制技术得到了飞速发展, 一种新的预测控制算法———广义预测控制 (GPC) 应运而生。该算法将自适应控制与预测控制相结合, 具有适用于随机系统、在线辨识以及滚动优化策略、对模型要求低等优点, 在自校正控制方法中已被公认为最接近具有鲁棒性的算法。但广义预测控制的被控对象常常会受到时变、非线性的干扰, 同时还会受到外部复杂环境因素的影响, 因此在实际运用中, 导致参数的精确度不高, 同时大量的在线计算影响了系统的收敛速度, 这些问题在很大程度上限制了GPC在工业中的应用与发展。粒子群优化算法 (PSO) 是由Kennedy和Eberhart共同提出的一种原理简单、便于操作, 对目标函数以及约束条件不要求可微的新型群体智能优化算法, 同时在求解全局最优解时能以较大概率迅速求得, 目前已得到工业过程控制领域的高度重视, 并被广泛应用于多种优化问题中。

本文在广义预测控制 (GPC) 的滚动寻优部分加入了改进的PSO算法, 有效地改善了被控对象在约束广义预测控制中求解方法复杂、计算量大以及很难获得最优预测控制输入等问题。最后, 通过Matlab仿真证明将GPC与改进PSO算法的优点相融合, 提高了整个系统的求解精度和收敛速度。

1 GPC基本算法

1.1 预测模型

通常GPC采用受控自回归积分滑动平均模型 (CARIMA) [1,2]作为预测模型:

式中:

差分因子Δ=1-z-1;y (k) 、u (k) 、ε (k) 分别表示输出、输入和均值为零的白噪声序列, 如果系统时滞大于零, B (z-1) 多项式开头的一项或几项系数等于零。为了方便分析, 取C (z-1) =1。

1.2 滚动优化

为了提高系统的鲁棒性, 在目标函数中考虑了当前时刻的控制u (k) 对系统未来时刻的影响, 将下式作为目标函数:

式中, n表示最大预测长度, 通常应大于B (z-1) 的阶数;m表示控制长度 (m≤n) ;λ (j) 是大于零的控制加权系数。为方便起见, 取λ (j) =λ (常数) 。

进行柔化控制是为了跟踪参考轨线, 而不是为了使输出直接跟踪给定值。

参考轨线由式 (3) 产生, 其中yr、y (k) 和w (k) 分别为设定值、输出和参考轨线;α为柔化系数, 0<α<1。

1.3 输出预测

为了能预测出超前j步输出, 引入丢番图方程:

可知Gj (z-1) 的前j项正是系统单位阶跃响应g0, g1, …的前j项。

故有:

因此广义预测模型为;

式中:

根据式 (6) , 可得系统最优输出的预测值为:

式中:

1.4 最优控制律

若令:

则式 (2) 可表示为:

用Y的最优预测值代替Y, 即将式 (7) 代入式 (8) 。并令, 可得ΔU= (GTG+λI) -1GT (W-f) 。

在实际操作中, 每次只是把第一个分量加入系统, 即:

式中, GT为 (GTG+λI) -1GT的第一行。

2 粒子群算法的概述

粒子群优化算法 (PSO) [4,5]来自于对鸟类捕食原理的研究。与同类进化算法不同, PSO算法具有原理简单、便于操作、收敛速度快、通用性强等优点。PSO算法是将每个个体都定义成无质量、无体积的粒子, 并以一定的速度在D维搜索空间中飞行, 并由单个粒子飞行经验和种群飞行经验动态调节飞行速度。

设第i个粒子的位置为Xi= (xi1, xi2, …, xiD) , 即第i个粒子在D维搜索空间中的位置是Xi。粒子i的速度记为Vi= (vi1, vi2, …, viD) 。粒子个体经历过的最好位置记为Pi= (pi1, pi2, …, piD) , 整个群体中所有粒子经历过的最好位置记为Pg= (pg1, pg2, …, pgD) 。

则粒子群优化算法如下式:

其中, i=1, 2, …, m;d=1, 2, …, D;ω是非负数, 称为惯性权重;C1和C2是正常数的加速常数;r1和r2是[0, 1]之间变换的随机数;α称为约束因子, 用来控制速度的权重。

3 基于改进PSO算法的广义预测控制

通常的广义预测控制是假定被控过程为线性无约束的, 但在实际应用中存在着复杂多样的约束条件, 只有当目标函数以及约束条件可微时, 才能求解有约束的二次规划, 而且只能获得局部最优解。而PSO算法不要求目标函数以及约束条件可微, 便能快速地求得全局最优解, 所以将PSO算法与广义预测控制相结合, 能够很好地解决在约束条件下被控对象很难获得准确参数以及收敛速度慢的问题。如图1所示。

为了使PSO算法能够准确快速地获得最优值, 针对PSO算法局部搜索能力较差、精度不高、且易早熟的问题, 做如下改进:

(1) 调整惯性权重

惯性权重ω的取值较大, 则全局寻优能力较强, 局部寻优能力较弱, 反之, 则全局寻优能力较弱, 局部寻优能力较强。为了使算法的全局搜索能力与局部搜索能力得到平衡, Shi.Y进一步提出了线性递减惯性权重 (LDIW) 的策略[6,7], 即:

其中, ω0为初始惯性权重;ω1为迭代至最大次数时的惯性权重;k为当前迭代代数;Tmax为最大迭代代数。通常惯性权值ω0=0.9, ω1=0.4。

(2) 适应度函数的选取

在广义预测控制中为了尽可能地使系统的输出值接近系统的设定值, 避免控制量变化值Δu发生过大变化, 现将控制量变化值Δu引入到PSO算法的适应度函数中, 以此来限制Δu的变化。采用下式作为PSO算法的适应度函数:

采用上式作为适应度函数, 可以使输出值更加接近设定值, 使Δu变化最小, 提高系统的精度。

(3) 引入邻域算子

随着迭代次数的增多, PSO算法的局部搜索精度随之下降, 以至于无法获得优质的解。为了使PSO算法选择局部模型, 引入邻域算子[8], 同时不断增加局部模型的邻域。为了定义粒子的邻域, 需要计算候选粒子与其他所有粒子的距离, 其中第i个粒子的距离为dist[i], 而最大距离为max_dist, 并定义一个与当前进化代数t有关的分数frac=0.6+3.0t/T。如果frac<0.9, 且frac>dist[i]/max_dist, 则采用局部模型lbest进行搜索;否则使用全局模型gbest。邻域算子的引入实现了算法局部模型与全局模型之间的切换, 有效地增强了系统的探测能力[9]。

4 仿真研究

假设汽油机在不同环境下的模型分别为:

(1) y (k) -0.496585y (k-1) =0.5u (k-2) +ξ (k) /Δ

(2) y (k) -0.496585y (k-1) =0.5u (k-3) +ξ (k) /Δ

(3) y (k) -0.496585y (k-1) =0.5u (k-1) +ξ (k) /Δ

仿真实验中, 从第100步开始, 每进行50步变换一次模型。即取参数:p=N=6, M=2, λ=0.8, a=0.3。学习因子C1=C2=2, 稳定精度j=0.001, 优质种子比例θ%=20%, ξ (k) 为[-0.2, 0.2]均匀分布的白噪声。

通过图2与图3的比较可以很容易的看出, 引入改进PSO算法的广义预测控制系统收敛速度快且输出平稳, 控制效果良好。

5 结语

广义预测控制目前已得到工业过程控制领域的广泛重视, 但在实际应用中, 各种约束条件以及复杂的计算方法, 影响了参数的精确度和收敛速度, 限制了GPC在工业中的应用与发展。本文基于改进PSO算法的广义预测控制在约束条件下具有较强的适应能力, 全局搜索能力得到很大提升, 输出参数更加精确, 收敛速度也得到了很大的提升。仿真实验证明该算法具有很好的适应能力和实用价值。

摘要:广义预测控制的被控对象常常会受到时变、非线性的干扰, 同时还会受到外部复杂环境因素的影响, 因此在实际运用中, 导致参数的精确值不高, 同时需要在线进行大量计算。针对这一问题, 将改进的PSO算法与广义预测控制算法相结合, 综合两者的优点, 提高了控制系统的收敛速度和求解精度, 增强了鲁棒性。该方法的可行性经仿真得以证明。

关键词:广义预测控制,改进PSO,鲁棒性

参考文献

[1]李国勇.智能预测控制及其MATLAB实现[M].2版.北京:电子工业出版社, 2010:255-261.

[2]Clarke D W.Generalized predictive control (PartⅠ&Ⅱ) [J].Automatic, 1987, 23 (2) :137-160.

[3]卓金武.MATLAB在数学建模中的应用[M].北京:电子工业出版社, 2010:60-65.

[4]陈志旺.直接广义预测控制算法研究[D].河北:燕山大学, 2007:16-20.

[5]史峰, 王辉, 郁磊, 等.MATLAB智能算法30个案例分析[M].北京:北京航空航天大学出版社, 2011:130-136.

[6]朱志国.基于粒子群算法混合优化的广义预测控制器及其应用研究[D].安徽:合肥工业大学, 2007:28-29.

[7]刘晓华, 刘芳.无穷时域的连续时间广义预测控制[J].控制与决策, 2008, 23 (3) :337-340.

[8]唐贤伦.混沌粒子群优化算法理论及应用研究[D].重庆:重庆大学:2007:27-28.

单步预测控制算法 篇4

1工艺概述

硝酸的整个生产工艺流程如图1所示,氨气与空气反应的主要设备为氧化炉。硝酸生产过程中,首先是氨空混合气的制备,氨气与空气混合之后进入氧化炉反应制取NOx气体。NOx气体被送入漂白塔底部进行漂白,经过氧化氮精分离器、 二次空气加热器、高压反应水冷凝器后,最终进入吸收塔底部,与工艺水泵送至塔顶的工艺水逆流接触反应生成硝酸。高压反应水冷凝器生成的冷凝酸最终被送入氧化氮分离器[1~3]。

整套硝酸生产过程中,主要有3个关键控制点: 氨氧化工艺指标、NOx吸收工艺指标和成品酸的质量。在此仅针对氨氧化工艺部分的控制进行研究。氨氧化工艺指标有: 氧化炉温度850 ~ 880℃ 、氨氧化压 力350 ~ 450k Pa和氨空比9. 35% ~ 9. 75% 。

2氨空比模型的建立

建立模型的基础是获得相应模型的数据。该工艺模型的数据是基于OPC协议通过Win CC与Matlab软件得到的。具体实现方法是利用Matlab的OPC工具箱,Win CC作为OPC Server,Matlab作为OPC Client进行数据的实时采集与交换。氨空比模型参数的求取主要包含模型阶次和模型参数的确定。采用阶跃响应法,在氨空比为9. 50% 且现场生产较为平稳的情况下加入0. 05% 的阶跃信号,测取氧化炉温度变化,在此基础上进行建模。

2.1模型阶次的确定

通过均值E( D) 、方差Var( D) 、最终预测偏差( FPE) 和Best fit共同确定模型的阶次。其中, 均值E( D) 和方差Var( D) 分别为:

评价所建立的预测模型是否合适或可接受, 通常有不同的标准。统计检验是评价模型预测效果的一个比较常用的办法。统计检验的基本原理: 首先由模型的使用者根据需要事先指定一个可接受的误差标准数值e和一个小概率 α,如果统计检验误差D满足P( | D| ≤e) ≥1 - α,则模型被认为是可以接受的。如果 α 值很小,意味着模型产生的误差D总体上将以很高的概率小于e, 此时认为模型是可以接受的。

通过OPC协议得到现场的实时数据,对其进行建模,得到各个不同阶次模型的输出温度与实际氧化炉温度( 表1) 。

从Best fit指标来看,一阶模型的控制效果不是很理想,其他3个阶次模型的效果大致一样。 依据FPE准则———节省原理( Principle of Parsimony) ,即在提供的信息量基本相同的情况下,用尽可能少的参数建立模型[4],3个阶次模型都在可接受范围内。

现对3个模型进行进一步筛选。采取模型统计检验进行分析,因为建模所用氧化炉温度数据波动在0. 4℃左右,故取误差标准数值e = 0. 4和小概率 α = 0. 05。查阅 χ2分布表可知 χ2( 21) = 32. 67,故选择接受三阶与四阶模型,考虑到数据的拟合程度,最终将氨空比模型定为四阶,模型的性能指标见表2。

2.2模型检验

由于建立的氨空比模型为参数模型,在确定模型为四阶的基础上,选择添加适当的零点。通过其相应阶跃反应的超调比及调节时间等指标确定,选择添加一个零点( 加入滞后时间为3min) , 最终氨( Y( z) ) 空( U( z) ) 比的参数模型为:

对数据进行建模的过程中,要检验模型的适用性。模型检验的实质是对模型残差序列进行白噪声检验。若残差序列非白噪声,说明一些重要信息未被提取,应重新设定模型。检测方法为: 选取工况稳定下的一组数据,利用氨空比数据测取模型输出,对真实输出与模型输出的误差进行白噪声检测。模型的拟合结果如图2所示,可以看出,模型输出能够较好地反映氧化炉温度的真实变化情况。经分析可知,误差符合白噪声检验,因此模型是满足要求的。得到氨空比与氧化炉温度的传递模型后,即可利用其进行模型预测控制研究。

3模型预测控制

模型预测控制通常被简称为预测控制,是在建立各种不同模型的基础上,采用在线滚动优化指标与反馈自校正的策略,力求有效克服受控对象的不确定性、时滞和时变影响,从而达到预期的控制目标———参考轨迹的输入,并使系统有良好的鲁棒性和稳定性[5,6]。预测控制的结构如图3所示。

预测控制算法一般包括3个部分,分别是模型预估、滚动优化和反馈校正。模型预估是展示系统未来动态行为的功能,任意给出未来的控制策略观察对象在不同控制策略下的输出变化,为比较这些控制策略的优劣提供依据; 滚动优化不是一次离线进行,而是反复在线进行的; 反馈校正可以在保持模型不变的基础上对未来误差进行预测并加以校正。

预测控制相比于传统PID算法,是一种基于对象阶跃响应的预测控制算法。传统PID算法对温度这种具有时延的控制对象不能取得良好的控制效果; 而预测控制能有效解决时延问题,采用多步预估技术,并按预估输出与给定值偏差最小的二次性能指标实施控制,是目前一种最优的控制技术[5,7,8,9,10]。

3.1模型预估

动态矩阵控制是一种基于对象阶跃响应模型的预测控制算法。动态矩阵控制利用对象阶跃响应模型作为预测控制模型来获得对象未来输出的预测值。在工艺允许的情况下,利用阶跃响应法得到响应模型。被控对象的阶跃响应采样值计算式为:

式中N ———模型长度;

T ———阶跃响应的采样周期;

α( i) ———系统阶跃响应在该时刻的幅值。

模型在k时刻的输出是k时刻以前所有输出增量的叠加,即:

记当前时刻为k、预估步长L,如果当前和未来时刻的控制增量序列为 Δu( k) ,Δu( k + 1) ,…, Δu( k + L - 1) ,则未来时刻的输出估计为:

其中A由对象动态响应系数构成,是维数为P × L的矩阵,为动态矩阵,易知AΔu为当前和未来时刻的控制对输出的影响; s为过去的控制所产生的输出[11]。

3.2反馈校正

上述模型还未加入误差与干扰,尽管模型预测输出yM( k + j) 能够在k + j时刻接近期望输出yR( k + j) ,却不能保证对象输出yp( k + j) ,因此需要对输出预估值进行校正,从而得到更加准确的控制量。校正公式如下:

3.3滚动优化

预测控制是一种最优控制策略,因为它以参考轨迹为优化目标,通过最优算法使其未来一段时间内的某项性能指标最小,控制作用序列采用预估偏差计算,但只有当前的控制作用是实际执行的。预测控制通常是在控制中设定一条参考轨迹,使输出由当前值逐步过渡到设定值。通常采用的参考轨迹为一阶指数形式,即:

其中 α = exp( - Ts/ Tf) 称为柔化系数,yS为过程对象的设定值。

控制算法的任务是根据输出预估值与输出期望值的偏差来计算出用以施加的控制量,使对象的输出尽可能接近期望的参考轨迹。性能指标用来表征控制算法的优劣,即:

式中e ———输出预估偏差;

Q———误差加权矩阵;

R———控制作用加权矩阵。

3.4仿真结果

为了更准确地模拟实际工况,对过程输出与控制输出分别加入小幅波动信号。用Matlab进行仿真实验,具体参数: 控制步长L = 2,预测步长P = 4,误差作用加权矩阵Q = 0. 9,控制作用加权矩阵R = 0. 9,一阶惯性环节时间常数Tf= 10,采样时间Ts= 1,模型长度N = 40,过程对象设定值yS= 876。所得模型输出与预测控制输出曲线如图4所示,控制误差与性能指标如图5所示,控制增量曲线如图6所示。依据实验结果比较传统PID控制与预测控制的控制效果,可见预测控制能够取得良好的控制效果,控制增量基本保持不变,稳定情况下保持在10- 4数量级左右,并没有像实际现场那样存在较大波动,同时也可以看到模型能够很好地反应实际情况,性能指标也保持在0. 0 ~ 0. 2很小的范围内,预测控制取得了较好的控制效果。因此,预测控制能够很好地解决氧化炉温度等具有纯滞后对象的控制问题。

4结束语

单步预测控制算法 篇5

BP神经网络归类于前馈型神经网络, 原始信息由输入单元输入, 经输入单元分配到隐含层的各神经元, 除输入层以外, 每个神经元的信息是由上一层神经元状态与相对应的连接权值决定的, 输出层可以认为是最后一层隐含层。除输出层外, 每一个神经元都与下一层的各神经元相连, 而同一层的神经元之间没有连接。

BP神经网络主要应用于非线性函数的逼近、数据压缩、模式识别、分类等领域。

在BP神经网络中选择合适的网络层数、各层神经元个数及训练函数就可以实现从输入到输出的非线性映射。其学习过程可分为工作信号的正向传播和误差的反向传播两个过程, 传播过程如图1所示。

(1) 工作信号的正向传播

信号由输入经过隐含层到输出层, 在信号向前传播的过程中, 网络的各层权值是固定不变的, 每一层神经元的信息只影响下一层的神经元而不会影响同层或者上一层神经元。如果输出层的输出结果与期望值不同就转入误差的反向传播。

(2) 误差的反向传播

网络的输出与期望值之间的差值就是误差信号。误差信号由输出层开始逐层向前传播, 并且将误差分摊给各层的所有神经元, 再由此获得各个层的误差信号, 通过修正各神经元之间的连接权值, 使误差减小。这个通过信号的正向传播和误差的反向传播来不断修正各神经元之间的连接权值的过程是不断进行的, 一直运行到预先设定的训练步数或者达到设定的误差就停止。

2 BP神经网络的应用

2.1 基于 BP 神经网络函数逼近的实现

2.1.1 BP 神经网络的函数逼近能力

BP神经网络是一个输入到输出的高度非线性映射, 即F:Rn→Rm, f (x) =Y。对于样本集合:输入xi和yi输出都可认为存在某一映射g使得g (xi) =yi (i=1, 2, 3...) 成立。求出一个映射f, 使得在某种意义下, f是g的最佳逼近。

2.1.2 基于 BP 神经网络函数逼近的 Matlab 实现

设要逼近的非线性函数是:y=5+2e (1-x2) cos (2πx) , -0.4≤x≤3.6。建立一个三层网络, 设置隐含层神经元个数为20, 最小误差为0.01最大训练步数为50。编写Matlab程序, 得到误差曲线如图2所示。

由仿真结果图可以得出, 经过训练后的曲线和原函数曲线非常接近, 由此说明, 训练后的神经网络函数逼近效果很好。

2.2 BP 神经网络在图像压缩中的应用

图像是最重要的一种信息传递方式, 然而, 图像数据量大给信息传递带来了困难, 当前的硬件技术所能提供的存储资源和网络宽带远不能满足日益增长的图像传递要求。图像作为一种重要的资源, 对它进行压缩处理在一定程度上能够减缓它对硬件的要求。

2.2.1 图像冗余

图像数据压缩的根本方法是减小图像冗余, 数据图像的冗余主要表现在以下几种形式: 空间冗余、时间冗余、结构冗余、视觉冗余、知识冗余等, 有了图像的这些冗余信息, 就找到了图像压缩的根据。此外, 根据大面积着色原理, 图像必须在一定面积内存在相同或相近的颜色, 图像中相邻像素间存在的相似性产生了图像预测编码。

2.2.2 图像压缩的分类及图像性能指标

图像压缩的实质就是去除多余数据, 依据在压缩过程中是否有信息损失, 可以将图像压缩分为两种, 有损压缩和无损压缩。无损压缩没有信息的损失, 解压后可以完全恢复, 例如一些文件的压缩都可以完全恢复。有损压缩则不能完全恢复, 有一定的信息损失, 但不会影响对信息的理解。

目前比较流行的压缩方式有JPEG压缩, 基于小波变换的图像压缩算法, 分型压缩, 矢量量化压缩。依据BP神经网络对非线性能够无限逼近的能力, 可以保证在比较高的图像质量下尽可能实现较高的压缩比。

图像性能指标有图像的信噪比及峰值信噪比。

(1) 图像的信噪比 (SNR) 是衡量图像质量高低的重要指标, 见公式 (5) , 其中M和N是图像长和宽上的像素点数, f (i, j) 和g (i, j) 分别是原始图像和重构图像在点 (i, j) 处的灰度值, 信噪比越高说明图像质量越高。

(2) 峰值信噪比经常用作图像压缩等领域中信号重建质量的测量方法, 见公式 (6) , 其中M和N是图像长和宽上的像素点数, f (i, j) 和g (i, j) 分别是原始图像和重构图像在点 (i, j) 处的灰度值, 其值越大, 表示图像失真越小。

2.3 BP 神经网络实现图像压缩

由上述可知, BP神经网络可以逼近非线性函数, 而图像的各像素点之间是非线性关系, 故运用BP神经网络, 通过选取合适的网络层数和训练函数就可以实现图像压缩。

2.3.1 网络层数的选择

神经网络设计中, 隐含层层数的确定要根据实际应用的需要。虽然隐含层层数多可以降低误差, 提高精确度, 但是也增加了神经网络的训练时间, 而误差完全可以通过改变隐含层神经元个数或者使用合适的训练函数来减小。本文选择三层神经网络, 实践证明, 三层神经网络可以达到很好的效果。

2.3.2 训练函数的选取

针对不同的应用, BP神经网络提供了多种训练方法。不同的训练函数对应结果如表1。

由此可见, traincgp (Polak-Ribiere变换梯度法) 有较快的收敛速度, 本文选择此训练函数。

2.3.3 基于 BP 神经网络图像压缩原理及仿真结果

网络结构的确定包括输入层、隐含层和输出层, 隐含层的节点数小于输入节点数, 输入节点数和输出节点数相同[8]。网络在进行学习时, 输入会将网络数据通过隐含层映射到输出作为导师信号, 在这个学习的过程中, 输入层到隐含层称为网络的编码过程, 隐含层到输出层称之为网络的解码过程。

将训练用图像的所有像素点作为压缩网络的输入, 为控制网络的规模, 对图像进行划分。设训练用图像由N×N个像素点构成, 将其划分为M个子图像块, 每个子图像块分别由p×p的子像素块构成。为了加快收敛速度, 保证性能的稳定性, 对图像进行归一化处理。归一化可以使用mapminmax函数进行, 但是考虑到图像数据的特殊性, 像素点灰度值为整数, 且处于0-255之间, 因此归一化处理就可以统一将数据除以255。

用Matlab创建一个三层网络, 函数如下:

net=newff (minmax (P) , [32 , 64], {'tansig', 'logsig'}, 'traindx', 'learngd', 'mse') 。

其中, 应用的激活函数为tansig和logsig, 采用trainoss训练函数网络初始权值和阈值均取随机数 , 然后开始训练网络, 最小误差设置为0.001, 最大训练步数设为10000。运行结果如下, Matlab程序流程图如图5所示, 仿真结果如图7所示。

TRAINOSS-srchbac, Epoch16997/20000, MSE0.000998813/0.001, Gradient 0.00206669/1e-006

TRAINOSS, Performance goal met.

PSNR = 29.9979

SNR = 22.8039

由运行结果可得, 图像压缩后峰值信噪比是29.997, 信噪比是22.8039, 误差已经达到要求。

训练网络误差曲线如图3所示。

由误差曲线可得, 在训练步数达到1000左右的时候, 误差下降趋势趋于平缓, 因此选择训练步数为1000, 然后改变隐含层神经元个数, 比较不同的压缩比情况下的误差、信噪比及峰值信噪比, 不同压缩比下的结果如表2。

由表可得, 随着压缩比的增大, 信噪比和峰值信噪比减小, 误差增大。

2.4 BP 网络的局限性

在实际应用中, BP神经网络存在的几个问题: (1) 误差下降慢, 训练次数多, 影响收敛时间; (2) 隐含层神经元个数是靠经验得来的, 没有可靠的理论依据; (3) 没有考虑到测试样本或者训练样本对算法的影响。

参考文献

[1]钟珞, 饶文碧, 邹承明.人工神经网络及其融合应用技术[M].北京:科学出版社, 2007:23-27.

[2]高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社, 2007:2-78.

[3]倪志伟, 李锋刚, 毛雪岷.智能管理技术与方法[M].北京:科学出版社, 2007:12-33.

[4]Andrea Goldsmith.Wireless Communications[M].Cambrigde University Press, 2005:1-5.

[5]Martin T.Hagan, Howard B.Demuth, Mark H.Beale.神经网络设计[M].北京:机械工业出版社出版社, 2002:3-17.

[6]张立明.人工神经网络的模型及其应用[M].上海:复旦大学出版社, 1993:7-99.

[7]徐丽娜.神经网络控制[M].北京:电子工业出版社, 2003:10-80.

[8]钱海军.基于BP神经网络的图像压缩的Matlab实现[J].电脑开发与应用, 2011, 24 (12) :77-79.

单步预测控制算法 篇6

工业过程控制中,不同程度地存在时间滞后问题,较大的时滞会影响系统的稳定性,往往会使系统出现较大的超调量和较长的调节时间,甚至会出现震荡、发散,系统的控制性能明显变差。专家学者为解决这类问题作了有益地探索[1 - 5],产生了许多优秀的控制算法( 例如Simth预估控制和智能控制等) ,但在这些方法中大多数存在着对被控对象精确数学模型要求高等缺点。基于此,本文将线性预测控制和经典PID控制有机结合形成一种复合控制方法,在一定程度上克服了上述方法的缺点。

本文提出用线性预测模型解决上述问题的方法是利用系统过去的几个输出值预测系统未来的输出值,将此预测值与期望设定值进行比较得出的偏差作为PID控制的输入,依照PID控制律来设定控制器的输出,从而使被延迟了的被控量超前反映到控制器,使控制器提前动作,实现事先调节,从而减少超调量和调节时间,消除时滞对系统控制品质的影响。该预测控制的优点是不依赖被控对象的数学模型,运算量小且响应速度快,适合复杂工业过程控制。另外,为了得到PID的理想控制效果,本文采用混合粒子群算法对预测模型系数和系统参数进行了在线优化和在线调整。实例仿真结果表明了本文提出的复合控制方法和优化方法远好于传统控制方法,大幅度减少了系统的超调量和调节时间,提高了系统的静动态性能,增强了系统的稳定性,全面提升的系统的控制品质。

1 线性预测模型

线性预测就是在假设已经知道y[t - 1],y[t - 2],…y[t - p]的基础上,最佳地预测当前尚未观察到的信号样本y[t],即把当前信号样本的估计值表示为过去p个信号样本的线性组合。

最佳预测就是要通过选取适当的预测系数使得式( 1) 中定义的预测误差e[t]的功率最小:

这里E[·]表示数学均值。

p的最优值可由AIC准则[6]确定。

未来d步的预报值为:

1) d = 1

2) 1 < d≤p时:

3) d > p时:

其中d=1,2,…为预报步数。当阶数p确定,θ(t)已知时,便可利用(3)~(5)式对系统未来输出y[t+d]进行预报,预报值为

这里指出,如果阶数p过大,会使运算量和储存量较大,影响实时性。

2 基于线性预测模型的PID控制系统

工业过程控制中的时滞现象表现为,给控制对象加一个控制量后,要经过一个较长的滞后时间d才能看到控制效果,致使系统产生明显的超调,使得系统的稳定性变差,调节时间延长,控制难度加大。利用线性预测模型的超前预测功能,对系统未来的行为进行预测,提前预测出系统的变化趋势,并与PID相结合,可在一定程度上克服时滞对系统控制造成的不利影响,使控制品质得以改善。控制系统结构如图1 所示。

该系统是用时刻t,t - 1,t - 2,…,t - p的输出y[t],y[t - 1],…,y[t - p]来预测未来d步的输出将此预测值作为反馈信号与期望设定值进行比较得出偏差,作为PID控制的输入,依照PID控制律来设定控制器的输出,从而使被延迟了的被控量超前反映到控制器,消除时滞对系统控制品质的影响。

3 基于混合粒子群算法的模型系数优化

PID控制器的一般形式:

PID的离散形式[7]:

式中k为采样序号,T为采样时间。

PID控制器的性能取决于它的三个参数( 比例Kp、积分Ki和微分Kd) 的整定是否合理,因此,优化PID控制器参数具有重要意义。但是PID参数的整定一般需要经验丰富的工程技术人员来完成,这种方法不仅费时,而且不能保证获得最佳性能。混合粒子群算法( HPSO) 是一种能有效避免早熟且具有很强的全局寻优能力的优化算法,本文将使用HPSO对PID控制器的参数和预测模型的系数进行优化设计,提高了系统的收敛速度。

3. 1 混合粒子群算法

标准粒子群算法通过追随个体极值和群体极值完成极值寻优,虽然操作简单,且能够快速收敛,但随着迭代次数的不断增加,在种群收敛集中的同时,各粒子也越来越相似,可能在局部最优解周边无法跳出。混合粒子群算法[8]摒弃了传统粒子群算法中的通过跟踪极值来更新粒子位置的方法,而是引入了遗传算法中的交叉和变异操作,通过粒子同个体极值和群体极值的交叉以及粒子自身变异的方式来搜索最优解。基本算法步骤如下:

1随机初始化种群中各微粒的位置和速度;

2评价每个粒子微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的Pbest中,将所有Pbest中适应值最优个体的位置和适应值存储于Gbest中;

3更新每个微粒的速度和位置;

式中c1和c2为学习因子,w为常惯性权重。r1和r2为0 到1 之间均匀分布的随机数。

4 对每个微粒,将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;

5比较当前所有Pbest和Gbest的值,更新Gbest;

6将整个粒子群按适应值排序,用群体中最好的一半的粒子速度和位置替换最差的一半的位置和速度,保持Pbest和Gbest不变;

7若满足停止条件( 通常为预设的运算精度或迭代次数) ,搜索停止,输出结果,否则返回3继续搜索。

3. 2 实例分析

设被控对象为一延迟对象[9]:

采样时间为20 s,延迟时间为4 个采样周期,即80 s,被控对象离散化为:

PID控制参数kp= 0. 80,kd= 10,ki= 0. 002[10],取步长d =1,模型阶数p = 5 进行仿真实验。

5 阶线性预测模型为:

式中ai∈[- 2,2]( i = 1,2,3,4,5)

输入信号为一阶跃信号r( t) = 1。在混合粒子群优化算法中设惯性因子w = 0. 7,加速常数c1= 2,c2= 2,维数为5( 5 个待优化的模型参数a1,a2,a3,a4,a5) ,粒子群规模为30。为了提高控制系统的整体性能,将目标函数取为[11]:

式中( 读者可将目标函数取为式( 2) 进行实验) 。粒子算法的最大迭代次数为100,速度范围为[- 1,1],5个待优化参数范围均为[- 2,2]。利用MATLAB编程,运行得到参数的优化结果为:

仿真结果见图2。

实验表明,随着模型阶数的增加系统的超调量越来越少,调节时间越来越短,稳定性越来越高。但随着模型阶数的增加,运算量增大,需要更多的储存空间,时效性会变差。本文认为本算例取p=5较理想。

作为有效性的对比,下面采用经典PID算法对算例( 9) 进行仿真( 系统参数不变,即kp= 0. 80,kd= 10,ki= 0. 002) ,仿真结果见图3。

可以看出,基于混合粒子群算法的线性预测PID控制具有良好地静动态特性,能够大幅度地缩短系统的调节时间,使系统快速收敛; 另外,还强有力地抑制了系统的超调量,实现了参数的在线调整,提高了系统的控制品质,效果远好于传统PID控制,为解决大时滞问题给出了一种新思路和新方法。

另外、可以采用混合粒子群算法对PID系统参数kp,kd,ki及线性预测模型系数同时优化,相关参数设定同上。p = 5 时得到的优化参数值为:

仿真结果见图4。

从图4可以看出控制效果并没有得到有效改善。所以,要提高具有延时问题的控制效果及控制品质,除了对系统参数优化整定外,更应建立在对预测控制方法的改进和优化上,只有这样才能从根本上解决大时滞问题。

4 结束语

单步预测控制算法 篇7

在工业生产过程当中,面对复杂的控制对象,研究者往往难以建立其精确的数学模型。特别是过程控制中常见的参数时变系统,由于存在系统参数的不确定性,采用常规控制方法不易得到良好的控制效果。Clark等人[1,2]于上世纪80年代提出的广义预测控制方法在预测模型的基础上,采用多步预测、滚动优化、反馈校正的策略,降低了对被控对象建模精度的要求,适用于不易建立精确数学模型的复杂控制系统。但如果由于模型参数失配,其预测模型的输出与系统实际对象的输出存在较大的误差时,势必影响其控制的精度和鲁棒性,甚至是稳定性。李东侠等[3]基于BP神经网络对系统的建模误差进行预测,并用其补偿模型输出,抑制了模型失配的影响,但神经网络的调节困难,计算量也很大。翟永杰等[4]利用最小二乘支持向量机对建模误差进行补偿,抑制模型失配的影响,但同样存在计算量大、训练困难的问题。高钦和等[5,6]采用隐式广义预测控制,利用输入输出数据直接辨识控制器参数来求解最优控制量,提高了系统对模型参数变化的适应能力,但不断的在线辨识需要付出很大的计算开销。孙明玮等[7]提出了一个中间程序速度概念,通过间接控制输出增量的方式实现控制目标,其控制思想的机理与变结构控制有一定的相似之处,有较好的鲁棒稳定性。

本研究在此基础上,提出一种克服模型参数失配的输出增量反馈广义预测控制简化算法。

1 克服模型参数失配的广义预测控制简化算法

为推导方便,本研究取被控对象数学模型为CARIMA模型,可表示为:

式中:y(k),u(k)—系统输出、输入;ξ(k)—零均值的随机噪声序列;Δ—差分算子。

并且:

对式(1)作简单数学处理,用差分算子Δ乘两边后,有:

为了预测向前j步的输出增量值Δy(k+j/k),引入多番图方程:

其中:

把多番图方程代入式(2),忽略随机噪声序列,可得向前j步最优输出增量预测值为:

式中:

为了克服模型参数失配,设计目标函数为:

式中:λ—控制增量的加权因子,λ>0;M—控制时域;P—预测时域;{w(k+j)}—输出增量参考序列。

可由以下方法产生:

式中:Δy(k)—输出增量,Δy(k)=y(k)-y(k-1);θr(y(k))—输出增量速度函数,θr(y(k))=(st-y(k))/st⋅θ;st—输出设定值;θ—设定的最大输出增量;α—柔化系数,

把式(5)写成向量形式,然后最小化JP,可得控制向量为:

式中:I—单位矩阵。

且:

观察式(7)可知,研究者在求取控制向量ΔU(k)的计算过程中,需要进行逆矩阵的求解,计算量大。为此,这里引入阶梯控制方式,事先对控制增量序列进行离线约束,这样既符合常规执行机构的控制规律,减少因控制量变化过大所带来的磨损,也保证了控制算法的可行性[8,9]。设输入柔化系数为τ∈(0,1),可得到:

把式(9)代入式(5),再对JP求最小化,可得当前控制增量为:

式中:g1=G×h,ΔY0=FΔy(k)+HΔU(k-1)

由式(10)可知,引入阶梯控制后,当前控制增量的计算避免了逆矩阵的运算。同时,为进一步提高控制算法的鲁棒稳定性,参考β增量型广义预测控制,将β⋅Δu(k)设为当前的控制增量[10,11],可得当前控制量如下:

式中:β—调节因子,取常量。

2 仿真研究

本研究选取如下的三阶参数时变控制系统:

其近似模型取为:

为便于比较,本研究分别采用基本广义预测控制和本研究提出的算法对该系统进行控制,两者控制参数为P=5,M=3,λ=0.5,α=0.5,最大输出增量θ=2.5,输入柔化系数τ=0.2,调节因子β=1.2,采样时间设为1 s,控制目标st设为10。

其仿真结果如图1、图2所示。

从仿真结果曲线可以看出,当对象模型参数时变、建模存在误差时,采用本研究提出的控制算法得到了较好的控制效果,有效抑制了输出调整过程中的输出波动,缩短了调整时间,提高了动态性能,克服了模型参数失配带来的不良影响。同时,控制输出也较平稳,实际使用中可减少执行机构的磨损。

为方便应用,笔者将以上内容进行归纳,可以得到本研究算法步骤如下:

(1)设定控制器参数P,M,λ,α,θ,τ,β;

(2)用阶梯式预测控制式(10)算出Δu(k);

(3)将求出的Δu(k)代入式(11),得到最终控制量u(k)。

3 结束语

针对模型参数时变对广义预测控制的不利影响,本研究提出了一种输出增量反馈的广义预测控制简化算法。该算法通过设定输出增量速度函数,抑制了由于模型失配引起的输出调整过程中的波动,缩短了调整时间,提高了动态性能;同时,利用阶梯控制避免逆矩阵运算,减少计算量,并对控制增量做了改进,提高了系统的鲁棒稳定性。

经过多次的仿真研究表明,与基本的广义预测控制相比,该算法能有效克服模型参数失配的影响,抑制输出调整过程中波动的产生,提高了系统的动态性能,控制效果良好。

参考文献

[1]CLARKE D W,MOHTADI C,TUFTS P.Generalized pre dictive contro1.PartⅠ&Ⅱ[J].Automatic,1987,23(2):137-160.

[2]王晓枫,余世明,熊小华,等.基于广义预测控制算法的水槽液位控制系统[J].机电工程,2009,26(3):35-37.

[3]李东侠,李平,丁淑艳.基于改进的BP网络误差修正的广义预测控制[J].计算机仿真,2004,21(12):143-145.

[4]翟永杰,李海丽,王东风,等.LS-SVM误差补偿的广义预测控制[J].计算机工程与应用,2010,46(3):192-194.

[5]高钦和,王孙安,黄先祥.参数时变系统的广义预测控制研究[J].计算机仿真,2008,25(2):181-182.

[6]李国勇.输入受限的隐式广义预测控制算法的仿真研究[J].系统仿真学报,2004,16(7):1533-1535.

[7]孙明玮,陈增强,袁著祉.输出增量反馈思想[J].信息与控制,2002,31(1):5-8.

[8]李飏,杨洁明.广义预测控制中对控制增量的研究[J].机械工程与自动化,2007(5):45-48.

[9]慈宇红,杨华,李英辉.输入平稳的快速无超调预测控制算法[J].控制工程,2006,13(5):407-412.

[10]麻文斗,王诗宓.输入受限的增量型模型算法控制[J].系统仿真学报,2001,13(Z1):114-116.

上一篇:运营能力分析下一篇:高中排球技术课