非最小相位系统PIPD控制器的优化设计 精品.doc_第1页
非最小相位系统PIPD控制器的优化设计 精品.doc_第2页
非最小相位系统PIPD控制器的优化设计 精品.doc_第3页
非最小相位系统PIPD控制器的优化设计 精品.doc_第4页
非最小相位系统PIPD控制器的优化设计 精品.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

非最小相位系统PI/PD控制器的优化设计1 绪论1.1 课题研究背景许多工业控制过程都存在右半平面的零点或极点,这些系统属于非最小相位系统。非最小相位系统,是指在S平面右半部有开环极点或开环零点的控制系统。 最小相位系统所有开环零点和极点都位于S平面左半部的系统。 非最小相位系统一词源于对系统频率特性的描述,即在正弦信号的作用下,具有相同幅频特性的系统(或环节),最小相位系统的相位移最小,而非最小相位系统的相位移大于最小相位系统的相位移。 非最小相位系统根轨迹的绘制方法同最小相位系统完全相同。从传递函数角度看,如果说一个环节的传递函数的极点和零点的实部全都小于或等于零,则称这个环节是最小相位环节。如果传递函数中具有正实部的零点或极点,或有延迟环节,这个环节就是非最小相位环节。对于闭环系统,如果它的开环传递函数极点或零点的实部小于或等于零,则称它是最小相位系统。非最小相位系统是指在有半平面(Right-Hand Plane,RHP)存在零点或极点的系统,本文仅考虑零点位于RHP的情况。由于RHP零点的存在,除发生超调现象外,系统响应还会出现负调。具体而言,若系统存在奇数个RHP零点,系统的阶跃响应首先将走向设定值的反方面再返回,从而引起负调;若存在偶数个RHP零点,系统的阶跃响应在跟随设定值方向一段时间后将走向设定值的反方面然后返回,从而引起负调1。鉴于负调对许多工程场合的严重影响,控制系统除抑制传统的超调和调整时间外,还要尽量抑制负调,而同时做到这一点通常很困难。PID控制是最早发展起来的控制策略之一,具有结构简单,实现方便,鲁棒性强,效果满意等特点,并且人们对它的原理,物理意义等比较熟悉,建立起了比较完善的理论体系2。尽管现代控制理论在许多控制应用中获得了大量成功的范例,然而在工业过程控制中,PID类型的控制技术仍然占有主导地位。PID控制性能与其三个参数的整定有直接关系,这三个参数为:比例系数(P),积分系数(I),微分系数(D)。PID参数整定通常分为传统参数整定方法和智能参数整定方法。传统整定方法整定过程繁琐,难以实现参数的最优整定,容易产生振荡和大超调。智能整定方法,如神经网络算法,遗传算法等也存在某些不足,前者的隐含层数目,神经元个数以及初始权值等参数选择都没有系统的方法;后者需要进行复制,交叉与变异操作,进化速度慢,易产生早熟收敛,并且其性能对参数有较大的依赖性3。粒子群算法(Particle Swarm Optimization,PSO)是进化技术的一种,源于对鸟群捕食行为的研究,本质上属于一种迭代随机搜索算法,具有并行处理特征,鲁棒性好,原理上可以较大的概率找到优化问题的全局最优解,且易于实现,计算效率高,已成功的应用于求解多种复杂的优化问题4。1.2 PID控制器概述PID(Proportional Intergral Differential)控制器,它是比例,积分和微分控制的简称。PID控制是将偏差的比例,积分和微分通过线性组合构成控制量对被控对象进行控制。作为一种线性控制器,PID控制器根据给定值SV和实际输出值PV构成控制偏差,即e(t)=r(t)- y(t) (1.1)然后对偏差按比例、积分和微分通过线性组合构成控制量,对被控对象进行控制,得到PID控制器的理想算法为 (1.2)其中,e(t)为反馈偏差。上面式子是我们在各种文献中最经常看到的PID控制器的表达形式,各种控制作用(即比例作用、积分作用和微分作用)的实现在表达式中表述的很清楚,相对应的控制器参数包括比例增益Kp、积分时间常数Ti和微分时间常数Td 这三个参数的取值优劣将影响到PID控制系统的控制效果好坏。比例增益Kp的引入是为了及时地反映控制系统的偏差信号,一旦系统出现了偏差,比例调节作用立即产生调节作用,使系统偏差快速向减小的趋势变化。当比例增益Kp增大的时候,PID控制器可以加快调节,但是过大的比例增益会使调节过程出现较大的超调量,从而降低系统的稳定性,在某些严重情况下,甚至可能造成系统不稳定。积分作用的引入是为了使系统消除稳态误差,提高系统的无差度,以保证实现对设定值的无静差跟踪。从原理上看,只要控制系统存在动态误差,积分调节就产生作用,直至无差,积分作用就停止,此时积分调节输出为一常值。积分作用的强弱取决于积分时间常数Ti的大小,Ti越小,积分作用越强,反之则积分作用越弱。积分作用的引入会使系统稳定性下降,动态响应变慢。实际中,积分作用常与另外两种调节规律结合,组成PI控制器或者PID控制器。微分作用的引入,主要是为了改善控制系统的响应速度和稳定性。微分作用能反映系统偏差的变化律,预见偏差变化的趋势,因此能产生超前的控制作用。直观而言,微分作用能在偏差还没有形成之前,就已经消除偏差。因此,微分作用可以改善系统的动态性能。微分作用的强弱取决于微分时间Td的大小,Td越大,微分作用越强,反之则越弱。在微分作用合适的情况下,系统的超调量和调节时间可以被有效的减小。从滤波器的角度看,微分作用相当于一个高通滤波器,因此它对噪声干扰有放大作用,而这是我们在设计控制系统时不希望看到的。所以我们不能过强地增加微分调节,否则会控制系统抗干扰产生不利的影响。此外,微分作用反映的是变化率,当偏差没有变化时,微分作用的输出为零。1.3 PID控制器参数整定的研究进展PID控制器是工业过程控制中最常见的一种过程控制器。尽管工业自动化飞速发展,但是PID控制技术仍然是工业过程控制的基础。根据日本有关调查资料显示,在现今使用的各种控制技术中,PID控制技术占84.5%,优化PID控制技术占6.8%,现代控制技术占1.6 %,手动控制占6.6%,人工智能(AI)控制技术占0.6%。如果把PID控制技术和优化PID控制技术加起来,则占到了90%以上,且工业过程控制中,95%以上的回路具有PID结构5。因此,可以毫不夸张地说,随着工业现代化和其他各种先进控制技术的发展,PID控制技术仍然不过时,并且它还占着主导地位。我们今天所熟的PID控制器产生并发展于19151940年期间,尽管自1940年以来,许多先进控制方法不断推出,但PID控制器以其结构简单,对模型误差具有鲁棒性及易于操作等优点,仍被广泛应用于冶金、化工、电力、轻工和机械等工业过程控制中。 同其它控制方法一样,几十年来,PID控制的参数整定方法和技术也处于不断发展中,特别是近年来,国际自动控制领域对PID控制的参数整定方法的研究仍在继续,许多重要国际杂志不断发表新的研究成果。如Automatica, IEEE Trans on Control Syst Tech等。 值得提出的是Astrom和Hagglund于1995年再次出版了PID控制器:理论、设计及整定(第二版)6。自Zieg1er和Nichols7提出PID参数整定方法起, 有许多技术已经被用于PID控制器的手动和自动整定。 根据发展阶段来划分,可分为常规PID参数整定方法以及智能PID参数整定方法;按照被控对象个数来划分,可分为单变量PID参数整定方法及多变量PID参数整定方法,前者包括现有大多数整定方法,后者是最近研究的热点及难点; 按控制量的组合形式来划分,可分为线性PID参数整定方法及非线性PID参数整定方法,前者用于经典PID调节器,后者用于由非线性跟踪一微分器和非线性组合方式生成的非线性PID控制器。常规的PID参数整定方法有ZN经验法、ZN临界比例度法和特征面积法等。本文只简要介绍一下ZN临界比例度法。1942年,Ziegler 和Nichols提出了临界比例度法,这是一种非常著名的PID控制器参数整定方法,曾在工程上得到广泛的应用,同ZN经验法不同,该法不依赖于对象的数学模型参数,而是总结了前人理论和实践的经验,通过实验由经验公式得到PID控制器的最优整定参数7。它用来确定被控对象的动态特性的参数有两个:临界增益Ku和临界振荡周期Tu。临界比例度法是在闭环的情况下,将PID控制器的积分和微分作用先去掉,仅留下比例作用,然后在系统中加入一个扰动,如果系统响应是衰减的,则需要增大控制器的比例增益Kp重做实验,相反如果系统响应的振荡幅度不断增大,则需要减小Kp。实验的最终目的,是要使闭环系统作临界等幅周期振荡,此时的比例增益Kp,就被称为临界增益,记为Ku;而此时系统的振荡周期被称为临界振荡周期,记为Tu。临界比例度法就是利用Ku和Tu由经验公式求出P,PI和PID这三种控制器的参数整定值。表1.1就是ZN临界比例度法参数整定经验公式。表1.1 ZN临界比例度法参数整定公式PID控制器参数KpTiTdP型控制器 0.5KuPI型控制器 0.45Ku0.83TuPID型控制器0.6Ku0.5Tu0.125Tu智能PID控制器是近年来随着各种技术的发展而发展起来的,Astrom在1988年美国控制会议(A CC)上作的面向智能控制的大会报告概述了结合于新一代工业控制器中的两种控制思想:自整定和自适应,为智能PID控制的发展奠定了基础。他认为自整定控制器和自适应控制器能视为一个有经验的仪表工程师的整定经验的,认为自整定调节器包含从实验中提取过程动态特性的方法及控制设计方法,并可能决定何时使用PI或P ID控制,即自整定调节器应具有推理能力。自适应PID的应用途径的不断扩大使得对其整定方法的应用研究变得日益重要。目前,在众多的整定方法中,主要有两种方法在实际工业过程中应用较好。一种是由福克斯波罗(Foxboro)公司推出的基于模式识别的参数整定方法(基于规则),另一种是基于继电反馈的参数整定方法(基于模型)。前者主要应用于Foxboro的单回路EXA C T控制器及其分散控制系统I/A Series的PIDE功能块,其原理基于Bristo1在模式识别方面的早期工作。后者的应用实例较多,这类控制器现在包括自整定、增益计划设定及反馈和前馈增益的连续自适应等功能。这些技术极大地简化了PID控制器的使用,显著改进了它的性能,它们被统称为自适应智能控制技术。 自适应技术中最主要的是自整定。按工作机理划分,自整定方法能被分为两类:基于模型的自整定方法和基于规则的自整定方法。在基于模型的自整定方法中,可以通过暂态响应实验、参数估计及频率响应实验来获得过程模型。在自整定控制器中,使用了许多不同的整定方法,扩展ZN阶跃响应方法是一种基于暂态响应技术的自整定方法。该方法直接从阶跃或脉冲响应中获得简单过程模型参数,PID控制器的参数进而在满足加权误差平方积分指标(ISE)最小的条件下,由于模型参数获知该暂态响应方法与原始的ZN阶跃响应法相比对噪声不敏感,提出了基于互相关度的自整定方法。它利用二进制伪随机序列的输入与过程输出间的互相关度来识别最大增益和相位,并应用于ZN整定公式,其主要优点是能用于噪声很强的环境。 Astrom和Hagglund提出一种继电反馈方法,该方法是获得过程临界信息的最简便的方法之一。它通过在过程输出至其输入的反馈回路中连入继电器以近似确定临界点大多数过程将在一个有限周期内振荡,其临界增益和周期由振荡的幅值和频率来决定,该方法可保障稳定过程的稳定闭环振荡响应,因此已经广泛应用于工业P ID控制器参数自整定中。该方法中,首先产生一个有限周期振荡,使得控制系统在对于系统稳定至关重要的频率点处振荡;然后反复调整控制参数,以使闭环传递函数满足某个振荡频率点处的幅值要求。与Astrom和Hagglund的开环自整定调节器相比,由于该方法选择振荡频率更合理,使得控制回路具有比后者范围更宽的增益和相角裕度;并且该方法对振荡频率附近的干扰鲁棒性更强。其主要缺点是由于激励频率较低及振荡周期数可能因控制参数反复修改而较大,造成整定周期过长。在基于规则的自整定方法中,不用获得过程实验模型,整定基于类似有经验的操作者手动整定的规则。基于规则的自整定过程与基于模型的方法一样,使用暂态响应、设定值改变或负载干扰等信息,观测被控过程的特性,若被控量偏离设定值,则基于规则整定控制器参数。为获得一个基于规则的自整定过程,需要对响应特性进行量化。通常使用的量是描述控制系统稳定性的超调量和衰减比,以及用来描述控制回路响应速度的时间常数和振荡频率获得决定不同控制器参数应该减少或增加的相应的规则比较容易,但确定相应的量较难因此,基于规则的整定方法更适于连续自适应控制与基于模型的整定方法相比,基于规则的整定方法对于处理负载干扰和处理设定值变化的方法相同,而前者比较适于设定值变化。 Bristo1提出一种基于模式识别的PID参数整定方法。他试图避开过程模型问题,用闭环系统响应波形上一组足以表征过程特性而数目又尽可能少的特征量作为“状态变量”,以此为依据设计通用的自整定方法。在整定过程中,过程连接一个PID控制器,观察过程的阶跃响应及干扰变化,基于响应曲线调整控制器参数该方法的优点在于应用简单,它不需要用户设定模型阶次等先验信息,甚至不需要预校正测试就能自动地整定。其主要缺点是需要大量的启发式规则,从而造成设计上的复杂性。另外,该方法对于系统存在正弦干扰、非最小相位动态特性及多变量交叉耦合的情况性能较差。Astrom提出一种基于频域辨识的基于规则的自整定方法。该方法优于其它整定方法在于:其整定过程不必中断正常的闭环控制,并可使用频域辨识技术从闭环系统获得的数据中估计出过程的开环频率响应。除了几乎没有任何动态特性先验知识的情形外,该方法不必进行继电整定或开环阶跃响应整定该方法使用周期性激励,应用频率响应估计以获得闭环内的相对高的信噪比辨识易于自动执行,并且计算量适当。PID控制算法是迄今为止最通用的控制策略。有许多不同的方法以确定合适的控制器参数。这些方法区分十复杂性、灵活性及使用的过程知识量。一个好的整定方法应该基于合理地考虑以下特性的折衷:负载干扰衰减,测量噪声效果,过程变化的鲁棒性,设定值变化的响应,所需模型、计算要求等。我们需要简单、直观、易用的方法,它们需要较少的信息,并能够给出合适的性能。我们也需要那些尽管需要更多的信息及计算量,但能给出较好性能的较复杂的方法。 从目前PID参数整定方法的研究和应用现状采看,以下几个方面将是今后一段时间内研究和实践的重点:1对于单入单出被控对象,需要研究针对不稳定对象或被控过程存在较大干扰情况下的PID参数整定方法,使其在初始化、抗干扰和鲁棒性能方面进一步增强,使用最少量的过程信息及较简单的操作就能较好地完成整定。2对于多入多出被控对象,需要研究针对具有显著耦合的多变量过程多变量PID参数整定方法,进一步完善继电反馈方法,尽可能减少所需先验信息量,使其易于在线整定。3智能PID控制技术有待进一步研究,将自适应、自整定和增益计划设定有机结合,使其具有自动诊断功能;结合专家经验知识、直觉推理逻辑等专家系统思想和方法对原有PID控制器设计思想及整定方法进行改进;将预测控制、模糊控制和PID控制相结合,进一步提高控制系统性能,都是智能PID控制发展的极有前途的方向。1.4 的主要研究内容和结构安排本文从对非最小相位系统的优化问题,简要概述了一些常规PID控制器参数的整定和人工智能PID控制算法整定方法。通过对常规PID控制器的研究,分析了常规PID控制器的缺点,并比较其它一些智能算法,提出了基于粒子群算法的PID控制器参数整定方法。基于粒子群算法的PID控制器参数整定方法是一种两阶段PI/PD控制器的粒子群自整定优化算法,采用粒子群算法对PID控制器的参数进行优化整定。通过仿真研究证明了该方法的优越性。本文的结构安排如下:1第一章 绪论,简要介绍了非最小相位以及PID控制器,并对PID控制器的研究进展作了简要概述。2第二章 对粒子群算法做了详细介绍,从粒子群算法的研究背景说起,对其原理做了详细讲解,同时与遗传算法进行了比较。3第三章 利用粒子群算法整定PID控制器参数,针对非最小相位系统提出的二阶段PI/PD控制器,并利用粒子群算法编码寻优,提出算法流程,最后进行仿真计算,得到了仿真图形及计算结果。2 粒子群算法2.1 引言粒子群优化算法(Particle Swarm Optimization,PSO)是一种进化计算技术(evolutionary putation),由Eberhart博士和Kennedy博士发明8-9。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能 (Swarm intelligence, SI) 的一种10。它可以被纳入多主体优化系统 (Multiagent Optimization System, MAOS)。PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解中搜索11。人们通过对动物社会行为的观察,发现在群体中对信息的社会共享有利于在演化中获得优势,并以此作为开发PSO算法的基础。引入惯性权重来更好地控制开发(Exploitation)和探索(Exploration),形成了当前的常规粒子群算法。该算法与其它进化算法相似,也是基于群体的迭代算法。粒子在解空间追随最优的粒子进行搜索,类似梯度下降算法使各染色体向适应度函数最优的方向群游。PSO同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠代搜寻最优值。但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。而是粒子在解空间追随最优的粒子进行搜索。同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域。2.2 粒子群算法的研究 在PSO优化算法中,每个优化问题的解都是N维目标搜索空间中的一个粒子,共有m个粒子组成一个群体。每个粒子性能的优劣程度取决于待优化问题目标函数确定的适应值,每个粒子由一个速度决定其飞行的方向和速率的大小,粒子们追随当前的最优粒子在解空间中进行搜索。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个最优解来更新自己,最终到达从全空间搜索最优解的目的。第k次迭代时粒子i的位置,飞行速度可以表示为(k)=(k),(k),(k) (2.1) (k)=(k),(k),(k) (2.2)每次迭代过程,粒子通过跟踪两个“极值”来更新自己的速度和位置。第一个就是粒子本身所找到的最优解,这个解就叫做个体极值,可以表示为 (k)=(k),(k),(k) (2.3)另一个极值是整个种群目前找到的最优解,这个极值是全局极值,可以表示为 (k)=(k),(k),.,(k) (2.4)在第k次迭代计算时,粒子i根据下列规则来更新自己的速度和位置:(k+1)=(k)+(k)-(k)+(k)-(k) (2.5)(k+1)=(k)+(k+1) (2.6)式中为惯性权重;,为学习因子,是非负常数;是介于0,1之间两个独立的随机数;n=1,2,N;,,单步前进最大值根据粒子的取值区间长度来确定。粒子群算法的搜索空间是以Ziegler-Nichols法(ZN)获得的参数结果为中心,向左右两边进行拓展形成的,这样既可充分利用ZN法的合理内核,又缩小了实际参数的搜索空间。如果参数的优化解十分靠近搜索空间的边界,还要在该解的基础上进一步拓展搜索空间,进行新一轮搜索。 (2.7) (2.8) (2.9)其中,(KP,Ki,Kd)为PID控制器参数;(KP, Ki, Kd)为ZN法的整定值;为0,1内选定数值。1. 对的改进 是惯性权值,调整其值可改变搜索范围和搜索速度。若较大。则微粒有能力扩展 搜索空间,全局搜索能力强。若较小,微粒主要在当前解的附近搜索,局部搜索能力强。 本文提出的算法中,惯性权值不随迭代次数k的线性变化,而是与PSO收敛速度相关的函数,的计算公式定义为 (k)=-(-)(1-) (2.10)式中,(k),分别为当前时刻的惯性权重,最大权重,最小权重;,是当前时刻全局最优粒子的适应度函数及所有粒子适应度函数的平均值;k为当前的迭代次数。 这样设计的目的是为了使惯性权值能够随着PSO寻优速度的改变而自适应调整,即提高了PSO算法收敛速度,又不容易陷入局部最优,同时避免了通常按迭代次数线性减少的方法中,因不适当地选取最大迭代次数造成对的不适合的选择。2. 对最好微粒和最坏微粒的处理 在PSO中,各微粒的飞行都是随机的,当最优微粒飞行一步后,如果适应值变差,下一步就以变差的位置继续飞行,没能发挥最优微粒应有的优势。对于每一步最优微粒的飞行,采用试探法使其朝着适应值变优的方向飞行,即最优微粒飞行一步后,如果适应值变好,则以新的位置继续飞行;如果适应值变差,则返回原位置重新搜索。对于每一步的适应值较差5%微粒,用全局最优微粒为中心一群随机粒子取代,这些随机粒子的分布半径为 r=(-k)/ (2.11)式中,为粒子第一次初始化时的随机值半径;k为当前的迭代次数;为最大的迭代次数。2.3 PSO与遗传算法的比较2.3.1 遗传算法介绍与原理进入20世纪以来,在速度和影响范围方面遗传学的发展只有电子学和计算机科学能与之相比。将计算机技术与生物技术相结合产生了各种边缘学科。遗传算法是将生物技术引入最优化方法而得到的,它是20世纪出现的最令人感兴趣的算法之一。遗传算法(以及普遍意义上的进化算法)出现在20世纪60年代早期,最初起源于对生物系统进行的计算机模拟研究,并在计算机科学的确定性和非确定性算法之间占据了一席之位。本质上,遗传算法具有如同其它确定性算法同样的特性,用户可以决定重复次数和结束条件。它模拟达尔文的自然选择,还有变异,把“适应性”(正如适用于个体的公式所决定的那样)作为主要因素选择生存繁衍和变异的个体。遗传算法经过多年得发展已经有了各种理论模型,例如使用马尔可夫模型来分析遗传算法的收敛性。这里仅仅对遗传算法进行简要介绍。遗传算法的基本原理非常简单,任何人只要用高中时学过的生物术语就可以理解。以一群个体为例,它们都有自己的DNA。然后计算每一个个体的适应性(把它看作是适用于个体的DNA的性能来衡量),并且使那些更适应环境要求的个体更有可能繁衍。而最不适应的个体将有可能会被灭绝。每个幸存者都会有机会繁衍(重要的是任何幸存者都可能会繁衍,如果不太适应的话,仅仅是降低了可能性)。合并双亲的DNA,对合并后的DNA应用随机变异以模拟繁衍。理论上说来,新的个体是和双亲一样适应的,由于变异或增或减会有些微小的变化。然后循环会周而复始。具体作法是:首先采用某种编码方式将解空间映射到编码空间(可以是位串、实数、有序串、树或图,Hollnad最初的遗传算法是基于二进制串的,类似于生物染色体结构,易于用生物遗传理论解释,各种遗传操作也易于实现。另外,可以证明,采用二进制编码式,算法处理的模式最多。但是,在具体问题中,直接采用解空间的形式进行编码,可以直接在解的表现型上进行遗传操作,从而易于引入特定领域的启发式信息,可以取得比二进制编码更高的效率。实数编码一般用于数值优化,有序串编码一般用于组合优化),每个编码对应问题的一个解,称为染色体或个体8。一般通过随机方法确定起始的一群个体,称为种群,在种群中根据适应值或某种竞争机制选择个体(适应值就是解的满意程度,可以由外部显式适应度函数计算,也可以由系统本身产生,如由协同演化时不同对策的博奕确定,或者由个体在群体中的存活量和繁殖量确定),使用各种遗传操作算子(包括杂交,变异,倒位等等)产生下一代(下一代可以完全替代原种群,即非重叠种群;也可以部分替代原种群中一些较差的个体,即重叠种群),如此进化下去,直到满足期望的终止条件。显然,有许多变化的因素在影响遗传算法,包括人群大小、代(算法的迭代)、合并方法、适应性函数,适应性将如何影响繁衍的可能性,以及发生了多少变异。另外,遗传算法不受时间限制。用户可以挑选迭代的次数、可以确定当目标函数达到某个值时停止。但是,结果是算法永远也不会结束,因为它没找到那个个体。如果制定了不切实际的目标,或者代的数日太小,就会出现问题。在使用遗传算法解决实际问题时,尝试、出错,以及深入的思考是解决这个问题的必要手段。2.3.2遗传算法和PSO的比较虽然粒子群优化算法和遗传算法有许多共同之处:两者都随机初始化种群,都使用评价函数来衡量个体的优劣程度,并根据由评价函数得到的适应度来进行一定的随机搜索。但粒子群优化算法搜索速度快,在搜索性能上好于遗传算法,这是因为:(1) 粒子群优化算法没有遗传操作,如交叉和变异,而是利用个体在解空间中的随机速度来改变个体,其解群相对进化代数而言,表现出更强的随机性,其计算复杂度比遗传算法低。(2) 粒子具有记忆的特性,它们通过自我学习和向他人学习,使其下一代解有针对性的从前辈那里继承更多的信息,从而能在较短的时间内找到最优解。(3) 与遗传算法相比,粒子群优化算法的信息共享机制是很不同的:在遗传算法中,染色体相互共享信息,所以整个种群的移动是比较均匀的向最优区域移动:在粒子群优化算法中,信息流动是单向的,即只有gbest将信息给其他粒子,这使得整个搜索更新过程跟随当前最优解。从以上分析可以看出粒子群优化算法在多数的情况下,比遗传算法更快的收敛于最优解。2.4 小结本章首先从粒子群算法的背景讲起,详细的介绍了粒子群算法的原理及其研究方法,并与遗传算法进行了比较。粒子群算法是一种相当简单的算法,只需很少的代码和参数,但在各种问题的求解与应用中却展现了它的特点和魅力。该算法为人们提供了如下一种思路:使智慧出现而不是努力强迫它;模拟自然而不是力图控制它;寻求使事情简单化而不是让它复杂。3 粒子群算法优化PID控制器参数虽然在实际中工业控制系统主要是PID类型的控制器,因为它具有算法简单、鲁棒性好、可靠性高等优点而被广泛应用于工业控制领域,但是好的控制器参数比较费时,而且需要操作者拥有控制理论和系统动态过程的专业知识。为了更好的应用PID控制,PID控制器的参数整定与优化则是一个重要的研究问题。3.1非最小相位系统PI/PD控制器本文针对非最小相位系统提出的二阶段PI/PD控制器的基本框图如图3.1所示:图3.1 PI/PD控制器的框图PI/PD控制器的控制算法为: (3.1)其中:Spi和Spd为平滑因子,PI控制器(Upi)和PD控制器(Upd)分别为: (3.2) (3.3)其中,r是一个常量,在这里为1。因为PI控制器和PD控制器是在不同的性能指标下独立优化得到的,因此引入平滑因子|e(t)|调节二者的权重,定义PI控制器的增益Spi为: (3.4)其中,n为平滑因子的阶次,则PD控制器的增益为: (3.5)3.2 PID参数优化的基本思想 基于粒子群得PID参数优化的基本思想:将PID三个参数组合在一起做为粒子群的粒子,在搜索空间中每一个粒子以一定的速度飞行,飞行过程中每个微粒飞行速度将依据微粒的飞行经验和群体的飞行经验进行动态调整,以一定的速度向目标逼近,最后找到最优目标,即PID控制器的最优参数。控制器由两部分组成:PID控制器:它直接对被控对象进行闭环控制,并且3个参数,为实现优化方式;PSO算法,它根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。 3.3 编码和适应度函数 采用实数编码在正文,三维空间的一个粒子表示PID的三个参数。在初始群体的生成上,首先根据经验估计出PID三个参数的取值范围,在此范围内采用随机生成的方式,以使粒子群算法在整可行解空间进行搜索。所谓PID参数优化,简而言之就是利用算法来优化上述的三个参数,其本质是基于一定目标函数的参数寻优问题,目标函数即适度函数,本文采用能反映系统调节品质的ITAE作为了目标函数。由于PID参数优化是求目标函数Q的极小值问题,因而需对目标函数进行改造,将极小值问题转化为极大值问题,则适度函数取为: f(t)= (3.6)其中,e(t)是绝对误差。3.4 算法流程 (1) 算法参数设定。设定学习因子c1和c2,最大迭代次数,粒子的维数n与随机产生粒子的位置和速度。(2) 初始化种群。初随机产生由n个粒子组成的初始种群: P(1)=, (3.7)其中,=(0),(0),(0)表示第j个粒子在解空间的坐标分量,即PID控制器的3个待优化的参数。(3) 粒子性能评估。根据式(3.6)来计算种群中每一个粒子的适应度。(4) 对每个粒子,将其适应度值与经历过的最好位置作比较,如果较好,则将其作为当前的最好位置。(5) 对每个粒子,将其适应度值与全局所经历的最好位置作比较,如果较好,则将设置为最好粒子的当前位置。(6) 根据式(2.5)和(2.6)更新粒子的速度和位置。(7) 检验是否符合结束条件,如果符合,则停止迭代;否则转至(2)。3.5 仿真研究3.5.1 PID控制器为了验证粒子群算法所优化的PID控制器的性能,对以下对象进行仿真研究: 对象1: ;对象2 :;仿真参数选择如下:粒子数为20;惯性权重W从1.2开始随着迭代次数逐步递减到0.1;Vmax设定为参数的范围宽度;学习因子c1和c2等于2;迭代次数为100;a=0.9。图3.2为对象1仿真结果,图3.3为对象2的仿真结果。图3.2 对象1的闭环阶跃响应图3.3 对象2的闭环阶跃响应图3.4为某次迭代优化历程。优化所得PID 控制器参数如表3.1所示;20次随机仿真的性能统计数据如表3.2所示。 图3.4 粒子群算法的寻优历程表3.1 PID控制器的整定参数PID参数整定对象1对象2KpKiKdKpKiKdZN4.6055.9040.8472.9010.0826.43IAE5.9731.9671.6942.3830.08626.656ITAE4.6921.8111.3171.9620.07918.379表3.2 PID控制器的性能指标PID性能指标对象1对象2ZNIAEITAEZNIAEITAE超调量(%)51.844.662.3111.246.212.65上升时间(s)0.460.530.6222.726.232.1调节时间(s)2.341.580.83103.264.455.1通过以上仿真可以看出,粒子群优化算法能在有限的进化代数内对两个对象均得到满意的PID 参数,系统的超调量、上升时间和调节时间(5%)与ZN法相比均得到了不同程度的改善。从进化算法的解群随进化代数的变化情况可以看出,粒子群算法的收敛速度较快。3.5.2 非最小相位系统的PI/PD控制器 为了验证粒子群算法所优化的PI/PD控制器的性能,对以下对象进行仿真研究:对象3:;对象4:;对象5:;仿真参数的选择如上例所示,控制器的参数范围区间为0 1。图3.5-图3.7为对象3-5的仿真结果。图3.5 对象3的阶跃响应图3.6 对象4的阶跃响应图3.7 对象5的阶跃响应优化所得的PI/PD控制器参数如表3.3所示,表3.4为文献1优化所得PID控制器(GA-SA)和本文所得PI/PD控制器下的性能统计数据。表3.3 非最小相位系统PI/PD控制器的整定参数PI/PD 参数对象3对象4对象5Kpi0.10140.25030.1103 Ki0.36000.32400.2304Kpd1.00000.25060.1311Kd0.59410.41620.2785表3.4 非最小相位系统的性能指标对比(=5)性能指标对象3对象4对象5GASAPI-PDGASAPI-PDGASAPI-PDOs(%)1.290.291.920.041.280.01Us(%)3.473.271.142.088.357.35Tr(s)3.101.723.452.823.803.12Ts(s)4.353.115.034.226.225.50通过以上图表可以看出,粒子群优化算法能在有限的进化代数内对3个对象均得到满意的控制器参数,系数超调(Os),负调(Us),上升时间(Tr)和调节时间(Ts,5%)。这些性能指标与文献1相比都得到了不同程度的改善。图3.8为对象3分别在PI,PD和PI/PD控制器控制下的阶跃响应。可见所设计两阶段控制器很好地吸取了各自的控制优势,得到了满意的结果。 图3.8 对象3在PI,PD和PI/PD控制下的阶跃响应图3.9为对象3在PI/PD控制器下,当平滑因子阶次n分别为1,3和5时的阶跃响应。表3.5为性能统计结果。可见随着平滑因子阶次的不同,系统的负调保持不变,只在超调量和上升时间与调节时间之间有所取舍中。图3.9 对象3当n=1,3,5时的阶跃响应表3.5 对象3的性能指标对比(=1,3,5)性能指标Os(%)Us(%)Tr(s)Ts(s)n=10.06123.26732.39003.6700n=30.23533.26731.92003.2500n=50.28833.26731.72003.11003.6 小结本章结合粒子群算法提出了一种对PID控制器参数和非最小相位系统的PI/PD控制器参数自整定的优化策略。通过分析与计算,利用粒子群算法可以更好的寻求参数的最优解,从而达到自整定的优化效果,并设计出了算法流程。最终通过仿真与计算对比,验证了所提出方案的优越性。附录:粒子群优化算法Matlab源程序clear clcclose alldisp(Number 1:System 1);disp(Number 2:System 2);disp(Number 3:System 3);disp(Number 4:System 4);number=input(Please input the SYSTEM number1-4:);filename=strcat(f:lxspid_pso_,num2str(number),.txt);fid=fopen(filename,wt+); switch numbercase 1 zn_kp=4.605;zn_ki=5.904;zn_kd=0.847; value=1000;case 2 zn_kp=1.677;zn_ki=2.043;zn_kd=0.330; value=1000;case 3 zn_kp=2.901;zn_ki=0.080;zn_kd=26.43; value=100000;case 4 zn_kp=0.923;zn_ki=0.270;zn_kd=0.788; value=1000;endquanzhi1=0.9;quanzhi2=0.9;bounds(1,:)=(1-quanzhi1)*zn_kp,(1+quanzhi2)*zn_kp; bounds(2,:)=(1-quanzhi1)*zn_ki,(1+quanzhi2)*zn_ki; bounds(3,:)=(1-quanzhi1)*zn_kd,(1+quanzhi2)*zn_kd; population=50;term = 100; % Maximum number of iterationsmaxw = 1.2; % Maximum inertia weights valueminw = 0.1; % Minimum inertia weights valueweveryit = floor(0.75*term); % Inertia decr. stepc1 = 0.5; % PSO parameter C1c2 = 0.5; % PSO parameter C2inertdec = (maxw-minw)/weveryit; % Inertia weights decrementdim = 3; % Dimension of the problemrng = (bounds(:,2)-bounds(:,1);% Initializing Best positions matrix and% the corresponding function valuesbest_canshu=zn_kp,zn_ki,zn_kd;for cycle=1:1 w = maxw; % initial inertia weight pop = zeros(population,dim); %Allocate the new population pop(:,1:dim)=(ones(population,1)*rng).*(rand(population,dim)+(ones(population,1)*bounds(:,1); pop=pop; vel = rand(dim, population); for i=1:population kp=pop(1,i); ki=pop(2,i); kd=pop(3,i); switch number case 1 sim(pid_1); case 2 sim(pid_2); case 3 sim(pid_4); case 4 sim(pi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论