(甘肃电器科学研究院甘肃天水741018)
摘要:本次设计的是基于PSO算法的PID控制器参数优化设计。人们对PID控制器参数优化的研究是紧跟在它产生之后的,现在常用的优化整定方法有两类,分别是工程和理论计算的方法。工程整定方法操作简单而且方便,但是整定过程需要丰富的工程经验,理论算法只要知道被控对象的传递函数,就可以对控制器参数进行优化。粒子群算法的形成是受到了群体智能的影响,它是一种启发式的全局搜索新算法,为了找到搜索空间中的全局最优解,粒子之间的合作方法既有竞争又有协作。这种算法有概念容易掌握、程序容易实现、全局搜索能力强等特征。本文采用粒子群算法进行PID控制器的参数优化,在MATLAB环境下进行算法编译并在SIMULINK中搭建框图进行仿真,同时使用单纯形法对同一个被控对象的PID控制器参数进行优化,对两种算法的优化性能进行了分析比较,发现粒子群优化算法不仅程序编写容易实现,优化速度快,而且优化效果比单纯行法的优化效果优越一些。
关键词:PID控制器;优化算法;粒子群优化算法;MATLAB
1引言
PID控制是近年来工业生产中应用较广的一种控制方法,它以结构简单、便于操作、可靠性强、鲁棒性好等为优势。它也是比例(Proportional)、积分(Integral)和微分(Derivative)控制的简称,它的控制过程是根据系统产生误差的比例、积分、微分的线性组合来调整确定,则PID控制器的控制性能由控制器参数、、决定。对于PID控制器设计的核心问题之一,就是对参数的整定研究。但对PID控制器的参数整定是较为困难的,因为现实中的控制系统变得较为复杂,多数的系统控制对象是时滞、高阶的、并为非线性。因此有了PID控制优化算法的产生。比如蚁群算法、神经网络算法、遗传算法和爬山法等。而有优化最主要的是要比较高的收敛速度和寻到最小的位置点。
2微粒群算法介绍
微粒群算法是生物学家根据鸟群觅食的集体行动方式演化而来的。每一只鸟在去捕食的时候,它知道自己与所需要捕的食物之间的距离,但它没有明确的目标的具体位置,它只能根据自己的规则确定自己的飞行方向和飞行速度。因此要找到食物最简单的策略,就是搜寻目前离食物最近的周围区域,然后跟随鸟群中的头鸟前行。鸟可以被定义为一个个被忽略质量和体积的微粒。共同在一个设定的N维的空间里,每个微粒都有由目标函数确定的适应度值,并知道自己发现的最好位置和确定自己的位置。除此以外,每个粒子都知道整个群体中粒子发现的最好位置,然后根据自己的经验和群体的经验来制定前行的飞行。简单的说,微粒群优化算法的基本思想就是通过群体中每个个体的合力协作以及信息共享以此来寻找最优的解。
2.1算法原理
PSO算法中最优解的搜寻过程是先初始化一群随机粒子(随机解),即随机速度和位置,通过目标函数计算出微粒的适应度值,并与经过的最好位置进行比较,将其作为最好的位置,然后则调整粒子的运行速度和位置。即选择出个体和群体的当前最优解,分别是粒子自身找到的最优解和整个集体找到的最优解,这两种最优解前者是个体极值,后者是全局极值,根据这个规则接着反复计算来更新两极值,最后找到最终的最优解。在实际算法中就是通过限定次数的迭代,然后找到最优位置也预先设定的最小适应阙值。
2.1.1基本微粒群算法
微粒群的基本算法的如下所述。
试中:i表示微粒i,t是表示第t代,j表示微粒是第j维。上述式子中包括三部分,其中第一部分是个记忆项,表示粒子上一次运动的速度大小和方向;第二部分表示了当前点指向粒子自身最优位置的速度影响,也被称之为粒子的自身认知向;第三部分是群体认知项,即指向微粒群体的最优位置且对粒子速度的影响。简而言之,就是粒子以自身经验为基础并结合其他粒子的最好经验来找到最优的那个解。
2.1.2标准粒子群算法
以上述式2.1为基础,经过修正研究,引入了惯性权重因子w,形成了微粒群算法的标准形式,式子表示如下:
式子中,w是非负的惯性权重因子,当w的值取得较大时,全局的搜寻最优能力会较强,但局部的寻优能力就相对比较弱;反之,当w值选的较小的时候,局部的寻优能力较强,但是相应的全局寻优能力就会弱。
2.2PSO算法的参数和结构形式
粒子群算法的的参数包括微粒总个数、惯性权重因子w、学习因子c1和c2、迭代次数和最大速度等。
其中惯性因子w与学习因子c1和c2是统称为权重因子,w惯性因子是为了使粒子保持着运动的惯性,也就是保持记忆,保留自身运动的速度和方向。也使搜索空间可以扩展和延伸。具有探索新领域能力的c1和c2是将每个微粒推进由局部最优位置和全局最优位置统计而来的加速项的权值。比较大的值会造成粒子猛然的越过目标区域和冲向目标区域,但比较小值的粒子允许在被拉回来之前在目标区域周围外徘徊。因此参数的设置比较重要,假如惯性因子w的值为0就相当于速度本身没有记忆力,速度的决定权只有目前的位置以及历史最优的位置。如果粒子此刻就在全局最好的位置,那么它必定是静止不动的。而其它的微粒就会推进到全局最好位置与它的最好位置,即加权中心。如果c1和c2都同时为0,则粒子会以目前的速度一直飞,直到区域边界,因此也很难找到最优的解。
PSO算法的拓扑结构,包括静态邻域拓扑结构和动态网络邻域拓扑结构。动态网络邻域拓扑结构是预先对微粒之间的距离进行计算,再根据粒子间实际中的真实具体的位置建立网络拓扑结构,这对于粒子有比较快的反应。关于静态网络结构,在进行优化时,可以不必改变粒子间的相邻域的关系,紧通过粒子的编号对粒子给于初始化,再在每一次的操作过程中根据编号对粒子来进行调用。环形、全互形结构、冯·诺依曼结构在现在的邻域拓扑结构网络中有较多的应用,如下图2.1所示。
(a)全互连(b)环形结构(c)冯·诺依曼结构
图2.1PSO的拓扑结构
如图2.1(a)所示,全互连社会网络结构也被称之为星行社会结构,每个粒子都直接相互相连、并且彼此互为邻居,具有较快的收敛速度。图2.1(b)是环形社会结构,具有较强的寻优能力,是最基本的邻域拓扑结构,但收敛速度有些缓慢。图2.1(c)是冯·诺依曼结构,冯·诺依曼结构也是一种比较常用的邻居拓扑结构形式,它的邻域为网络状,每个粒子和上下左右四个粒子相连,是一种立体正方形结构。信息传送速度快,因此寻优能力强,收敛速度也比较快。
3PID控制的原理
3.1PID控制设计的简介
PID控制器是按照偏差的比例、积分和微分组合,从而进行线性控制。它将系统的目标值r(t)通过负反馈与系统响应输出值y(t)进行比较构成控制偏差e(t)=r(t)-y(t)。
PID的控制是通过预设定值r(t)与系统实际响应输出的值y(t)比较构成偏差:
e(t)=r(t)-y(t)
PID控制器的控制规律表述如下式所示:
式子中,Kp代表的是比例系数;Ti表示的是积分时间常数;Td是微分时间常数;u0通常表示e(t)=0时的控制作用,称之为基准。
PID控制规律式子也可以写成传递函数的形式:
PID控制的三个环节的主要作用如下所述:
比例(Kp)环节:当实际响应结果与给定形成偏差时,此环节就会立即进行控制作用,来减少偏差,比例系数Kp的大小则是控制作用强弱的表现,Kp较大的时候其控制作用较强,但是系统比较容易出现震荡情况,反之,Kp取得比较小时,它的控制作用就会变弱,因此系统的恢复时间会延长。
积分()环节:此环节的最主要作用就是消除静差,积分时间Ti大小决定强弱,积分作用越强的时候,Ti就是较大的值,是系统的超调量减小,提高系统的稳定性,相反,则积分作用就会成正比的相应变换。
微分()环节:主要用于调节误差的微分输出,在偏差突变时,能预见性的引入一个修正信号,加快了系统的动作时间,减小调整时间,能做到及时控制并保证系统的动态性能。Td变大,微分作用就越强。
3.2目标函数的选取
目标函数是指所需要优化的对象在参数整定过程的性能评定指标函数。目标函数包括两种:一种是根据系统的输出响应特征提出的的特征型目标函数;另一种是系统的期望输出值和实际输出值比较得出的误差,基于此误差的误差型目标函数。误差型目标函数有几种常用的形式如下所示。
(1)误差平方的积分型的目标函数,其表达式如下所示。
上式中,e(t)=r(t)-y(t)是系统误差。对于控制系统来说要求输出响应y(t)近似的接近输入值r(t),则e(t)越小越易实现。e(t)趋于最小的过渡程中,它的正负变化是没法准确肯定的,所以选用e2(t)进行积分。从数学计算这个角度来看,这个目标函数是易实现的,并且可以得到相对很简单的解析式。但是如果紧用e2(t)来积分,是很难达到最终优化的结果的品质指标。
(2)时间乘以误差平方的积分型,其表达式如下所示。
对e2(t)乘以t再进行积分,不仅把误差的影响加了进去,同时又引入了时间权。能更好的把权值放在对过度误差的调整上,所以这种目标函数对系统的品质要求相对更精确一些。
(3)误差绝对值积分型,它的表达式如下所示。
可以很显然的看到,误差绝对值积分型的寻优法比误差平方积分型和时间乘以误差平方积分型这两种方法的寻优结果好很多。首先加入了|e(t)|,即绝对值的应用,这就解决了过度过程中e(t)正负符号变化不断的情况。并且加了时间t,可以很好的消除在过度过程中后期出现的误差。所以本次设计中选表达式是的目标函数。
4优化的仿真系统
4.1加热炉温控的仿真搭建
在MATLAB的环境下利用Simulink搭建加热炉温控的PID框图,框图如4.1所示。
图4.1加热炉温控的PID的Simulink仿真框图
4.2基于PSO算法的优化仿真
在PSO算法程序设计中,粒子群的规模大小设计为100,迭代次数设置为50,粒子群的速度范围限制在v∈[-5,5],粒子群的上限值设置为100,位置的下限为0,惯性权重因子设置为w=0.6,c1=c2=2。在单位阶跃响应下并且基于PSO算法的最终优化结果是Kp=48.4379、Ki=0.3167、Kd=13.7570。
5.结束语
本设计采用的粒子群算法和临界比例度法对PID控制器参数进行优化设计。首先对PSO算法进行了详细了解和学习,接着通过查阅相关文献,完成了关于MATLAB仿真的PSO算法对PID控制器参数优化的程序编写。利用SIMULINK搭建仿真框图,通过M文件调用仿真框图完成参数的优化过程,选择单纯形法作为常规的优化算法,对同一个被控对象的PID控制器参数进行了优化。
参考文献:
[1]徐静波.基于PSO算法的PID控制参数优化[J].东华大学学报,2007,33(1):135-138.
[2]董海鹰.智能控制理论及应用[M].北京:中国铁道出版社,2006:191-209.
[3]潘峰.粒子群优化算法与多目标优化[M].北京:理工大学出版社,2013:15-110.
[4]崔志华,曾建潮.微粒群优化算法[M].北京:科学出版社,2013:25-63.
[5]曾建潮,崔志华.微粒群算法的同一模型及分析[J].计算机研究与发展,2006,1:96-100.