上海大学毕业设计(论文)
内部进行随机初始化。
b.变异操作。变异操作用于产生新个体,设xr1,Gxr2,Gxr3,G为当前群体中随机选择的3个互不相同的个体矢量,且i≠r1≠r2≠r3;xbest,G为当前种群中最优个体,则对于当前群体中的每一个个体xi,G(i=1,2,?,M),基本的DE算法按照如下方法产生新个体为:
vi,G+1=xi,G+λ(xbest,G-xi,G)+F(xr2,G-xr3,G) (1) 收缩因子λ=F为(0,1)之间的常数。为了降低用户的参与程度,将λ,F均取为(0,1)之间的随机数。当新个体某一维参数超出边界时,直接用边界值进行替代。
c.交叉操作。为了增加群体的多样性,将新个体vi,G+1和父代个体xi,G进行交叉生成试验个体ui,G=(ui1,G, ui2,G,?,uiD,G)。设CR为交叉概率,为(0,1)之间的常数;rand为(0,1)之间的随机数;IG为[1,M]之间的随机整数,IG可以确保ui,G至少有一位是从vi,G+1中获得的,则可得:
uij,G?1??vij,G?1 if rand?CR or j?IG??
x otherwise??ij,G (2)
d.选择操作。比较ui,G和xi,G的适应值,选择适应度小的做为下一代个体xi,G+1,即
xi,G?1?ui,G if f(ui,G)?f(xi,G)???xi,G if f(ui,G)?f(xi,G)
(3)
基于DE算法多目标PID优化设计[5] 1,编码
PID控制器中,待优化的参数为KP,TI和TD,DE算法采用浮点数编码,可以直接将(KP,TI,TD)作为一个个体矢量。DE算法的搜索空间以ZN法获得的参数结果为中心,向两边进行延拓,这样既可以充分利用ZN法的合理内核,又缩小了实际参数的搜索空间。
设K*P,T*I,T*D为ZN法整定值;α,β为延拓系数,取α=0.3,β=5,则
11
上海大学毕业设计(论文)
可得:: αK*P≤KP≤βK*P
αT*I≤TI≤βT*I
αT*D≤TD≤βT*D
(4)
2,适应度函数设计
PID优化设计的目的是使系统某些性能指标最优,然而,单纯的误差性能指标很难同时满足系统对快速性、稳定性和鲁棒性的要求,因此在适应度函数中引入超调量、上升时间和累计绝对误差指标项。设σ=(|yp-yref|/yref)×100%为系统的超调量,yp和yref分别为输出峰值和输入参考值;t*r为上升时间,将其定义为输出从0第1次达到0.95yref的时间;ek=yk-yref为采样时刻k的输出误差;wj(j=1,2,3)为权重系数。则多目标适应度函数为:
f?w1??w2tr?w3?ek (5)
k?1*n通过对权重系数的调整,可以改变系统对快速性和稳定性的要求。如系统要求较小的超调,可以适当增大w1;若系统要求快速的动态响应,则可以适当增大w2。
3 算法流程
Step1:初始化,设置群体规模M,交叉概率CR,最大迭代次数Gmax,在搜索空间内随机初始化群体矢量。
Step2:根据式(1)对群体中的每个个体矢量进行变异操作。 Step3:根据式(2)对群体中的每个个体矢量进行交叉操作。
Step4:根据式(5)计算个体的适应度,根据式(3)对每个个体进行选择操作。 Step5:判断最大迭代次数是否达到,若达到,则停止;否则转到Step2。 方法六:神经网络法[6]
在常规的PID参数优化方法中,直接基于目标函数的单纯形法等优化方法是最常用的方法,这是因为在工业控制中很多被控对象的模型难以用精确的数学模型描述,即使在某一工况下,被控对象可以用数学模型描述,但在运行过程中,对象的特性一旦发生变化,这一确定的模型便不再适用。而神经网络的
12
上海大学毕业设计(论文)
引人则在一定程度上解决和改善了这一问题。在基于神经网络的PID参数优化方法中,神经网络一般与被控对象并列,作为一个神经网络的辨识器,其一般结构如图1-3所示。
r(t) + - u(t) PID 对象 y(t) NNI 优化算法 + - 学习算法
图1-3 神经网络智能PID控制系统方框图
在网络经过学习后,神经网络辨识器的输出便可以很好地跟踪被控对象的输出。由于神经网络辨识器具有确定的结构,学习之后,其连接权及各节点的闹值都有确定的数值。这时,该神经网络辨识器的结构就可以作为被控对象结构的一个近似。用神经网络辨识器输出与输人的传递函数模型来近似地代替被控对象的模型,进而用梯度下降法,拟牛顿法优化出PID参数。
基于上述思想的神经网络PID参数优化方法主要有两种:基于神经网络的单步预测PID参数优化方法和基于神经网络的多步预测PID参数优化方法。这两种方法在控制结构上基本相似,仅在优化目标函数的选取上有所不同。
基于单步预测优化方法的目标函数为
J?12?(t?1)]2[r(t?1)?y
?(t?1)为神经网络辨识器的输出。利用梯度其中,r(t十1)为期望输出值,y法,可得PID参数的修正值为
13
上海大学毕业设计(论文)
?Ki?(t?1)][r(t)?y(t)]??[r(t?1)?y?(t?1)?y?u(t)
式中,△K为PID控制器参数(比例,积分,微分参数)的修正量,r(t+1)为
?(t?1)期望值,?y可从神经网络辨识器的结构得到。正如文献[7]提到的,当对
?u(t)象响应较慢,即不能在短短几个周期内使输出达到给定值,K*将不断增大,以加快响应速度,其结果是不仅不能使被控对象很快达到给定值,而且会使调节过程的超调量增大,动态品质变差。基于多步预测优化方法的优化目标函数为
J(t)?12P?j?1[r(t??(t?j)?yj)]2
其中P为多步预测的步数。其思想是利用神经网络辨识器进行多步预测的结果来确定当前控制器参数的调节量。其公式为
p?Ki(t)???j?1?(t?j)][r(t?j)?y?(t?j)?y?Ki(t)
在进行多步预测时,为了得到后面j = 1,2,..,P步的神经网络辨识器
输出预测值,采用神经网络并联辨识算法,即将第j-1步神经网络的输出y(j一1)反馈给神经网络辨识器的输入端。文献[8]指出,神经网络并联辨识只在满足一定条件下才是收敛的。因而,在进行多步预测时,不能保证神经网络辨识器的第j = 2,3,..,P步预测输出值是收敛的,即神经网络辨识器的多步预测值不一定能可靠地反映被控对象在后面j= 1,2,..,P步的输出变化。
1.3 本文主要研究内容
本论文的主要工作是研究利用GA对PID控制系统的参数进行调整。 首先,PID控制的基本原理进行了介绍,并对PID控制进行分类,指出模拟PID控制和数字PID控制的不同,并分别对二者进行MATLAB仿真。此外,还将数字PID控制细分成了位置式PID控制和增量式PID控制,并指出了后者实用性好的理由。接着,分别介绍了遗传算法的基本原理、基本步骤以及遗传算法工具箱等内容。最后,做了利用 Matlab对二阶系统的PID参数进行调整的仿真实验,表明了基于GA的PID参数调整的有效性和优越性。
14
上海大学毕业设计(论文)
第二章 PID控制及其MATLAB仿真
2.1 引言
PID控制就是根据系统的偏差,利用PID调节规律计算出控制量来进行控制。其中,PID调节规律指控制器的输出分别与输入偏差的大小、偏差的积分和偏差的变化率成比例。PID控制问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便的优点而成为工业控制的主要技术之一。随着科技的发展,计算机进入了控制领域,用数字计算机代替模拟计算机控制器组成计算机控制系统,不仅可以用MATLAB等软件实现PID控制算法,而且可以利用计算机的逻辑功能,使PID控制焕发出新的活力。
2.2 PID控制的基本原理
在模拟控制系统中,控制器最常用的控制规律是PID控制。常规PID控制系统原理框图如图2.1所示。系统由模拟PID控制器和被控对象组成。
PID控制器是一种线性控制器,它根据给定值控制偏差
e?t??r?r?t?与实际输出值
c?t?构成
?t??c? t (2-1)
将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,将被控对象进行控制,故称PID控制器。其控制规律为
15