一种变异粒子群优化的bp神经网络pid控制算法

文档序号:8512149阅读:529来源:国知局
一种变异粒子群优化的bp神经网络pid控制算法
【技术领域】
[0001] 本发明属于智能控制技术领域,尤其涉及一种变异粒子群优化的BP神经网络PID 控制算法。
【背景技术】
[0002] PID控制即比例-积分-微分控制,它是建立在经典控制理论基础上的一种控制 策略,在工业过程控制中应用最广泛,历史最悠久,生命力最强的控制方式,在目前的工业 生产中,90%以上的控制系统都为PID控制系统。它采用了基于数学模型的方法,由于算法 简单、鲁棒性好和可靠性高、控制效果良好,因此被广泛应用于工业控制过程,对于传统PID 控制系统,在把其投入运行之前,必须先整定好三个参数:比例系数&、积分系数h、微分系 数kd,以便得到最佳控制效果,如果控制系统参数整定不好,即使控制系统本身很先进,其 控制效果也会很差。
[0003] 随着工业的发展,控制对象的复杂程度也在不断加深,许多大滞后、时变的、非线 性的复杂系统,如温度控制系统被控制过程机理复杂具有高阶非线性、慢时变、纯滞后等特 点,常规PID控制显得无力了。在这种情况下,智能优化算法被引入到PID控制系统,用以 整定PID参数,智能优化算法以其具有的充分任意地逼近任意复杂的非线性关系、具有很 强的信息综合能力、能够学习和适应严重不确定系统的动态特性等特性而被引入到PID控 制器设计中,使原有的PID系统可以处理那些难以用模型和规则描述的过程。其中神经网 络以其具有的非线性特性、优化和自适应控制性能等被引入到PID控制器设计中。但是在 其实际应用的过程中,采用BP神经网络所设计的BP神经网络PID控制系统由于反向传播 学习算法的学习效率低、收敛速度慢、全局搜索能力弱以及易陷入局部最优等,其控制效果 并不理想,从而限制了神经网络在PID控制器中的应用。
[0004] 论文:徐胜男等.基于粒子群优化的神经网络自适应控制算法[J].中国机械工 程,2012, 23 (22),2732-2738.公开了一种基于粒子群优化的神经网络自适应控制算法,克 服了神经网络容易陷入局部极小值以及收敛速度慢的缺陷。粒子群优化的神经网络自适应 控制算法虽然操作简单、简单易行,并且在一定程度上克服了 BP算法易陷入局部最优值, 但是在算法优化后期,也存在着优化速度降低以及早熟等情况,导致其全局搜索能力较弱, 因此,其控制效果欠佳并且导致个别区域误差比较大。

【发明内容】

