




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北工业大学明德学院本科毕业设计论文设计论文设论设计论文设论一、题目基于粒子算法的控制器优化设计二、指导思想和目的要求1、利用已有的专业知识,培养学生解决实际工程问题的能力;2、锻炼学生的科研工作能力和培养学生的团结合作攻关能力;三、主要技术指标1、熟悉掌握粒子群算法的基本原理;2.对PID控制进行优化设计;四、进度和要求第01周第02周:英文翻译;第03周第04周:了解智能算法的发展趋势;第05周第06周:学习粒子群算法;第07周第09周:设计PID控制器系统结构;第10周第11周:设计基于智能优化算法的控制器优化结构;第12周第13周:搭建Matlab/SimulinkPID控制优化设计仿真程序,进行仿真、验证;第14周第16周:撰写毕业设计论文,论文答辩;五、主要参考书及参考资料胡寿松.自动控制原理[M].科学出版社.2007史峰、王辉.Matlab智能算法[M].北京航空航天大学出版.2011蒋慰孙,俞金寿.过程控制工程(第二版)[M].中国石化出版社.1999金以慧.过程控制[M].清华大学出版社.2000陆德民.石油化工自动控制设计手册[M].化学工业出版社.2000水琦,何岗.鲁棒PID参数整定技术及应用[J].石化技术与应用.2000,18(4):214-217王骥程,祝和云.化工过程控制工程[M].化学工业出版社.1991吴建生,秦发金.基于Matlab的粒子群优化算法程序设计[J].柳州师专学报.2005,20(4):97-100王万良,唐宇.微粒子群算法的研究与展望[J].浙江工业大学学报.2007,35(2):136-141谢晓锋,张文俊,杨之廉.微粒群算法综述[J].控制与决策.2003,18(2):129-134纪震,廖惠连,吴青华.粒子群算法及应用[M].科学出版社.2009龚纯,王正林,精通Matlab最优化计算[M].电子工业出版社.李丽,牛奔,粒子群优化算法[M].冶金工业出版社.2009陈国良.遗传算法及其应用[M].人民邮电出版社.1996王凌.智能优化算法及其应用[M].清华大学出版社.2001陈云飞.广义分配问题的一种小生境遗传蚁群优化算法[J].北京理工大学学报.2005(06)杨维.粒子群优化算法综述[J].中国工程学.2004(84)志荣.基于MATLAB的粒子群优化算法及其应用[J].计算机仿真.2004(5)李爱国.粒子群优化算法[J].计算机工程与应用2004(5)刘国平.多目标最优化的粒子群算法[J].杭州师范学院学报2005(1)学生___________指导教师___________系主任___________摘要粒子群算法是一种基于群体智能的启发式全局搜索算法,粒子群算法通过粒子间的竞争和协作以实现在复杂搜索空间中寻找全局最优点。它具有易理解、易实现、全局搜索能力强等特点,倍受科学与工程领域的广泛关注,已经成为发展最快的智能优化算法之一。PID参数的寻优方法有很多种,各种方法都有各自的特点,应按照实际系统的特点选择适当的方法。本文主要研究基于粒子群算法的PID控制系统参数优化设计方法,主要工作如下:其一,选择被控对象,本文选取的控制对象为不稳定系统的传递函数,对控制系统进行仿真,并对结果进行分析。其二,根据粒子群算法的特点,设置算法中的相应参数,对PID的、、进行优化;其三,采用Simulink对优化后的控制系统进行仿真,得到系统优化后的响应曲线。通过对结果分析可知,将粒子群算法应用于PID参数优化设计是完全可行的。关键词:PID控制,粒子群算法,优化设计,Simulink
ABSTRACTParticleswarmoptimizationisanemergingglobalbasedonswarmintelligenceheuristicsearchalgorithm,particleswarmoptimizationalgorithmcompetitionandcollaborationbetweenparticlestoachieveincomplexsearchspacetofindtheglobaloptimum.Ithaseasytounderstand,easytoachieve,thecharacteristicsofstrongglobalsearchability,andhasneverwidefieldofscienceandengineeringconcern,hasbecomethefastestgrowingoneoftheintelligentoptimizationalgorithms.ThePIDparametersoptimizationmethodhasalotofkinds,allkindsofmethodsallhavetheirowncharacteristics,shouldaccordingtothecharacteristicsoftheactualsystemchoosingpropermethod.TherearealotofmethodsofoptimizationfortheparametersofPID,andeachofthemhasitsowncharacteristics.Thepropermethodsneedtobeselectedaccordingtotheactualcharacteristicsofthesystem.InthispaperweadopttheParticleSwarmOptimizationtotunetheparameters.Tofinishit,thefollowingtasksshouldbedone.First,choosethecontrolledobject,thispaperselectscontrolobjectforunstablesystemtransferfunction,throughthesimulationofcontrolsystemstepbystep.Second,accordingtothecharacteristicsoftheparticleswarmalgorithm,eachoftheparameterssetPSO,useofMATLABprogram,tooptimizethe、、ofthePID.Third,UsingsimulinktoolofsimulationofPIDparametersoptimizationsystem,andsimulationthattheoptimalparametersofthesystemtobeaffected,curve.Analysisresultsindicatethatthealgorithmprocess,performanceindexhasbeendeclining,PSOlookingformoreoptimalparameters,sobyusingparticleswarmoptimizationalgorithmoftheobtainedresultisobvious.KEYWORDS:PID,ParticleSwarmOptimization,OptimalDesign,Simulink目录摘要 前言1.1研究的背景和课题意义在现代工业控制领域,PID控制器由于其结构简单、鲁棒性好、可靠性高等优点得到了广泛应用。PID的控制性能与控制器参数、、的优化整定直接相关。在工业控制过程中,多数控制对象是高阶、时滞、非线性的,所以对PID控制器的参数整定是较为困难的。优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题。为了解决各种各样的优化问题,人们提出了许多优化算法,比较著名的有爬山法、神经算法和遗传算法等。优化问题有两个主要问题。一是要求寻找全局最小点,二是要求有较高的收敛速度。爬山法精度较高,但是易于陷入局部极小。遗传算法、神经网络算法等也还存在某些不足,前者要涉及到繁琐的编码解码过程和很大的计算量,后者的编程和解码过程需要大量CPU时间,算法易早熟,收敛易陷入局部最优,往往不能同时满足控制系统的速度和精度,且隐含层数目、神经元个数以及初始权值等参数选择都没有系统的方法。1.2基本的PID参数优化方法目前PID参数整定优化方法有很多,比如单纯形法、最速下降法、误差积分准则ISTE最优设定方法、遗传算法、蚁群算法等。单纯形法是一种求解多变量无约束最优化问题的直接搜索法,是求解非线性函数的无约束极值的一种经验方法;最速下降法是一种以梯度法为基础的多维无约束最优化问题的数值计算法,它的基本思想是选取目标函数的负梯度方法(最速下降方向)作为每步迭代的搜索方向,逐步逼近函数的极小值点;误差积分准则ISTE最优设定方法是针对一类特定被控对象的,如果被控对象形式已知,可以考虑使用这种ISTE误差积分准则作为目标函数进行参数优化;遗传算法借鉴了自然界优胜劣汰的进化思想,是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,通过模拟自然进化过程搜索最优解的方法。其基本思想是:先初始化一个种群(种群是由经过基因编码的一定数目的个体组成的,每个个体代表所求问题的一种解决方案),然后按照生物进化理论中的适者生存和优胜劣汰的原理,逐代演化产生出越来越好的个体。在每一代,根据个体的适应度大小挑选出较好的个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。经过数代的演化,将使得最终的种群更加适应环境,种群中的个体更加优质,把最后种群中的最优个体经过解码后作为问题的近似最优解;蚁群算法是受到自然界中真实蚁群集体行为的研究成果的启发而提出的基于种群的模拟进化算法。蚂蚁从蚁巢出发寻找食物源,找到食物后在从食物源原路返回蚁巢的路上释放信息素,觅食的蚂蚁会跟随这个信息素踪迹找到食物源。信息素按照一定的比例释放的。路径越短,释放的信息素越多,浓度也越高;而信息素浓度越高,吸引的蚂蚁也越多;吸引的蚂蚁越多,遗留下的信息素也越多。最后所有的蚂蚁都集中到信息素浓度最高的一条路径上,这条路径就是从蚁巢到食物源的最短路径。为解决最优化问题人们提出过许多新技术和新方法,但工业和科学领域大量实际问题的困难程度正在日益增长,它们大多是根本无法在可接受的时间内找到解的问题。这类优化问题的困难性不仅体现在具有极大的规模,更为重要的是,它们多数是非线性的、动态的、多峰的、具有欺骗性的或者不具有任何导数信息。因此,发展通用性更强、效率更高的优化算法总是需要的。1.3常用的整定方法这里列举在过程控制系统中常用的参数整定方法:经验法、衰减曲线法、临界比例度法、反应曲线法。用衰减曲线法整定调节器参数的方法是:在纯比例作用下,为,为0,目的是要得到,衰减振荡过度过程曲线。根据所得曲线,若衰减大于应调整朝小比例带方向;若小于,应调整朝大比例带方向。记下的比例带,并在记录曲线上求得衰减时的调节周期,然后计算,,各值。临界比例度法考虑的实质是通过现场试验找到等幅振荡的过渡过程,得到临界比例度和等幅振荡周期。当操纵变量作阶跃变化时,被控变量随时间变化的曲线称为反应曲线。对有自衡的非振荡过程,广义对象传递函数常可用近似。、和用图解法等得出。调节器参数整定的反应曲线是依据广义对象的、和定调节器参数的方法。在这些指标中,不同的系统有不同的侧重:强调快速跟踪的系统要求调节时间尽可能短些,强调稳定平稳的系统则要求超调量小,但基本上都要保证系统稳定收敛,即衰减比大于1,超调量必须在允许值的范围内,另外,余差尽可能小至最后为零。影响控制系统指标的因素除了对象的时间常数、放大系数及滞后常数外,还有调节器的参数整定情况。调节器的参数整定是一个复杂的问题,这是因为这些参数的整定要考虑控制对象的各种特性,以及一些会影响系统运行过程的未知干扰;而且,调节器参数本身的调整也会对系统的特性产生重大影响。调节器的各参数对控制指标的具体影响主要体现在:比例带:比例带越小,上升时间减小,衰减比减小,稳定度下降。在工程上,比例带常用比例度P来描述。微分作用:微分作用的大小由微分时间来决定。越大,越能克服系统的容量滞后和测量滞后,对缩短调节时间有一定作用。积分作用:积分作用通过积分时间来体现。越小,消除余差越快,稳定度下降,振荡频率变高。要实现PID参数的自整定,首先要对被控制的对象有一个了解,然后选择相应的参数计算方法完成控制器参数的设计。据此,可将PID参数自整定分成两大类:辨识法和规则法。基于辨识法的PID参数自整定,被控对象的特性通过对被控对象数学模型的分析来得到,在对象数学模型的基础上用基于模型的一类整定法计算PID参数。基于规则的PID参数自整定,则是运用系统临界点信息或系统响应曲线上的一些特征值来表征对象特性,控制器参数由基于规则的整定法得到。尽管当今出现了许多高级控制方法,但是实际控制系统仍然是以比例积分微分(PID)控制为主,即使已经有了一些行之有效的整定规则,但是手动整定PID控制器参数仍是一件复杂和费时的工作。因此出现了许多自整定算法。无论那种整定方法,都不是万能的,它们各有长处和不足,都有一定的适应范围。为了提高传统PID整定技术的适应能力,好多新的方法,如遗传算法,模糊逻辑控制等在最近几年里获得了很快的发展,并广泛地应用于PID控制器参数整定中。每种控制方法都有各自的优点以及适用范围,在实际的操作中不同的方法来实现同一控制模型,其精确度也会有差别。在工程实践中,总希望所选的方案是一切可能的方案中最优的方案,这就是最优控制的问题。解决最优控制的数学方法称为最优化方法,近几十年来,它已经是一门迅速发展的学科。在自动控制方面,将优化技术用于系统设计,能使设计出来的控制系统在满足一定的约束条件下,达到某种性能指标的函数为最小(或最大),这就是控制系统的最优化问题。1.4本文的主要工作本文采用粒子群算法对PID参数进行寻优。先选择控制对象,本文选取的控制对象为不稳定系统的传递函数,在MATLAB下实现粒子群算法寻优程序。通过粒子群算法得到系统性能最佳的PID参数后,采用SIMULINK仿真工具对PID参数优化系统进行仿真,得出系统的响应曲线。由仿真结果可知,对于不稳定的被控对象,由粒子群优化算法(ParticleSwarmOptimization,PSO)设计出的PID控制器参数、、,由结果可知,很好的控制了被控对象。本文的主要工作如下:1.介绍研究背景,提出使用粒子群算法整定PID控制器参数的思想。并对基本的PID整定方法做一介绍。2.学习粒子群算法,描述粒子群算法的起源与原理,列举出不同的粒子群算法,并且举出用粒子群算法来解决一些问题的实际例子。3.着重介绍PID控制器的原理和特点,描述了数字式PID控制算法,并列出了几种PID整定的方法。4.描绘优化设计框架,对所要整定的PID进行仿真,得出响应曲线。5.对得出的响应曲线做出进一步的分析。6论文总结。第二章粒子算法2.1粒子群算法的起源自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界生物的群体行为,从而在计算机上构建其群体模型。自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣,生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,个体遵循:(1)避免与邻域个体相冲撞。(2)匹配邻域个体的速度。(3)飞向鸟群中心,且整个群体飞向目标。仿真中仅利用上面三条简单的规则,就可以非常接近的模拟出鸟群飞行的现象。1990年,生物学家FrankHeppner也提出了鸟类模型,它的不同之处在于:鸟类被吸引飞到栖息地。在仿真中,一开始每一只鸟都没有特定的飞行目标,只是使用简单的规则确定自己的飞行方向和飞行速度(每一只鸟都试图留在鸟群中而又不相互碰撞),当有一只鸟飞到栖息地时,它周围的鸟也会跟着飞向栖息地,这样,整个鸟群都会落在栖息地。1995年,美国社会心理学家JamesKennedy和电气工程师RussellEberhart共同提出了粒子群算法,其基本思想是受对鸟类群体行为进行建模与仿真的研究结果的启发。他们的模型和仿真算法主要对FrankHeppner的模型进行了修正,以使粒子飞向解空间并在最好解处降落。Kennedy在他的书中描述了粒子群算法思想的起源:自20世纪30年代以来,社会心理学的发展揭示:我们都是鱼群或鸟群聚集行为的遵循者。在人们的不断交互过程中,由于相互的影响和模仿,他们总会变得更相似,结果就形成了规范和文明。人类的自然行为和鱼群及鸟群并不类似,而人类在高维认知空间中的思维轨迹却与之非常类似。思维背后的社会现象远比鱼群和鸟群聚集过程中的优美动作复杂的多:首先,思维发生在信念空间,其维数远远高于3;其次,当两种思想在认知空间会聚于同一点时,我们称其一致,而不是发生冲突。2.2粒子算法的概述在PSO算法,每个优化问题的解都是搜索空间中的一只鸟,被抽象为没有质量和体积的微粒,并将其延伸到N维空间。粒子在N维空间里的位置表示为一个矢量.每个粒子的飞行速度也表示为一个矢量。所有的粒子都有一个由被优化的函数决定的适应值(),每个粒子还有一个速度决定它们飞翔的力向和距离。粒子们知道自已到目前为止发现的最好位置()和现在的位置。这个可以看做是拉子自已的飞行经验。除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(,是中的最好值),这个可以看做是粒子同伴的经验。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。字母用公式编辑器编辑字母用公式编辑器编辑2.3粒子算法的介绍PSO算法首先初始化一群随机粒子(随机解),然后粒子们就追随当前的最优粒子在解空间中搜索,即通过迭代找到最优解。假设维搜索空间中的第个粒子的位置和速度分别和,在每一次迭代中,粒子通过跟踪两个最优解来更新自己,第一个就是粒子本身所找到的最优解。即个体极值,;另一个是整个种群目前找到的最优解,即全局最优解,。在找到这两个最优值时,粒子根据如下的公式来更新自已的速度和新的位置。(2.1)(2.2)其中为惯侣权因子,和为正的学习因子,和为0到1之间均匀分布的随机数。粒子群算法的性能很大程度上取决于算法的控制参数,例如粒子数、最大速度、学习因子、惯性权重等,各个参数的选取原则如下。粒子数:粒子数的多少根据问题的复杂程度自行决定。对于一般的优化问题取20至40个粒子就完全可以得到很好的结果;对于比较简单的问题10个粒子已经足够可以取得好的结果;对于比较复杂的问题或者特定类别的问题,粒子数可以取到100以上;粒子的维度:这是由优化问题决定,就是问题解的维度;粒子的范围:由优化问题决定,每一维可设定不同的范围最大速度:决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度;学习因子:学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最优点靠近,通常取和为2。但也有其他的取值,一般等于,且范围在0至4之间;惯性权重:决定了对粒子当前速度继承的多少,合适的选择可以使拉子具有均衡的探索能力和开发能力,惯性权重的取法一般有常数法、线性递减法、自适应法等。2.4基本粒子群算法2.4.1算法原理基本粒子群算法采用常学习因子和及常惯性权重,粒子根据如下的公式来更新自己的速度和新的位置。(2.3)(2.4)2.4.2算法步骤基本拉子群算法的基本步骤如下:(1)初始化粒子群,随机初始化各粒子。(2)根据适应度函数计算各粒子的适应度值。(3)对每个粒子,将它的适应度值与它的历史最优的适应度值比较,如果更好,则将其作为历史最优。(4)对每个粒子,比较它的适应度值和群体所经历的最好位置的适应度值,如果更好,则将其作为群最优。(5)根据方程对粒子的速度和位置进行进化。(6)如果达到结束条件(足够好的解或最大迭代次数),则结束,否则转步骤(2)。粒子群算法的流程图如下:图2-1粒子群算法流程图2.4.3算法特点粒子群算法具有以下主要优点:◆易于描述◆设置参数少◆容易实现◆收敛速度快粒子群算法很容易实现,计算代价低且占用计算机硬件资源少。粒子群算法已被证明能很好地解决许多全局优化问题。当然,PSO算法也和其它全局优化算法一样,有易陷入局部最优,收敛精度不高,后期收敛速度慢等缺点。2.4.4算法举例采用基本粒子群算法求取SphereModel函数的最小值。解:本例题中函数的最小点为()=(000),最小值为0,现在用PSO算法求最小值,首先看看不同迭代步数对结果的影响,粒子群规模为40,学习因子都为2,惯性权重为0.5,迭代步数分别取1000,5000,10000。首先建立目标函数文件fitness.m输入下列内容:在MATLAB命令窗口中输入:[xm,fv]=PSO(@fitness,40,2,2,0.5,1000,30)[xm,fv]=PSO(@fitness,40,2,2,0.5,5000,30)[xm,fv]=PSO(@fitness,40,2,2,0.5,10000,30)将上面的结果比较如下:表格2-1表名呢,让加怎么还不加MATLAB程序结果(不同迭代步数)表名呢,让加怎么还不加迭代步数10005000100000.171159151-0.09655836-0.0159872730.1420736240.008334669-0.001818132-0.1819121030.0186364210.0046256480.1003362930.1037824360.038768164-0.166995445-0.0301029570.0077169670.0356615090.0060840490.0157466960.037148320.013657669-0.002383390.0457441510.010931290.023852163-0.171087980.0429103380.007439340.055131632-0.15093465-0.0141603360.2564633330.076321997-0.032519146-0.1307773830.0044026080.0060668220.1160583310.026024016-0.007677664-0.0982506980.011989153-0.027326272-0.1685727450.0166517660.019745720.280344421-0.0073606770.0147045750.0068345190.38583338-0.0374175560.156634145-0.012203864-0.0619155820.0833436250.038583338-0.0468371590.0988520890.089216026-0.0222348460.07067315-0.074770647-0.071276469-0.2220526430.0072028790.049688358-0.040837950.0157074510.0062584050.210061935-0.0290495680.090448281-0.1281979520.019223623-0.0135245760.216501635-0.0202020740.01044023-0.0875019130.007375891-0.0406975350.060820255-0.036771138-0.00546114-0.24635774-0.041702041-0.04696722-0.013847313-0.0616090710.0160652994函数极值0.6475372570.078922440.033415582从上面总的求解结果可以看出,在其他参数不变的情况下,一般迭代步数越大,求得的解精度越高,但这并不是绝对的,因为PSO算法本质上也是一种随机算法,即使用同样的参数,每一次求解也可能得出不同的结果,同时如果对于多峰函数,PSO还有可能陷入局部最优点。下面看看粒子群规模对结果的影响,学习因子都为2,惯性权重为0.5,迭代步数都为10000,粒子群规模分别取50,60和80。在MATLAB命令窗口中输入:[xm,fv]=PSO(@fitness,50,2,2,0.5,10000,30)[xm,fv]=PSO(@fitness,60,2,2,0.5,10000,30)[xm,fv]=PSO(@fitness,80,2,2,0.5,10000,30)将上面求得的结果列表比较如下:表格2-2表名呢,让加怎么还不加MATLAB程序结果(不同粒子群规模)表名呢,让加怎么还不加粒子群规模506080-0.0113103460.0074255830.0321684040.0043878460.0048179140.018358567-0.0066672460.0018556090.0222361950.0059684390.0143353340.0112422840.00915497-0.001267227-0.020372561-0.051987837-0.0054969170.022033454-0.0286875740.00010960.052377912-0.0177265260.008815249-0.0235825980.012876614-0.00195790.031700920.011624676-0.0015827040.014189874-0.0233624320.034052767-0.013562149-0.042501880.015367050.0468355470.0132199080.0066061990.032128767-0.010243719-0.0087775810.040258144-0.011879719-0.000378132-0.000129326-0.031978858-0.004513022-0.049016752-0.021793246-0.013723932-0.083971611-0.014866581-0.0009891410.0213553230.032450927-0.0036157330.007294525-0.025591814-0.005227237-0.027505171-0.0091624940.0036420450.0305146140.053509427-0.007972992-0.006440302-0.004734495-0.0059175490.0436357630.0070997750.0127190950.021021241-0.0004611460.0003873220.04026069-0.003042356-0.0026208750.016406857-0.0052418520.006107442-0.051622937-0.009992668-0.007381692-0.0219668520.01191555-0.007381692-0.0219668520.012901919-0.0024714870.060333511函数极值0.0141168710.0026933620.036639153从上面的结果比较可以看出,粒子群规模不是越大越好,关键是各个参数之间的搭配,才能求得比较好的结果。2.5带压缩因子的粒子群算法2.5.1.算法原理学习因子和决定了粒子本身经验信息和其他粒子的经验信息对粒子运行轨迹的影响,反映了粒子群之间的信息文流。设置较大的值,会使粒子过多地在局部范围内徘徊,而较大的值,则又会促使粒子过早收敛到局部最小值。为了有效地控制粒子的飞行速度使算法达到全局探测与局部开采两者间的有效平衡,Clerc构造了引入收缩因子的PSO算法,其速度更新公式为:(2.5),(2.6)为保证算法的顺利求解。+必须大于4。典型的取法有:(1)==2.05。此时为4.1,收缩因子为0.729,这在形式上就等效于=0.729,==1.49445的基本PSO算法;(2)微粒规模=30,=2.8,=1.3,此时为4.1,收缩因子为0.729。2.5.2.算法步骤带压缩因子粒子群算法的基本步骤如下:(1)随机初始化种群中各微粒的位置和速度;(2)评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微拉的中,将所有中适应值最优个体的位置和适应值存储于中;(3)用下式更新粒子的速度和位移:(2.7)其中,(4)对每个微粒,将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;(5)比较当前所有和的值,更新;(6)若满足停止条件(通常为预设的运算精度或迭代次数),搜索停止,输出结果,否则返回(3)继续搜索。其流程图如下:图2-2带压缩因子的粒子群算法流程图2.5.3.算法举例带压缩因子的粒子群算法应用实例。求下面函数的最小值:求解时采用两种参数取法:粒子群数目取40,学习因子都取2.05,迭代步数取10000;粒子群数目取30,学习因子1取2.8,学习因子2取1.3,迭代步数取10000.解:首先建立目标函数文件fitness.m;输入下列内容:重新截图重新截图对于第一种参数取法,在MATLAB命令窗口中输入:[xm,fv]=YPSO(@fitness,40,2.05,2.05,10000,2)所得结果为:xm=1.0e-0.09*-0.8964106097073680.186053464733280fv=-2对于第二种参数取法,在MATLAB命令窗口中输入:[xm,fv]=YPSO(@fitness,40,2.8,1.3,10000,2)所得结果为:xm=1.0e-0.09*0.699769399755191-0.257954730854353fv=-2本题中函数的最小点为(,)=(0,0)最小值为-2.两种参数情况下求得的精度都比较高。2.6带惯性权重的粒子群算法探索是偏离原来的寻优轨迹去寻找一个更好的解,探索能力是一个算法的全局搜索能力。开发是利用一个好的解,继续原来的寻优轨迹去搜索更好的解,它是算法的局部搜索能力。如何确定局部搜索能力和全局搜索能力的比例,对一个问题的求解过程很重要。1998年,YuhuiShi提出了带有惯性权重的改进粒子群算法。其进化过程为:(2.8)(2.9)在式(2.8)中,第一部分表示粒子先前的速度,用于保证算法的全局收敛性能;第二部分、第三部分则是使算法具有局部收敛能力。可以看出,式((2.8)中惯性权重表示在多大程度上保留原来的速度。较大,全局收敛能力强,局部收敛能力弱;较小,局部收敛能力强,全局收敛能力弱。当=1时,式(2.8)与式(2.1)完全一样,表明带惯性权重的粒子群算法是基本粒子群算法的扩展。实验结果表明,在[0.8,1.2]之间时,PSO算法有更快的收敛速度,而当>1.2时,算法则易陷入局部极值。第三章PID控制理论PID控制是最早发展起来的控制策略之一,是指将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制。随着计算机的普及,数字PID控制在生产过程中已成为一种最常用的控制方法,在机电、冶金、机械、化工等诸多行业中获得了广泛的应用3.1PID控制原理图3-1给出PID控制系统的原理框图,该控制系统由模拟PID控制器和被控对象组成。图3-1PID控制系统原理框图PID控制是一种线性控制器,它根据给定值与实际输出值构成控制偏差:(3.1)PID的控制规律为:(3.2)或写成传递函数的形式:(3.3)其中,比例系数,为积分时间常数,为微分时间常数。PID控制器中的各个校正环节的作用如下:(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越强,反之则越弱;(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在误差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。3.2数字PID控制算法在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。3.2.1位置式PID控制算法由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(3.2)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID控制算法的算式(3.2),现以一系列的采样时刻点kT代表连续时间T,以和式代替积分,以增量代替微分,则可作如下近似变换:()(3.4)式中,T为采样周期。显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。为书写方便,将简化表示成等,即省去T。将式(3.4)带入式(3.2)可得离散的PID表达式为:(3.5)或(3.6)式中—采样序号,=0,1,2;—第次采样时刻的计算机输出值;—第次采样时刻输入的偏差值;—第采样时刻输入的偏差值;—积分系数,=;—微分系数,=。由变换的性质式(3.6)的z变换式为(3.7)由式(3.7)使可得到数字PID控制器的传递函数为(3.8)或者(3.9)数字PID控制器如图3-2图3-2数字PID的控制结构图由于计算机输出的直接去控制执行机构(如阀门),的值和执行机构的位置(如阀门开度)是一一对应的,所以通常式(3.5)或式(3.6)为位置式PID控制算法这种算法的缺点是,由于全量输出,所以每次输出均与过去的状态有关,计算时要对进行累加,计算机运算工作量大。而且,因为计算机输出的对应的是执行机构的实际位置,如计算机出现故障,的大幅度变化,会引起执行机构位置的大幅度变化。因而产生了增量式PID控制的控制算法。所谓增量式PID是指数字控制器的输出只是控制量的增量3.2.2增量式PID控制算法当执行机构是需要的是控制量的增量(例如驱动步进电动机)时,可由式(3.6)导出提供增量的PID控制算式。根据递推原理可得(3.10)用式(3.6)减式(3.10),可得(3.11)式中,式(3.11)称为增量式PID控制算法。可以看出,由于一般计算机控制系统采用恒定的采样周期,一旦确定了、、,只要使用前后3次测量值的偏差,即由式(3.11)求出控制增量。采用增量式算法时,计算机输出的控制增量对应的是本次执行机构位置(例如阀门开度)的增量。对应阀门实际位置的控制量,即控制量增量的积累需要采用一定的方法解决,例如有积累作用的元件(例如步进电机)来实现;而目前较多的是利用算式通过执行软件来完成。增量式控制虽然只是算法上做了一点改进,却带来不少优点:(1)由于计算机输出增量,所以失误动作时影响小,必要时可用逻辑判断的方法去掉。(2)手动/自动切换时冲击小,便于实现无扰动切换。此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能保持原值。(3)算式中不需要累加。控制增量的确定仅与最近次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。但增量式控制也有其不足之处:积分截断效应大,有静态误差;溢出的影响大。因此,在选择时不可一概而论,一般认为,在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法,而在步进电动机或电动阀门作为执行器的系统中则可采用增量式控制法。3.3PID控制特点PID控制器原理简单、鲁棒性好、可靠性高,因此一直是工业过程控制中应用最广的策略,尤其适用于可建立精确数学模型的确定性系统。但是实际工业生产过程往往具有非线性、时变不确定性等困难性,难以建立精确的数学模型,应用常规PID控制器不能达到理想的控制效果。此外,在实际生产的现场中,常规PID控制器往往会受到参数整定过程繁杂的困扰,出现整定不良、性能欠佳的情况,对运行工况的适应性也很差。3.4PID控制器参数整定的原理和方法3.4.1基于Ziegler-Nichols方法的PlD整定Ziegler-Nichols方法是基于稳定性分析的PID整定方法。该方法整定比例系数的思想是,首先置==0,然后增加直至系统开始振荡(即闭环系统极点在轴上,再将乘以0.6,即为整定后的比例系数。整定公式如下:=0.6,,(3.12)式中,为系统开始振荡时的值,为振荡频率。利用根轨迹法可以确定和。对于给定的被控对象传递函数,可以得到其根轨迹。对应穿越轴时的增益即为,而此点的值即为。3.4.2ISTE最优设定方法针对各种指标函数得出了最优PID参数整定的算法,考虑下面给出的最优指标同时:(3.13)式中—进入PID控制器的误差信号。根据设定点信号的最优自整定算法,对式(3.5)中给出的最优指标,着重考虑三种情况:,简记(intergralsquarederror)准则;,简记准则;,简记准则。若已知系统的数学模型已给出,则对典型PID结构可以建立经验公式,,(3.14)
对于不同的,可以得出参数表如表3-1所示。由表中给出的PID参数设置可以通过MATLAB来简单地实现。表3-1设定点PID控制器参数表范围0.1~11.1~2准则1.0481.0420.9681.1541.1421.061-0.897-0.897-0.904-0.567-0.579-0.5831.1950.9870.9771.0470.9190.892-0.368-0.238-0.253-0.220-0.172-0.1650.4890.3850.3160.4900.8430.3150.8880.9060.8920.7080.8390.8323.4.3临界灵敏度法当已知系统的临界比例增益和振荡周期时,也可以用经验整定公式来确定PID控制器的参数。例如:,,(3.15)特征参数和,一般有系统整定实验确定,喝着用频率特性分析算法根据受控过程直接算得,即由增益裕量来确定,由相位剪切频率确定。,(3.16)3.4.4基于增益优化的整定法本方法是从由PID调节器和受控对象组成的闭环系统(见图3.3)的频率特性出发,指定在大频率范围内使幅频特性等于1;根据测量得到的借阅响应瞬时值去计算PID控制器的参数值。图3-3控制系统原理图设PID的传递函数为(3.17)受控对象的传递函数为(3.18)式中—对象的静态比例系数,(3.19)(3.20)其中—受控对象的脉冲响应函数;—受控对象的单位阶跃响应函数;
—给定阶跃变化前、后被控量的稳态值;—给定阶跃变化前、后控制量的稳态值。由式(3.19)和式(3.20)可以看出,系数、可用响应的瞬时值和稳态值求得。按增益优化的含义,有(3.21)可以导出(3.22)式中计算PID参数的步骤:第一,在闭环系统下运行,给定作阶跃变化,存储被控量和控制量的采样数据和过度过程时间;第二,按式(3.19)和式(3.20)计算系数和;第三,按式(3.22)计算、和,使可得到增益优化整定法的参数值。3.4.5基于总和时间常数的整定法总和时间常数整定法是由德国学者UdoKuhn提出,适用于阶跃响应特性为S型的自衡对象。设受控对象的传递函数为
(3.23)定义总和时间常数为(3.24)在定义(3.25)得图3-4所示的S行阶跃响应特性。图3-4S型阶跃响应特性(3.26)式(3.26)说明,总和时间常数正比于图3-4中有斜线部分的面积。可以利用计算机求得单位阶跃响应特性的面积,再按式(3.26)计算得。也可采用其他方法求得,如采用拐点切线法、两点坐标法等。由此得到整定法的计算公式如表3-2所示表3-2Tz整定法计算公式表类型 参数值P--PI-PID第四章优化设计框架4.1优化设计简介优化设计就是一种对问题寻优的过程,人们所从事的任何工作都希望尽可能做好,以期得到一个理想的目标。在日常的设计过程中,常常需要根据产品设计的要求,合理地确定各种参数,以达到最佳的设计目标。实际上,在任何一项设计工作中都包含着寻优过程,但这种寻优在很大程度上带有经验性,多根据人们的直觉、经验及不断试验而实现的,由于受到经验、时间、环境等条件的限制,往往难以得到最佳的结果。优化设计是20世纪60年代发展起来的一门新的学科,它是最优化技术和计算机技术在设计领域应用的结果。优化设计为工程设计提供了一种重要的科学设计方法,在解决复杂设计问题时,它能从众多的设计方案中找到尽可能完善的设计方案。要实现问题的优化必须具备两个条件,一是存在一个优化目标;另一是具有多个方案可供选择。工程设计问题的最优化,可以表达为一组优选的设计参数,在满足一系列限制条件下,使设计指标达到最优。因而,优化设计的数学模型可由设计变量、目标函数和设计约束条件三部分组成。(1)设计变量:在工程设计中,为区别不同的设计方案,通常是以被称为设计变量的不同参数来表示。(2)目标函数:每一个设计问题,都有一个或多个设计中所追求的目标,它们可以用设计变量的函数来表示,被称为目标函。(3)设计约束:优化设计不仅要使所选择方案的设计指标达到最佳值,同时还必须满足一些附加的设计条件,这些附加设计条件都构成对设计变量取值的限制,在优化设计中被称为设计约束。工程设计中的优化方法有多种类型,有不同的分类方法。若按设计变量数值的不同,可将优化设计分为单变量(一维)优化和多变量优化;若按约束条件的不同,可分为无约束优化和有约束优化;若按目标函数数量的不同,又有单目标优化和多目标优化。4.2理论基础PID控制器应用广泛,其一般形式为(4.1)其中,是系统误差;、、分别是对系统误差新号及其积分与微分量的加权,控制器通过这样的加权就可以计算出控制信号,驱动受控对象。如果控制器设计合理,那么控制信号将能使误差朝减小的方向变化,达到控制的要求。可见,PID控制器的性能取决于、、这三个参数是否合理,因此,优化PID控制器参数具有重要意义。目前,PID控制器参数主要是人工调整,这种方法不仅费时,而且不能保证获得最佳的性能。PSO已经广泛应用于函数优化、神经网络训练、模式分类、模糊系统控制以及其他的应用领域,本文将使用PSO进行PID控制参数的优化设计。4.3目标函数的选取在参数最优化的问题中要涉及性能指标函数,性能指标函数是被寻参数的函数,称为目标函数。选择不同的目标函数的出发点是使它即能比较明确的反映系统的品质,又便于计算。当然选择不同的目标函数,即使对于同一系统,寻优最后得到的优化参数也是会有所不同的。目标函数的选择分为两大类:第一类是特征型目标函数,它是按照系统的输出响应的特征提出的。第二类是误差型目标函数,它是采用期望响应和实际响应之差的某个函数作为目标函数。这种目标函数实际上是对第一类目标函数的几个特征向量做数学分析,把它们包含在一个目标函数的表达式中。因此它反映整个系统的性能。几种常用的误差型目标函数:(1)误差平方的积分型。这种目标函数的表达式为(4.2)其中表示系统误差。一般要求越小越好,即要求控制系统的输出响应y尽可能的接近输入。由于在过度过程中时正时负,故取误差的平方进行积分。这种目标函数在数学上是很容易实现的,常常可以得到比较简单的解析式。但是在过度过程中,不同时期的误差是不完全相同的,如果全部用误差的平方再积分显然是不怎么合理的,不能很好的反映系统的最终品质指标的要求。(2)时间乘以平方误差型。这种目标函数的表达式为(4.3)由于在误差平方上乘以了,相当加上了时间权。这样过度过程的初始误差考虑比较少,而着重权衡过度过程中后期出现的误差。这种目标函数的选取不止一种方法可以更精确地反映系统的最终品质要求。(3)误差绝对值积分型。这种目标函数的表达式为或者为(4.4)其寻优方法显然要比其他两种方法优点突出。一方面加了绝对值,它克服了在过度过程中时正时负的缺点,另外加了时间,这样过度过程中后期出现的误差也基本上能消除。因此本文在选择目标函数的表达式取4.4问题描述PID控制器的系统结构图如图4-1所示。图4-1PID控制器系统结构图PID控制器的优化问题就是确定一组合适的参数、、,使得指标达到最优。常用的误差性能指标包括ISE、IAE、ITAE、ISTE等,这里选用ITAE指标,其定义为(4.5)选取的被控对象为以下不稳定系统:(4.6)在Simulink环境下建立的模型图如图4-2所示。图4-2Simulink环境下的PID控制系统模型4.5优化设计过程利用粒子群算法对PID控制器的参数进行优化设计,其过程如图4-34-2是干这个吗?所示4-2是干这个吗?图4-3PSO优化PID的过程示意图图4-3中,粒子群算法与Simulink模型之间连接的桥梁是粒子(即PID控制器参数)和该粒子对应的适应值(即控制系统的性能指标)。优化过程如下:PSO产生粒子群(可以是初始化粒子群,也可以是更新后的粒子群),将该粒子群中的粒子依次赋值给PID控制器的参数、、,人后运行控制系统的Simulink模型,得到改组参数对应的性能指标,该性能指标传递到PSO中作为该粒子的适应值,最后判断是否可以退出算法。4.6粒子群算法实现粒子群算法的基本原理在第二章中已经述及,进一步地,粒子在搜索空间中的速度和位置根据以下公式确定:(4.7)(4.8)其中,表示粒子的位置;表示粒子的速度;为惯性因子;、为加速常数;、为区间的随机数;是粒子迄今位置搜索到的最优位置,是整个粒子群迄今为止搜索到的最优位置。PSO的流程如下:(1)初始化粒子群,随机产生所有粒子的位置和所读,并确定粒子的和。(2)对每个粒子,将其适应值与该粒子所经历过的最优位置的适应值进行比较,如较好,则将其作为当前的。(3)对每个粒子,将其适应值与整个粒子群所经历过的最优位置的适应值进行比较,如较好,则将其作为当前的。(4)按式(4.4)和(4.5)更新粒子的速度和位置。(5)如果没有满足终止条件(通常为预设的最大迭代次数和适应值的下限值),则返回步骤(2),否则,推出算法,得到最优解。PSO的流程流程图如下:图4-4PSO流程图4.7Simulink部分的程序实现图4-3所示的PSO优化PID过程示意图,其右侧的simulink部分程序如下:图4-5Simulink部分程序图其中,x为PSO中传递过来的粒子,首先,调用函数assignin将x(1)、x(2)、x(3)的值赋值给Workspace中的、、,该语句实现了图4-3中从PSO部分到Simulink部分的参数传递;然后,调用函数sim对图4-2所示的模型进行仿真,其中,PID_Model为Simulink模型的文件名,[0,20]为仿真时间,返回的y_out即为输出端子1的值;最后,将性能指标ITAE赋值给z,以实现图4-3中从Simulink部分到PSO部分的参数传递。4.8PSO部分的程序实现设置PSO参数为:惯性因子=0.6,加速常熟==2,维数为3(有3个待优化参数),粒子群规模为100,待优化函数为图4-5中的函数PSO_PID,最大迭代次数为100,最小适应值为0.1,速度范围为[-1,1],3个待优化参数范围为[0,300]。代码见附录1。其中,和即终止条件;和分别为速度的上限和下限;和分别为第个待优化参数的上限和下限。粒子群的初始化采用与遗传算法相似的方法(用函数rand且保证粒子在上下限范围内),迭代过程采用进行大循环,速度更新和位置更新按照式(4.4)和(4.5)进行(且在迭代更新过程中,若超出了限值,则将其设为限制)。第五章优化设计结果5.1粒子群算法整定结果运行代码,得到优化过程如图5-1、5-2所示,前者为PID控制器的3个参数、、的变化曲线,后者为性能指标ITAE的变化曲线。图5-1PSO优化PID得到的、、的变化曲线图5-2PSO优化PID得到的性能指标ITAE变化曲线得到的最优控制器参数及性能指标为:=33.6469,=0.1662;=38.7990,=1.0580将以上参数代回图4-2所示模型,得到的单位阶跃响应曲线如图5-3所示:图5-3PSO优化PID得到的最优参数对应的单位阶跃响应曲线5.2结果分析由图5-2可知算法的优化过程中,性能指标ITAE不断减小,PSO不断寻找更优的参数,由图5-3可知,对于不稳定的被控对象,由PSO设计出的最优PID控制器使得、、的选择合理,很好的控制了被控对象。5.3P、I、D参数对系统性能影响的研究针对本文的研究对象,在仿真中分别改变不同的P、I、D值,观察其结果,并对其结果进行相关比较。具体步骤如下:(1)分别增大和减小,保持、不变,其结果如图5-4和5-5所示。(2)分别增大和减小以,保持、不变,其结果如图5-6和5-7所示。(3)分别增大和减小,保持、不变,其结果如图5-8和5-9所示。图5-4增大,保持、不变所得到的单位阶跃相应图5-5减小,保持、不变所得到的单位阶跃相应对比图5-3、5-4、5-5可知,增大会增大系统的超调量,但降低了峰值时间和调节时间;而减少则相对地降低了超调量,但增加了峰值时间和调节时间。图5-6增大,保持、不变所得到的单位阶跃相应图5-7减小,保持、不变所得到的单位阶跃相应对比图5-3、5-6、5-7可知,增大增加了系统了超调量;而减少则相对地降低了系统超调量。图5-8增大,保持、不变所得到的单位阶跃相应图5-9增大,保持、不变所得到的单位阶跃相应对比图5-3、5-8、5-9可知,增大会降低系统的超调量;减小会相对地增大系统超调量。第六章论文总结与展望本文主要研究了粒子群算法对控制系统的PID参数整定进行优化设计,通过设定一个粒子群规模为100,迭代次数为100的粒子群经过反复迭代、优化来计算、、三个参数,并采用粒子群算法用simulink的仿真工具对PID参数进行优化,得出系统的响应曲线。从中发现它的性能指标ITAE不断减小,PSO不断寻找更优的参数,得最终到最优的单位阶跃响应曲线。因此,采用粒子群算法的优越性是显而易见的。除此之外,本设计还研究了P、I、D各参数对系统的影响以叙述如下:(1)增大会增大系统的超调量,但降低了峰值时间和调节时间;而减少则相对地降低了超调量,但增加了峰值时间和调节时间。(2)增大增加了系统了超调量;而减少则相对地降低了系统超调量。(3)增大会降低系统的超调量;减小会相对地增大系统超调量。粒子群优化(PSO)是一种新兴的基于群体智能的启发式全局随机搜索算法,具有易理解、易实现、全局搜索能力强等特点,为各个领域的研究人员提供了一种有效的全局优化技术。由于PSO毕竟是一种新兴的智能优化算法,在以下方面仍然值得进一步研究:(1)理论研究:虽然目前对PSO稳定性和收敛性的证明已取得了一些初步成果,但自诞生以来其数学基础一直不完备,特别是收敛性一直没有得到彻底解决。因此,仍需要对PSO的收敛性等方面进行进一步的理论研究。(2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全培训讲稿课件
- 2024-2025学年度职称计算机考前冲刺练习试题及完整答案详解(典优)
- 应急安全主题培训校园课件
- 应急厅安全培训专家课件
- 2024年反射疗法师大赛理论测试卷AB卷附答案详解
- 老年人秋季腹泻治疗方案与风险控制
- 秋季腹泻与肠道微生态平衡关系及调节
- 软件著作权委托合同(标准版)
- 2024执业兽医模考模拟试题含答案详解【培优】
- 2025年生态修复工程中生物多样性保护与生物多样性保护项目规划研究报告
- 国家电投2023上半年ESG实践报告:绿色发展助力电力行业转型升级
- 中国华电战略发展研究中心招聘笔试题库2025
- 2025年新形势下新型储能发展趋势分析报告
- 遗体整容师测试考核试卷及答案
- 体育教育专业健美操理论考试试题及答案
- 小学道德与法治五年级上册《烟酒有危害》教学课件
- 2025年登革热防控试题(附答案)
- 霍乱培训课件下载
- 高中语文部编版必修上册第一单元检测
- 2025年软件开发工程师面试宝典及编程技能测试题目
- 2025-2026学年鲁科版(五四学制)(2024)初中生物六年级上册教学计划及进度表
评论
0/150
提交评论