广义预测(精选7篇)
广义预测 篇1
0引言
广义预测控制 (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)
取性能指标:
并对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]提出一种快速广义预测控制算法以减少计算量。此算法在隐式广义预测控制的基础上通过改进目标函数推导出一种新型广义预测控制算法, 该算法的性能指标方程为:
式中 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较大的时候计算量还是较大的, 占用较大内存, 并在控制超调时束手无策。为此本研究给出一种改进算法不仅能大大减少计算量, 并且能很好抑制超调。
考虑性能指标方程:
上式中,
Dumin<Du (t+k) <Dumax (9)
根据仿真经验, 取-1<Du (t+k) <1, 可以保证系统性能不受影响, 当Du (t) 超出界限时, 取边界值。
这样对Du限制后, 可以去掉式 (8) 中的第二、三项, 以减少计算量, 所以式 (5) 使用如下的目标函数[7]:
根据广义预测控制的算法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) 得最优控制律为:
即时最优控制值为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时刻的系统输出值:
做一个简单的加权平均[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.
[8]杨华.广义预测控制的快速算法研究及应用[D].秦皇岛:燕山大学电气工程学院, 2006.
广义预测 篇2
在过程控制领域中, 自适应控制技术得到了飞速发展, 一种新的预测控制算法———广义预测控制 (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.
广义预测 篇3
航向控制是船舶操纵控制中最基本的,它的任务是保持航向和改变航向,航向控制直接关系到船舶航行的操纵性、经济性,它与航行安全、能源节约和操作省力密切相关。传统的船舶航向控制算法有PID控制、自适应控制。随着计算机技术和现代控制理论的发展出现了各种新的控制算法,如模型参考自适应控制、神经网络、模糊控制、模糊神经网络控制、变结构控制、广义模糊CMAC等算法。这些新的算法均先后应用于船舶航向控制中,但是大多数航向控制器的设计,人们普遍采用Nomoto线性模型进行设计,线性运动方程只适用于小扰动的情况。实际上,由于船舶本身存在的不确定性和风、浪、流等干扰,特别是对于不具有直航特性的船舶,在航向急剧改变的情况下,采用线性模型已经不能精确地描述系统的动态特性。本文针对常规自动舵响应速度慢,舵角操作不稳定,误差较大等缺陷,提出了将支持向量机系统辨识的方法与广义预测控制基本算法结合起来对船舶航向进行控制,以达到预期的控制效果。
2 SVM的基本原理
支持向量机是一种基于统计学习和结构风险最小化原理的学习机,其原理是在最小化样本点误差的同时,缩小模型预测误差的上界,从而提高模型的泛化能力。它不同于神经网络等传统方法以训练误差最小化作为优化目标,而是以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,因此,支持向量机的泛化能力要明显优越于神经网络等传统学习方法。另外,支持向量机的求解最后转化成二次规划问题的求解,因此,支持向量机的解是唯一的、也是全局最优的。正是上述两大优点,使得支持向量机一经提出就得到了广泛的重视,支持向量机方法在非线性系统辨识、预测预报、建模与控制等方面已取得广泛应用。
训练样本集假定为(xi,yi),i=1,2,…l,其中xi∈RN为输入值,yi∈R为对应的目标值,l为样本数。定义ε不敏感损失函数为:
其中:f(x)为通过对样本集的学习而构造的回归估计函数,y为x对应的目标值,ε>0为与函数估计精度直接相关的设计参数,该ε不敏感损失函数形象地比喻为ε通道。学习的目的是构造f(x),使之与目标之间的距离小于ε,同时函数的VC维最小,这样对于未知样本x,可最优地估计出对应的目标值。
对于训练集为非线性情况,通过某一非线性函数Φ(·)将训练集数据x映射到一个高维线性特征空间,在这个维数可能为无穷大的线性空间中构造回归估计函数,因此,在非线性情况,估计函数f(x)为如下形式:
其中:w的维数为特征空间维数(可能为无穷维)。最优化问题为:
类似线性情况,得到对偶最优化问题
其中:K(xixj)=Φ(xi·xj)称为核函数,逼近函数为:
其中:b按如下计算
由式(5)和式(6)可知,尽管通过非线性函数将样本数据映射到具有高维甚至为无穷维的特征空间,但在计算回归估计函数时并不需要显式计算非线性函数,而只需要计算核函数,从而避免高维特征空间引起的维数灾问题。
3 SVM在船舶航向广义预测控制中的应用
设非线性系统由下面非线性离散时间模型表示:
其中:n和m分别是输出y(t)和输入u(t)的阶次,d是非线性系统的时滞,F(·)是一个未知的连续非线性函数。
支持向量机预测控制的实质就是利用作为对象辨识模型的支持向量机产生预测信号,然后利用优化算法求出控制矢量,从而实现对非线性系统的预测控制。如图1所示为SVM预测控制流程图。
广义预测控制具有实时预测、实时优化及实时反馈校正的特点而获得广泛应用。取优化指标为二次加权指标,广义预测控制器是通过在k时刻对下面的性能指标进行优化以获得控制作用。
定义△u=[u(t),…,△u(t+Nu-1)]T(9)
则在每一采样时刻,使用梯度下降法得△u控制律如下:
其中:μ是优化步长,并且
其δyu=
将式(11)代入到式(10)可得:
根据广义预测控制的滚动优化,广义预测控制律可取为:
采用基于SVM的广义预测控制,对船舶模型进行仿真,船舶模型如下:
其中:τ1=1、τ2=0.5、α=3、Kδ=0.1、τ3=0.5,ψ为艏向角、δ为舵角。分别设定仿真时间为50s,研究船舶在25s时航向从10°变化到5°的实际航向历时变化曲线、控制舵角变化曲线和航向误差变化曲线。当系统无风、流、浪干扰时,仿真如图2、图3和图4所示(N2=10,Nu=5,λ=0.01);当系统有风、流、浪干扰时(采用有色噪声来模仿海浪干扰),仿真如图5、图6和图7所示(N2=10,Nu=5,λ=0.01)。
4 结论
船舶航向控制是一个极为复杂的控制过程,船舶航向控制系统模型存在严重的非线性,且船舶在航行中,存在着模型参数与外界干扰的不确定性。本文将SVM运用到该领域的研究中,主要是利用SVM对非线性系统具有良好的函数逼近能力,善于联想、概括、类比和推理,并且具有很强的自学习能力、善于从大量统计资料中分析提取宏观统计规律的特点,仿真结果表明,基于SVM的广义预测控制算法对船舶航向的控制具有更好的稳定性和鲁棒性。
参考文献
[1]陈建华.基于神经网络的非线性预测控制研究及其应用[D].北京:华北电力大学硕士论文,2007.
[2]张浩然.基于支持向量机的非线性系统辨识[J].系统仿真学报,2003,15(1):119-121.
[3]庞中华.广义预测控制算法及其仿真研究[D].青岛:青岛科技大学硕士论文,2005.
[4]秦永祥.基于自适应神经模糊系统的船舶航向控制[D].大连:大连海事大学硕士学位论文,2007.
广义预测 篇4
有效的数据预测在金融投资领域占有重要地位, 而以股票涨落为代表的金融数据影响因素非常复杂, 其变化有着很强的无序性, 从而增加了预测的难度。目前, 已出现众多分析股市的手段以及预测方法。其中, 逐步形成理论的有K线法、波浪法、道琼斯法等。但这些都仅作为分析方法, 作为缺乏经济理论和证券知识的普通用户, 并不能直接从中预测股市的动态。除此之外, 有利用现代统计学的手段, 试图建立模型来预测股市。然而, 影响股市的因素多且复杂, 许多因素本身尚具模糊性、混乱性, 所以上述种种努力所取得的效果甚微。在股市发展过程中, 的确有某种规律性的东西, 或者称为模式。这些规律性的东西常常蕴涵于看似杂乱无章的大量历史数据中, 因此, 要想获得有效的预测, 关键在于发现规律。从数学的角度看, 就是建立某种映射关系 (函数) , 并进行函数的拟合, 神经网络是解决这一问题的最佳工具之一。人工神经网络已被广泛应用于包括经济领域在内的预测问题中, 并已取得了不错的效果。
股市往往具有如下特点:① 含有大量原始数据;② 影响因素众多, 因素之间关系复杂且有某种并行性;③ 很多因素具有一定的模糊性;④ 股市的发展有某种规律性。基于这些特点, 采用模糊神经网络方法进行股价的预测较为合理。然而, 传统的模糊神经网络也具有一定的局限性, 研究人员必须预先划分输入空间, 确定模糊规则基, 在此基础上, 再利用神经网络的学习功能和自适应能力对系统参数进行优化。这往往导致所建立的神经网络不一定具有应用所需的最佳网络结构, 使得研究者不得不经过反复试验, 才能最终确定。本文使用的广义动态模糊神经网络 (GD-FNN) 不同于传统神经网络, 它的网络结构不是预先设定的, 而是动态变化的, 即在学习开始前, 没有一条模糊规则, 其模糊规则在学习过程中逐渐增长而形成。这样就克服了上述缺点, 为应用带来了很多方便。
1 GD-FNN结构
GD-FNN共分为四层, 分别为输入层、隶属度函数层、T-范数层和输出层, 如图1所示。
第一层为输入层, 节点的个数为输入变量的个数, 设共有r个输入变量, 并且每个输入变量xi (i=1, 2, …, r) 有u个隶属函数Aij (j=1, 2, …, u) , 共有r×u个节点位于第二层, 每个输入变量xi与其自身的u个隶属函数相连, 隶属函数为高斯函数, 形式为:
其中, μij是xi的第j个隶属函数, cij和σij分别为xi的第j个高斯隶属函数的中心和宽度。第三层用于计算每个规则触发权的T-范数算子用乘法, 第三层的j个规则Rj (j=1, 2, …, u) 的输出用下式计算:
第四层为输出层, 用如下的表达式:
其中, y是输出变量的值, ωj为第j个规则的连接权。
2 GD-FNN学习算法
广义动态模糊神经网络的结构是在学习过程中逐渐生成、调整的, 通过对模糊规则的调整从而调整网络结构, 因此算法要完成网络结构调整和参数确定、调整两个功能。对于网络结构的调整分为模糊规则的产生和剔除, 对于参数的学习分为两个方面:前提参数估计和结果参数确定。
2.1 模糊规则的产生和剔除
2.1.1 模糊规则的产生
模糊规则的产生考虑两个因素:系统误差和模糊规则的ε-完备性。
GD-FNN输出误差是确定是否需要增加一条新的模糊规则的一个重要因素。误差规则可以表示如下:
对每个观测数据 (Xk, tk) , k=1, 2, …, n;其中, n是全部训练数据的数量, Xk是第k个输入样本向量, tk是第k个期望的输出, 用式 (2) 和式 (3) 计算当前结构下的GD-FNN输出yk。定义系统误差为:
如果‖ek‖>ke, 则应考虑增加一条新的模糊规则。这里, ke是根据GD-FNN期望的精度预定义的一个阈值, 它在学习过程中按以下准则逐渐变化:
其中, emin是GD-FNN期望的输出精度, emax是选择的最大误差, k是学习的次数, β∈ (0, 1) 称为收敛常数, 可以推导出:
模糊规则的ε-完备性是确定是否需要增加一条新的模糊规则的另一个重要因素。ε-完备性定义如下:
定义1 模糊规则的ε-完备性 对某个变化范围内的输入, 如果至少存在一条模糊规则, 使得匹配度 (即触发权) 的值不小于ε, 我们就说这样的模糊规则具有ε-完备性。
在模糊系统中ε的最小值通常选择为εmin=0.5。
从模糊规则观点来看, 一条模糊规则是在输入-输出空间中的一个局部表达。如果一个新的样本满足ε-完备性, 那么GD-FNN不会产生一个新的规则, 而会通过更新现有规则的参数来包容样本。
根据ε-完备性, 当一个观测数据 (Xk, tk) , k=1, 2, …, n进入系统, 可以计算观测数据Xk 和现有的高斯单元的中心Cj (j=1, 2, …, u) 之间的马氏距离mdk (j) , 找到:
如果:
其中kd是一个预先设定并与ε相关联的阈值, 则表明现有的系统不满足ε-完备性而应该考虑产生一条新规则。这里kd在学习过程中按下式变化:
其中, k是学习的次数, γ∈ (0, 1) 称为衰减常数, 由式 (9) 推算出:
2.1.2 模糊规则的剔除
定义误差减少率矩阵Δ= (ρ1, ρ2, …, ρu) ∈R (r+1) ×u, △的第j列是对应的第j个规则的 (r+1) 个误差减少率。定义:
则ηj代表了第j个规则的重要性。如果ηj<kerr, j=1, 2, …, u;其中, kerr是预先定义的值, 则第j个规则被删除。
2.2 参数的确定和调整
参数的确定和调整, 包括高斯函数宽度和中心的确定, 高斯函数宽度的调整和权值的调整。
2.2.1 高斯函数宽度和中心的确定
假设u个模糊规则已经产生, 当得到一个新的采样样本Xk (k=1, 2, …, n) 时, 按照规则产生准则, 需要产生一条新的模糊规则。这时, 把多维输入变量Xk投影到相应的一维隶属函数空间, 同时计算数据x
其中, Φi∈{ximin, ci1, ci2, …, ciu, ximax}, 同时找到:
如果edi (jn) ≤kmf, 其中, kmf是一个预先定义的常数, 该常数控制相邻隶属函数的相似性, 那么, 就说x
其中, ci-1和ci+1是与第i个隶属函数邻近的两个隶属函数的中心。而高斯函数的中心确定如下:
2.2.2 高斯宽度修正
对于一个新样本Xk, 可以找到以马氏距离“最靠近”该样本的第j个规则。如果条件‖ek‖>ke和mdk, min≤kd都成立, 把向量Xk分解为相应的一维输入变量, 则输入变量xi (i=1, 2, …, r) 的最近的隶属函数的宽度σij (j=1, 2, …, u) 可以修正如下:σ
其中, r是输入变量的总数。
2.2.3 权值确定
设r个输入变量的n次观测样本产生u个模糊规则, 将网络的输出写成矩阵形式为:Wϕ=Y, 其中W∈Ru (r+1) , ο∈Ru (r+1) ×n和Y∈Rn。假设期望的输出为T= (t1, t2, …, tn) ∈Rn, 确定最优参数W*的问题可以用公式表示为最小化
整个算法的流程图如图2所示。
3 样本选择
用定量模型对股票市场进行预测, 首先就是要对股票市场进行定量化描述。就GD-FNN而言, 需将股市的历史数据处理成一系列可供神经网络学习的例子样本, 组成一个学习样本集, 每个学习样本为因果关系的偶对: (预测依据|预测对象) 。
本文以上证指数第七天的收盘价作为预测对象。预测依据表示在预测对象的结果发生前系统的描述, 就股市技术分析而言, 某时刻t前的系统状态为价格和成交量的时间序列数据, 显然这里的数据量是相当庞大的, 且股票价格变化在短期内具有很大的随机性, 而瞬时的变化对未来趋势预测意义很小。人们在长期的实践中已总结出数百种描述系统状态的技术指标, 如MA、MACD、WMS%、KDJ、RSI、BIAS、PSY、AR、OBV、ADR等, 另外, 还有一些特征提取的数学方法, 如卡尔曼滤波、小波变换等。具体应用时可针对不同的预测对象, 选取若干种和该预测对象相关度大的技术指标, 来组成描述系统状态的预测依据向量。
本文选用移动平均线 (MA (6) ) 、乖离率 (BIAS (6) ) 、随机强弱指标 (RSI (6) ) 和心理线 (PSY (6) ) 作为输入变量, 用第7天的收盘价作为目标输出, 对网络进行训练。
MA是利用若干天或若干周收市价的均值为参数绘制的曲线。由于它利用了移动平均理论, 剔除了股价的偶然变动, 因而可以作为投资者判断行情走向的依据。MA的计算公式为:
BIAS用来描述股价与移动平均线距离的远近程度, 计算公式为:
式中, Cn为当日收盘价, MA为n日移动平均值, BIAS可正可负, 也可为零。
RSI是反映行情变化动量的指标, 即市场向某一个方向变化时, 其内部所包含的能量, 可用以反映股价变动的强弱状况。计算公式为:
其中, n为天数, Un表示n日中股价上升幅度之和, Dn表示n日中下跌幅度之和。
PSY指标是在时间的角度上计算N日内的多空总力量, 来描述股市目前处于强势或弱势, 是否处于超买或超卖状态。它主要是通过计算N日内股价或指数上涨天数的多少来衡量投资者的心理承受能力, 反映股市未来发展趋势及股价是否存在过度的涨跌行为。计算公式为:
4 上证指数预测实验
本文用上证指数2008-07-12到2008-12-14共100个样本数据, 其中, 前70个作为训练样本, 后30个作为测试样本。计算出MA (6) 、BIAS (6) 、RSI (6) 和PSY (6) 作为输入数据, 用第7天的收盘价作为输出数据。为保持数据取值范围的一致性, 这里用MA (6) /100代替MA (6) 作为输入。实验结果如图3和图4所示。
图中圆圈为期望输出, 星号为实际输出。从结果来看, 预测值与实际值完全吻合, 取得了非常好的效果。
5 结 语
将GD-FNN用于上证指数的预测取得了较为理想的效果, 但股票市场复杂多变, 影响因素众多。尽管GD-FNN具有良好的自学习能力, 但依然存在一些不稳定的因素, 如何设计出更为稳定的网络, 依然需要做进一步的研究, 另外, 如果能将影响股市的因素经模糊化后作为模糊神经网络的输入, 也许会收到更好的效果, 也有待研究。
摘要:提出一种用广义动态模糊神经网络预测股票价格的方法, 网络结构可随模糊规则在学习过程中逐渐增长而自动调节, 以达到预测最优化。通过选用实用的技术参数指标作为网络的输入变量对上证指数的收盘价进行预测, 取得了较为理想的效果。
关键词:广义动态模糊神经网络,上证指数,预测,技术指标
参考文献
[1]伍世虔, 徐军.动态模糊神经网络—设计与应用[M].北京:清华大学出版社, 2008.
[2]张学仁, 宋全启.股票理论与投资分析[M].西安:西北大学出版社, 1998.
[3]陈兴, 孟卫东, 严太华.基于T-S模型的模糊神经网络在股市预测中的应用[J].系统工程理论与实践, 2001 (2) :66-72.
广义预测 篇5
黄金具有商品和货币的双重属性, 作为一种投资品种, 黄金价格的预测更是众多投资者和学者讨论的热点话题。国内外学者在黄金价格预测研究方面做出了众多成果, 主要可以分为三类, 第一类采用定性分析方法, 通过理论分析预测黄金价格未来一段时间的整体走向, 此类方法无法得出具体的预测数值, 实用性不强。 第二类是建立时间序列相关模型预测黄金价格, 此类模型仅以黄金价格本身作为建模基础, 而黄金价格的变化是众多因素作用下的结果, 其变化过程是非线性的复杂系统, 因此时间序列模型在预测受众多因素影响的黄金价格方面具有局限性。第三类采用多变量关系的预测方法建模, 将黄金价格及其主要影响因素共同纳入建模过程中, 弥补了时间序列模型的不足。 该类模型又分为线性多变量关系预测模型和非线性多变量关系预测模型, BP神经网络模型具有良好的自学习性、非线性逼近能力和泛化能力, 但这些特性并不是网络模型本身固有的, 而是在满足建模条件的情况下特有的, BP神经网络训练过程中极易出现“过训练”现象, 为避免该现象的发生, 需从总样本中随机抽取检验样本来实时监控训练过程, 但以上研究建立的BP神经网络模型均没有采用检验样本, 训练过程中是否发生“过训练”不得而知, 同时, BP神经网络建模要求训练样本数量必须大于模型的连接权重, 在3~5 倍以上才可以取得较好的效果, 以上BP神经网络模型均不满足该建模要求, 模型泛化能力和可靠性有待商榷。
相较BP神经网络, 广义回归神经网络 (GRNN) 在逼近能力、分类能力和学习速度方面都具有较强的优势, 且达到相同的预测精度所需的训练样本较BP神经网络少的多, 模型训练过程中也不会发生“过训练”现象, 因此将GRNN引入黄金价格预测的建模中, 以期得到更可靠更有效的模型。
二、GRNN的基本结构
广义回归神经网络 (Generalized Regression Neural Network, GRNN) 最早由Specht于1991 年提出, 它建立在数理统计的基础上, 通过激活神经元来逼近函数。 人为调节的参数只有一个阈值是GRNN网络的特点, 网络的学习全部依赖数据样本, 并且即使样本数据较少, 网络的输出结果也能够收敛于最优回归表面, 因此一旦学习样本确定, 则相应的网络结构和各神经元之间的连接权值也随之确定, 网络训练过程实际上只是确定光滑因子的过程, 这个特点决定了网络得以最大限度地避免人为主观假定对预测结果的影响。
σ 是GRNN模型中唯一需要确定合理值的光滑因子, 对模型的预测性能影响较大, 光滑因子过大或过小都不能将所有样本观测值计算在内, 降低模型预测性, 只有适中的光滑因子, 能将所有样本观测值计算在内。光滑因子的合理值可以通过采用逐步增加或者减小其值, 根据测试样本均方根误差大小来判定。
三、 黄金价格预测的GRNN模型及实例分析
(一) 建模样本数据选取
黄金价格的变化是多重因素共同作用下的结果, 其中包括政治局势变动等不可量化的因素, 而预测时间间隔越长此类因素的影响就越难以控制, 因此为了尽可能降低不可量化因素对预测结果的影响, 选择黄金日价格作为建模和预测样本, 预测滞后期选择1 天, 即模型中输入样本数据的日期比输出样本数据提前1 天。从纽约商品交易所黄金期货日价格历史数据中随机选取一个时间段的数据用于预测模型的建立, 所选数据日期为2013 年12月24 日至2014 年9 月30 日 (周末及节假日休市除外) , 共205 天的数据作为GRNN模型的样本。
图1 所示为2013 年12 月24 日到2014 年9 月29 日的黄金期货价格, 可以看出, 黄金价格的变化为非线性变化, 无周期性及规律性, 因此建立线性模型预测黄金价格具有局限性。
GRNN模型的输入变量为若干影响黄金价格的因素, 根据已有对黄金价格影响因素的研究成果, 本文选取以下指标作为GRNN的输入变量:美元指数X1, 原油期货价格X2, 美国十年期国债收益率X3, 银价格X4, 黄金期货价格X5, (建模数据来源:http://www.resset.cn/cn/、http://cn.investing.com/) 。
调用SPSS软件, 分析得出选用的输入变量与黄金期货价格的相关性, 结果表明所选各影响因素与黄金价格均显著相关, 黄金价格影响因素的选择是合理的。
(二) 建模数据预处理
选取的205 组样本数据中, 200 组作为建模数据, 5 组用于预测。 为了提高模型的可靠性, 将200 组建模样本分成三类, 即训练样本 (Tr) 、检验样本 (Ve) 和测试样本 (Te) , 训练样本根据误差平方和最小的原则调整GRNN模型的权重, 从而训练GRNN模型, 检验样本和测试样本用于判断和评价选取的光滑因子是否合理, 同时也是判断模型泛化能力的依据。本例中设定训练样本的比例为60%, 检验样本和测试样本比例各为20% , 对于GRNN模型, 其训练样本不同, 得到的建模结果通常也不同。为了使样本数据的分组更合理, 将样本之间的欧氏距离作为分组的依据, 具体分组步骤见文献。 分组之后的样本具有相似的统计特性, 可以提高模型的预测精度, 为使数据分组的计算更便捷精准, 调用Matlab软件编写分组程序, 运行程序得到分组结果。
(三) 建立GRNN模型
本文采用Stat Soft公司的神经网络软件Statistic Neural Network ( 以下简称SNN) 建立GRNN模型, 由于该软件本身自带数据归一化功能, 因此可以直接将所选数据输入SNN软件中用于模型建立。依照GRNN建模原理及本例的数据样本情况, 设定GRNN模型的输入层节点个数为5, 模式层节点个数为120, 求和层节点个数为2, 输出层节点个数为1。
对于GRNN模型, 光滑因子 σ 值是唯一需要人为确定的值, 因此模型的训练过程即是确定光滑因子的过程, 建模训练过程中, 在0.01~0.5 范围内以0.01 为单位依次递增取值作为光滑因子 σ 值, 通过训练样本, 检验样本和测试样本的绝对误差平均值 (AAE) 以及均方根误差值 (RMSE) 判断模型的可靠性, 三类样本的AAE和RMSE越接近, 表明模型的可靠性越强。
图2 所示是GRNN模型训练过程中, σ取不同值时, 训练样本、检验样本和测试样本的AAE和RMSE (由于σ>0.3时, 三类样本的AAE和RMSE均过大, 因此图中未列出) , 从图3可以看出, σ>0.22时, 三类样本的AAE和RMSE明显过大, 模型的预测精度过低, 当σ<0.15时, 虽然三类样本的AAE和RMSE数值小但相差过大, 模型的可靠性得不到保证, 只有在0.15≦σ≦0.22时, 模型同时具有较高的预测精度和可靠性, 其中, 当σ=0.18时, 三类样本的AAE分别为8.78、8.86和8.47, RMSE分别为10.98、11.28和11.11, 此时三类样本的AAE和RMSE均最为接近, 因此取0.18为本例GRNN模型的合理光滑因子值。
图 2 光滑因子取不同值时三类样本的 AAE 和 RMSE
( 四) 基于GRNN模型的黄金价格预测结果
基于上述GRNN模型, 对2014 年9月24 日至2014 年9 月30 日周末除外共5 天的黄金价格进行预测, 结果如表1 所示。 从表1 可以看出, 建立的GRNN模型具有很好的预测精度, 在未来5 天的黄金价格预测结果中, 绝对误差最大值为7.602 美元, 绝对误差最小值为1.822 美元, 相对误差绝对值最大值为0.626%, 最小值为0.149%, 预测误差绝对值平均为4.729 美元, 平均相对误差绝对值为0.388%, 充分说明建立的GRNN模型能够很好地预测黄金价格, 具有实用性。
四、结果和讨论
(一) 关于建模数据分组
虽然根据GRNN建模原理, 即使样本数据较少, 网络的输出结果也能够收敛于最优回归表面, 然而样本数据较少时, 无法随机选取部分样本作为训练样本来进行建模, 若固定某些样本作为训练样本, 则模型的可靠性和预测精度取决于样本数据中的训练样本是否合理, 这种情况下根据样本数据间的欧氏距离对样本数据进行合理分组, 可以保证最大程度避免了因训练样本的选取不合理对建模预测结果造成的影响, 保证了预测模型的可靠性。
(二) GRNN模型用于黄金价格预测的精度及其适用性
图3 所示为训练样本、检验样本和测试样本的相对误差, 训练样本的相对误差绝对值平均为0.68%, 120 个训练样本中, 64 个样本的预测误差大于0, 118 个样本的相对误差绝对值小于2%, 23 个样本的相对误差绝对值介于1%和2%之间, 检验样本的相对误差绝对值平均为0.67%, 40个检验样本中, 19 个样本的预测误差大于0, 39 个样本的相对误差绝对值小于2% , 7 个样本的相对误差绝对值介于1%和2%之间, 测试样本的相对误差绝对值平均为0.63%, 40 个测试样本中, 21 个样本的预测误差大于0, 39 个样本的相对误差绝对值小于2%, 5 个样本的相对误差绝对值介于1%和2%之间, 可见建立的GRNN模型不仅具有相当高的预测精度, 而且可靠性和鲁棒性均较好, 具有较高的实用价值。
实证研究结果表明: GRNN模型可以很好地预测黄金价格, 预测相对误差绝对值可以控制在3%以内, 其中有97.5%的样本预测相对误差在2%以内, 同时模型的泛化能力和鲁棒性也较好, 模型具有实用价值, 可以运用到对黄金价格的经济及投资预测中。
参考文献
[1]楼文高, 乔龙.基于神经网络的金融风险预警模型及其实证研究[J].金融论坛, 2011 (11) .
[2]王雨, 刘国彬, 屠传豹.基于遗传-GRNN在深基坑地连墙侧斜预测中的研究[J].岩土工程学报, 2012 (34) .
[3]SPECHT D F.A general regression neural network[J].IEEE Trans on Neural Networks, 1991 (06) .
[4]RONALD D S.Validation of regression models:methods and examples[J].Technometrics, 1977 (11) .
广义预测 篇6
一、广义回归神经网络
广义回归神经网络 (GRNN) 是径向基函数神经网络的一种, 有三层组织结构。第一层为输入层, 有信号源结点组成。第二层为径向基隐含层, 神经元个数等于训练样本数, 由所描述问题而定, 第三层为线性输出层, 其权函数为规范化点积权函数, 计算网络的输出。
GRNN网络连接权值的学习修正使用BP算法, 由于网络隐含层结点中的作用函数采用高斯函数, 从而具有局部逼近能力, 此为该网络之所以学习速度快的原因, 此外, 由于GRNN中人为调节参数很少, 只有一个阈值, 网络的学习全部依耐数据样本, 这个特点决定网络得以最大可能地避免人为主观假定对预测结果的影响。
二、GRNN在经济预测中的应用
本文根据对GDP影响因素的分析, 这里分别取固定资产投资、从业人员数量、能源生产总量、财政支出、货运量、人均收入、进出口量, 货币供应量等8项指标作为GDP预测的影响因子, 以第一产业, 第二产业, 第三产业生产总值作为GDP的输出因子, 即网络的输出。由此来构建广义回归神经网络。
我们通过查《中国统计年鉴》, 利用1990年~1999年共10年的历史统计数据作为网络的训练样本, 2000年~2003年共4年的历史统计数据作为网络的外推测试样本。
应用MATLAB7编程, 创建一个GRNN网络, 输入向量组数为10, 每组向量的元素个数为8, 中间层径向基神经元个数为10, 输出层有线性神经元个数3。对网络进行训练和测试。我们将光滑因子分别设置为0.01, 0.02, 0.03, 0.04, 0.05, 通过不断的尝试, 我们得到光滑因子为0.01时, 网络的误差最小, 逼近效果相对最好, 如图1所示, 网络此时的逼近误差基本均在0附近, 网络训练符合要求。
通过2000年至2003年共4年的数据进行网络外推预测测试, 得到预测误差曲线如图2, 网络的输出误差分别在0.12和0.25之间。应该说在训练样本较少的情况下这种误差是可以接受的。因此可以用GRNN神经网络进行预测, 将2007年的相关数据进行输入网路中, 就可以得到2008年的各产业的经济生产总值了。
三、结论
通过以上对GRNN在经济预测中的应用分析可以看出, GRNN神经网络模型在预测方面有很好的优势, 其预测精度较高, 对参数的要求较低, 只需一个光滑因子, 但模型本身也有一定局限, 其对样本数据依耐很强, 随着时间推移, 其预测结果偏差会越来越大, 因此模型更适合于短期预测。如要应用于长期预测, 就需不断增加新样本数据, 对模型进行完善。
参考文献
[1]乔维德:基于BP神经网络的电力企业信息化水平评价指标体系的研究[J].电气时代, 2004, A20
[2]欧邦才:基于BP神经网络的经济预测方法[J].南京工程学院学报 (自然科学版) , 2004 (2) , 11~14
[3]飞思科技产品研发中心:神经网络理论与MATLAB7实现[M].北京:电子工业出版社, 2005, 117
广义预测 篇7
对约束广义预测控制问题, 求解带有约束的二次规划时, 由于约束优化问题常用的罚函数, 对函数和约束的特性要求较高, 很难解决复杂的约束优化问题[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