[0005] 为解决上述问题本发明提供了一种变异粒子群优化的BP神经网络PID控制算法, 通过对最优适应度值得判断而确定固定变异算子来提高粒子群跳出局部最优解的能力且 增加了粒子群的多样性,从而使其全局搜索能力增强,算法的鲁棒性也得到了较大提高。具 有很强的全局搜索能力,计算速度快、精确度高、控制效果好、具有很高的实用性。
[0006] 为达到上述技术效果,本发明的技术方案是:
[0007] 一种变异粒子群优化的BP神经网络PID控制算法,包括以下步骤:
[0008] 步骤一、初始化BP神经网络:初始化BP神经网络,确定BP神经网络输入层节点数 N和隐含层节点数S,并给出隐含层加权系数初值Wu和输出层加权系数初值w %;
[0009] 步骤二、初始化变异粒子群优化算法:初始化变异粒子群优化算法,确定变异粒子 群优化算法的粒子群维数M,并给出粒子群惯性权重范围[w min,Wmax]、加速系数cdP c 2、位置 范围[Xniin, x_]、速度范围[Vniin, ν_]、变异操作粒子数概率P范围[Pniin, PniaJ ;
[0010] 步骤三、确定BP神经网络输入信号:由被控制对象的传递函数及当前输入值 rin (k),控制系统计算当前输出值Ytjut (k),以及误差函数error (k),得到BP神经网络的输 入信号:rin(k)、y(Mt(k)、errorGO,然后对BP神经网络的输入信号进行采样、归一化预处 理之后输入BP神经网络;其中error(k) = rin(k)-yQUt(k);
[0011] 步骤四、计算PID控制系统输出可调参数:正向计算BP神经网络各层神经元输入 值、输出值,BP神经网络输出层的三个输出值即为PID控制器的三个可调参数k p、kp kd,根 据增量式PID,得到Λ u,并与PID控制系统第k-1次运算的输出值u (k-1)相加,得到PID 控制系统第k次运算的输出值u (k)并送入被控制对象;
[0012] 步骤五、更新粒子个体最优值以及全局最优值:根据变异粒子群算法修正BP神经 网络的加权系数,更新粒子群每个粒子的位置和速度,进而计算每个粒子的适应度值,更新 粒子个体最优值以及全局最优值;其中粒子群粒子的位置和速度更新公式,如下所示:
[0013] Vid= WV Jc1A (Pid-Xid) +c2r2 (Pgd-Xid);
[0014] Xid= x id+vid;
[0015] w为惯性权重,惯性权重的引进使变异粒子群算法可以调节算法的全局与局部寻 优能力;cl和c2为正常数,称为加速系数;rl和r2是[0,1]的随机数;X id为粒子位置;V id 为粒子速度;Pid为粒子个体最优位置;P gd为粒子群最优位置;
[0016] 其中粒子的适应度即为系统误差值,计算公式如下;
【主权项】
1. 一种变异粒子群优化的BP神经网络PID控制算法,其特征在于,包括以下步骤: 步骤一、初始化BP神经网络:初始化BP神经网络,确定BP神经网络输入层节点数N和 隐含层节点数S,并给出隐含层加权系数初值^和输出层加权系数初值w %; 步骤二、初始化变异粒子群优化算法:初始化变异粒子群优化算法,确定变异粒子群优 化算法的粒子群维数M,并给出粒子群惯性权重范围[wmin,Wmax]、加速系数cdP c 2、位置范围 [Xmin,XmJ、速度范围[Vmin,V maJ、变异操作粒子数概率P范围[Pmin,PmJ ; 步骤三、确定BP神经网络输入信号:由被控制对象的传递函数及当前输入值rin (k), 控制系统计算当前输出值Ytjut (k),以及误差函数error (k),得到BP神经网络的输入信号: rin(k)、YtjutGO、error (k),然后对BP神经网络的输入信号进行采样、归一化预处理之后输 入 BP 神经网络;其中 error(k) = rin(k)-yQUt(k); 步骤四、计算PID控制系统输出可调参数:正向计算BP神经网络各层神经元输入值、输 出值,BP神经网络输出层的三个输出值即为PID控制器的三个可调参数kp、ki、kd,根据增量 式PID,得到Λ u,并与PID控制系统第k-Ι次运算的输出值u (k-Ι)相加,得到PID控制系 统第k次运算的输出值u (k)并送入被控制对象; 步骤五、更新粒子个体最优值以及全局最优值:根据变异粒子群 算法修正BP神经网络的加权系数,更新粒子群每个粒子的位置和速度,进而计算每 个粒子的适应度值,更新粒子个体最优值以及全局最优值;其中粒子群粒子的位置和速度 更新公式,如下所示: Vid= WV (Pid-Xid) +C2T2 (Pgd-Xid); Xid - X id+Vid; w为惯性权重;cl和c2为正常数,称为加速系数;rl和r2是[0,1]的随机数;xid为粒 子位置;Vid为粒子速度;P id为粒子个体最优位置;P gd为粒子群最优位置; 其中粒子的适应度即为系统误差值,计算公式如下:
rin(k)和y()Ut(k)为步骤二甲所街出的BP押迕FJ塔的白則牺八但利白前输出值,i为 第i个粒子,M为第i个粒子的维数; 粒子个体最优值为:pi = (pil,pi2, pi3, · · · piD); 粒子全局最优值为:pg = (pgl,pg2, pg3, · · · pgD); 步骤六、进行变异操作:计算种群适应度方差,根据方差及种群全局最优值,确定变异 操作粒子数概率P,若P e [Pmin,Pmax],则按p进行变异操作,否则再考虑粒子群方差值〇 2 是否超出设定最大方差值〇2d,粒子群的最优值适应度值f(gbest)是否超出设定的最优适 应度值f d,若满足σ2 <〇·,)&&./_(g/W)>/d ,变异操作粒子数概率p以固定概率β进行变 异操作,否则不进行变异操作,其中Pmax为粒子最大变异概率;P min为粒子最小变异概率; 步骤七、判断是否终止迭代:判断迭代次数以及误差值,若满足终止条件则终止迭代, 否则转回第5步; 步骤八、确定PID控制系统输出可调参数:将经过变异粒子群优化的隐含层加权系数 Wij和输出层加权系数w送入BP神经网络,BP神经网络输出层的三个输出值即为PID控 制器的三个可调参数kp、Iii、kd。
2. 根据权利要求1所述的变异粒子群优化的BP神经网络PID控制算法,其特征在于, 所述步骤一中,BP神经网络的输入层节点数对应所选的被控系统运行状态量,输出层神经 元的积分函数取非负的Sigmoid函数,而隐含层神经元的激发函数取正负对称的Sigmoid 函数。
3. 根据权利要求1所述的变异粒子群优化的BP神经网络PID控制算法,其特征在于, 所述步骤二中,变异粒子群算法的维数M为隐含层加权系数与输出层加权系数个数之和; 粒子群惯性权重在[w min,Wmax]范围内按线性关系递减;速度的随机值限制在[vmin,V max];位 置的随机值限制在[Xmin, Xmax]。
4. 根据权利要求1所述的变异粒子群优化的BP神经网络PID控制算法,其特征在于, 所述步骤四中,增量式PID公式如下所示: Δ u = kp X (error (k) -error (k-1)) +kj X error (k) +kd X (error (k) -2error (k-1) +erro r(k-2)); u (k) = u (k_l) + Δ u ; 其中error (k)为BP神经网络中第k次误差值,error (k-1)为BP神经网络中第k-1次 误差值,error (k-2)为BP神经网络中第k-2次误差值。
5. 根据权利要求1所述的变异粒子群优化的BP神经网络PID控制算法,其特征在于, 所述步骤六中,变异操作粒子数概率P取值规则如下:
其中PmaxS粒子最大变异概率;PminS粒子最小变异概率; 若P e [pmin,pmax],则按p进行变异操作,否则再考虑粒子群方差值〇 2是否超出设定 最大方差值〇2d,粒子群的最优值适应度值f(gbest)是否超出设定的最优适应度值4,若 满足<r 2<crj&&/(g/W)>/rf ,变异操作粒子数概率p以固定概率β进行变异操作,否则 不进行变异操作,其操作过程如下公式:
其中fd为设定的最优适应度值;f (gbest)为此次优化过程中最优适应度值;σ ~为设 定最大方差值;σ 2为此次优化过程中方差值;β为常数,固定概率。
【专利摘要】本发明公开了一种变异粒子群优化的BP神经网络PID控制算法,它包括如下步骤:步骤一、初始化BP神经网络;步骤二、初始化变异粒子群优化算法;步骤三、确定BP神经网络输入信号;步骤四、计算PID控制系统输出可调参数;步骤五、更新粒子个体最优值以及全局最优值;步骤六、进行变异操作;步骤七、判断是否终止迭代;步骤八确定PID控制系统输出可调参数。本发明不需要建立精确地数学模型,能够自动识别被控制过程参数、自动整定控制参数、适应被控制过程的参数变化,还克服了传统BP神经网络的反向传播误差修正方法执行速度缓慢,极易陷入到局部最小的缺陷,具有更强的鲁棒性以及更为优秀的控制效果。
【IPC分类】G05B13-04
【公开号】CN104834215
【申请号】CN201510128343
【发明人】蒋敏兰, 郑华清
【申请人】浙江师范大学
【公开日】2015年8月12日
【申请日】2015年3月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1