基于遗传算法整定的PID控制毕业论文_第1页
基于遗传算法整定的PID控制毕业论文_第2页
基于遗传算法整定的PID控制毕业论文_第3页
基于遗传算法整定的PID控制毕业论文_第4页
基于遗传算法整定的PID控制毕业论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、课件之家精心整理资料-欢迎你的欣赏2010届毕业生毕业论文题 目: 基于遗传算法整定的PID控制 院系名称: 信息科学与工程学院 专业班级: 电子信息科学与技术学生姓名: 学 号: 指导教师: 教师职称: 讲师 2010年 6 月 2 日课件之家精心整理资料-欢迎你的欣赏摘 要PID控制器是在工业过程控制中常见的一种控制器,因此,PID参数整定与优化一直是自动控制领域研究的重要问题。遗传算法是一种具有极高鲁棒性的全局优化方法,在自控领域得到广泛的应用。针对传统PID参数整定的困难性,本文提出了把遗传算法运用于PID参数整定中。本文首先对PID控制的原理和PID参数整定的方法做了简要的介绍。其次

2、介绍了遗传算法的原理、特点和应用。再次,本文结合实例阐述了基于遗传算法的PID参数优化方法,采用误差绝对值时间积分性能指标作为参数选择的最小目标函数,利用遗传算法的全局搜索能力,使得在无须先验知识的情况下实现对全局最优解的寻优,以降低PID参数整定的难度,达到总体上提高系统的控制精度和鲁棒性的目的。最后,本文针对遗传算法收敛速度慢、易早熟等缺点,将传统的赌盘选择法与最优保存策略结合起来,并采用改进的自适应交叉算子和自适应变异算子对PID参数进行迭代寻优整定。采用MATLAB对上述算法进行仿真验证,仿真结果表明了遗传算法对PID参数整定的有效性。关键词:PID;参数控制;遗传算法;MATLABT

3、itle Tuning of PID Parameters Based on Genetic Algorithm AbstractPID controller is a kind of controller that is usual in industrial process control. Therefore, tuning and optimization of PID parameters are important researchable problems in the automatic control field, where Genetic algorithm is wid

4、ely used because of the highly robust global optimization ability of it. Aiming at the difficulty of traditional tuning of PID parameter, this paper puts forward a method that genetic algorithm is applied to the tuning of PID parameters.Firstly, the principle of PID control and the methods of tuning

5、 of PID parameters are introduced briefly. Secondly, this paper introduces the principle, characteristics and application of genetic algorithm. Thirdly, this article expounds on the methods of tuning of PID parameters based on genetic algorithm with an example. In this paper, the performance index o

6、f time integral of absolute error serves as the minimum objective function in the tuning of PID parameters, and the global search ability of genetic algorithm is used, so the global optimal solution is obtained without prior knowledge, and the difficulty of tuning of PID parameter is reduced, so the

7、 goal is achieved which is improving the control accuracy and robustness of the system overall. Finally, aiming at the weakness of genetic algorithm, such as the slow convergence of prematurity and precocious, the traditional gambling site selection method and elitist model are united in this paper,

8、 and the paper also adopted adaptive crossover operator and adaptive mutation operator to optimize PID parameters iteratively.Use MATLAB to simulate these algorithms, and the simulation results show that PID controller tuning based on genetic algorithm is effective.Keywords: Genetic algorithm; PID c

9、ontrol; optimum; MATLAB目 次1 引言11.1 PID控制的发展与现状11.2 遗传算法的发展与现状11.3 课题研究背景和意义31.4 本文主要工作32 PID控制52.1 PID控制原理52.2 PID参数整定73 遗传算法93.1 遗传算法基本原理93.1.1 遗传算法概要93.1.2 遗传算法的应用步骤103.2 遗传算法的实现113.2.1 编码方法113.2.2 适应度函数123.2.3 选择算子133.2.4 交叉算子143.2.5 变异算子153.2.6 遗传算法控制参数选取153.3 遗传算法的仿真验证164 基于遗传算法的PID参数优化194.1 总体

10、实现194.2 具体实现204.2.1 参数的确定及表示204.2.2 选取初始种群204.2.3 适应度函数的确定204.2.4 选择部分实现214.2.5 交叉部分实现214.2.6 变异部分实现224.3 编译及仿真234.3.1 编译环境选择234.3.2 仿真验证及结果分析245 基于改进遗传算法的PID参数优化255.1 遗传算法的改进255.1.1 选择算子的改进255.1.2 交叉与变异算子的改进255.2 仿真验证及结果分析26结 论27致 谢28参 考 文 献291 引言1.1 PID控制的发展与现状PID控制技术的发展可以分为两个阶段。20世纪30年代晚期微分技术的加入标

11、志着PID控制成为一种标准结构,也是PID控制两个发展阶段的分水岭。第一个阶段为发明阶段(1900-1940)。PID控制的思想逐渐明确,气动反馈放大器被发明,仪表工业的重心放在实际PID控制器的结构设计上。1940年以后是第二阶段,这一阶段为革新阶段。在革新阶段,PID控制器已经发展成一种鲁棒的、可靠的、易于应用的控制器。仪表工业的重心是使PID控制技术能跟上工业技术的最新发展。从气动控制到电气控制到电子控制再到数字控制,PID控制器的体积逐渐缩小,性能不断提高。一些处于世界领先地位的自动化仪表公司对PID控制器的早期发展做出重要贡献,甚至可以说PID控制器完全是在实际工业应用中被发明并逐步

12、完善起来的。值得指出的是,1939年Taylor仪器公司推出的一款带有所谓“Pre-act”功能的名为“Fulscope”的气动控制器以及同时期Foxboro仪器公司推出的带有所谓“Hyper-re-set”功能的“Stabilog”气动控制器都是最早出现的具有完整结构的PID控制器。PID控制至今仍是应用最广泛的一种控制器。各种现代控制技术的出现并没有削弱PID控制器的应用,相反,新技术的出现对于PID控制技术的发展起了很大的推动作用。一方面,各种新的控制思想不断被应用于PID控制器的设计之中或者是使用新的控制思想设计出具有PID结构的新控制器,PID控制技术被注入了新的活力。另一方面,某些

13、新控制技术的发展要求更精确的PID控制,从而刺激了PID控制器设计与参数整定技术的发展。国际上有一些研究文章陈述了当前工业控制的状况,如日本电子测量仪表制造协会在1989年对过程控制系统做的调查报告。该报告表明90以上的控制回路是PID结构。1.2 遗传算法的发展与现状遗传算法就是根据自然界这个“物竞天择,适者生存”现象而提出来的一种随机搜索算法。遗传算法起源于对生物系统所进行的计算机模拟研究。早在本世纪40 年代,就有学者开始研究如何利用计算机进行生物模拟的技术,他们从生物学的角度进行了生物的进化过程模拟、遗传过程模拟等研究工作。进入60 年代后,美国密执安大学的Holland 教授及其学生

14、们受到这种生物模拟技术的启发,创造出了一种基于生物遗传和进化机制的适合复杂系统优化计算的自适应概率优化技术遗传算法。1967年,Holland的学生J.D.Bagley在博士论文中首次提出“遗传算法(Genetic Algorithms)”一词。1971年,R.B.Hollstien在他的博士论文中首次把遗传算法用于函数优化。1975年Holland出版了自然系统和人工系统的自适应,这是第一本系统论述遗传算法的专著。同年,K.A.De Jong完成了他的博士论文一类遗传自适应系统的行为分析。进入八十年代,遗传算法迎来了兴盛发展时期。1985年,在美国召开了第一届遗传算法国际会议,成立了国际遗传

15、算法学会。1989年,Holland的学生D.E.Goldberg出版了专著 搜索、优化和机器学习中的遗传算法。同年,美国斯坦福大学的Koza提出了用层次化的计算机程序来表达问题的遗传程序设计方法。1991年,L.Davis编辑出版了遗传算法手册,其中包括了遗传算法在工程技术和社会生活中的大量应用实例。1992年,Koza发表了他的专著遗传程序设计:基于自然选择法则的计算机程序设计。1994年,他又出版了遗传程序设计(第二册):可重用程序的自动发现深化了遗传程序设计的研究,使程序设计自动化展现了新局面。目前,关于遗传算法研究的热潮仍在持续,越来越多的从事不同领域的研究人员已经或正在置身于有关遗

16、传算法的研究或应用之中。 近些年,无论是遗传算法的理论研究还是它的应用研究都成了十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传算法进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。此外一些新的理论和方法在应用研究中亦得到了迅速的发展,这些无疑均给遗传算法增添了新的活力。遗传算法的应用研究已从初期的组合优化求解扩展到了许多更新、更工程化的应用方面。目前,遗传算法被广泛应用于生产调度、图象处理、函数优化、机器人学习、自动控制等领域。1.3 课题研究背景和意义在生产过程自动控制的发展历程中,PID控制是历史最久、生命力最强的基本控制方式

17、。它简单实用,易于实现,适用范围广,鲁棒性好,在现今的工业过程中获得了广泛的应用。但PID参数优化一直是困扰人们的问题,尽管现在已经有许多方法用于PID参数整定,因为这些方法或多或少都存在着问题,令PID控制系统达不到理想的控制效果。然而,自然界中的生物却在这方面表现出了其优异的能力,它们能够以优胜劣汰、适者生存的自然进化规则生存和繁衍,并逐步产生出对其生存环境适应性很高的优良物种。遗传算法正是借鉴生物的自然选择和遗传进化机制而开发出的一种全局优化自适应概率搜索方法。遗传算法使用群体搜索技术,它通过对当前群体施加选择、交叉、变异等一系列遗传操作,从而产生出新一代的群体,并逐步使群体进化到包含或

18、接近最优解的状态。它具有思想简单、易于实现、应用效果明显等优点,在自适应控制、组合优化等许多领域得到了广泛的应用。遗传算法给我们呈现出的是一种通用的算法框架,该框架不依赖于问题的种类。采用遗传算法进行PID三个参数的整定,具有许多优点:1)遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体。此操作使得遗传算法可直接对结构对象进行操作。2)遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展。3)遗传算法是从许多点开始并行操作,在解空间进行

19、高效启发式搜索,克服了从单点出发的弊端及搜索的盲目性,从而使寻优速度更快,避免了过早陷入局部最优解。4)遗传算法不仅适用于单目标寻优,而且也适用于多目标寻优。1.4 本文主要工作本文从对PID控制系统设计出发,根据PID控制原理,设计相应的遗传算法,以实现对PID参数的优化。本文共分五章,各章的主要内容如下:第一章简述了PID控制和遗传算法的发展及现状以及本课题研究的背景和意义。第二章介绍了PID控制的分类:模拟PID控制和数字PID控制,并对它们各自的原理做了简单介绍。第三章对遗传算法的原理、应用步骤及遗传算法的实现做了论述,并对遗传算法进行了仿真验证。第四章介绍了用遗传算法对PID控制进行

20、参数整定的原理和步骤,并用MATLAB软件进行了仿真验证。第五章针对遗传算法存在的缺点,对遗传算法进行了改进,并用MATLAB软件进行了仿真验证,比较、分析了遗传算法改进前后的仿真结果。课件之家精心整理资料-欢迎你的欣赏2 PID控制2.1 PID控制原理将偏差的比例(P-Proportional)、积分(I-Integral)、微分(D-Derivative)通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。PID控制又分为模拟PID控制和数字PID控制。1)模拟PID控制原理模拟PID控制系统原理框图如图2.1所示。积分比例微分被控对象图2.1 模拟PID控制系统原理框图PID

21、控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差: (2-1)PID的控制规律为: (2-2)或写成传递函数的形式:) (2-3)式中,比例系数,积分时间常数,微分时间常数。PID控制器各校正环节的作用如下:比例环节比例环节能及时成比例地反映控制系统地偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。比例系数增大,可以加快系统响应速度,减小系数稳态误差,提高控制精度。但是过大会产生较大超调,甚至导致不稳定;若取得过小,能使系统减少超调量,但会降低系统的调节精度,使过渡过程时间延长。积分环节积分调节可提高系统的抗干扰能力,主要用于消除静差,提高系统的无静差度

22、,适用于有自平衡性的系统。但它存在滞后现象,使系统的响应速度变慢,超调量变大,并可能产生振荡。积分作用的强弱取决于积分时间常数,越大,积分作用越小,反之则越强。加大积分系数有利于减小系统静差,但过强的积分作用会使超调加剧,甚至引起振荡;减小积分系数;虽然有利于系统稳定,避免振荡,减小超调量,但又对系统消除静差不利。微分环节微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间,从而改善了系统的动态特性。缺点是抗干扰能力差。的值对响应过程影响非常大。若增加微分作用,有利于加快系统响应,使超调量减小,增加

23、稳定性,但也会带来扰动敏感,抑制外干扰能力减弱,若过大则会使响应过程过分提前制动从而延长调节时间;反之,若过小,调节过程的减速就会滞后,超调量增加,系统响应变慢,稳定性变差。2)数字PID控制在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。位置式PID控制算法。按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代积分,即 (2-4) 可得离散PID表达式: (2-5)式中,,,T为采样周期,k为采样序号,k=1,2,,e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。在仿真过程

24、中,可根据实际情况,对控制器的输出进行限幅:-10,+10。由于位置式PID算法计算时要对误差进行累加,所以运算工作量大,而且如果执行器(计算机)出现故障,则会引起执行机构位置的大幅度变化。增量式PID控制算法。当执行机构需要的是控制量的增量的时,应采用增量式PID控制。根据递推原理可得: (2-6)则,由式(2-5)减去式(2-6)得增量式PID控制算法: (2-7)增量式算法的优点是便于实现无扰动切换。当计算机出现故障时,可以保持原值,易得到比较好的控制效果。但是由于其积分截断效应大,有静态误差,溢出影响大。2.2 PID参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控

25、过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器传统的参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,常用的有经验试凑法和Ziegler-Nichols法。1) 经验试凑法人们在长期的实践和经验中发现,各种被控对象对其PID参数都有一定的范围,通过模拟、运行并观察被控系统的相应曲线,根据

26、各参数对系统响应的大致影响反复试凑参数,以达到满意的控制效果,从而确定PID调节器参数。2) Ziegler-Nichols法设计时先设置和为零,控制规律为纯比例控制,改变比例常数,通过运行和观察系统对阶跃输入的响应,当系统达到临界振荡状态,此时的临界比例常数记为,临界周期为,参数按下式计算:,, (2-8)式中为振荡频率。工程整定法方法简单,易于掌握,虽然它们是一种近似的经验方法,但相当实用。经过工程实践检验,这种设计方法能够给予控制系统提供较好的工作性能,但控制器参数的整定没有考虑系统的任何特性要求,只能提供给系统一个稳定的状态,一个大致的工作空间。所以只能是一种比较粗糙的参数设置或初步估

27、计,无法使系统运行最佳。PID参数是一个典型的多参量组合优化问题,为了获得较好的PID控制参数,采用试凑法是解决这一问题的最佳途径,但计算量太大,几乎没有实际意义。由此,我们引入遗传算法来进行参数搜索。3 遗传算法3.1 遗传算法基本原理遗传算法就是这种生物行为的计算机模拟中令人瞩目的重要成果。基于对生物遗传和进化过程的计算机模拟,遗传算法使得各种人工系统具有优良的自适应能力和优化能力。遗传算法所借鉴的生物学基础就是生物的遗传和进化。3.1.1 遗传算法概要对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下述数学规划模型: (3-1) (3-2) (3-3)式中,X=,为决

28、策变量,f(X)为目标函数,式(3-2)、式(3-3)为约束条件,U是基本空间,R是U的一个子集。满足约束条件的解X称为可行解,集合R表示由所满足约束条件的解所组成的一个集合,叫做可行解集合。遗传算法中,将n维决策变量X用n个记号(i=1,2,n)所组成的符号串X表示:X= X=,把看做一个基因,它的所有可能取值称为等位基因,这样,X就可看做是由n个遗传基因所组成的一个染色体。最简单的等位基因是由0和1这两个整数组成的,相应的染色体就可以表示为一个二进制符号串。这种编码所形成的排列形式X是个体的基因型,与它对应的X值是个体的表现型。染色体X也称为个体X,对于每一个个体X,要按照一定的规则确定出

29、其适应度。遗传算法中,决策变量X组成了问题的解空间。对问题最优解的搜索是通过对染色体X的搜索过程来进行的,从而由所有的染色体X就组成了问题的搜索空间。遗传算法中最优解的搜索过程模仿生物的进化过程,使用遗传算子(选择算子、交叉算子、变异算子)作用于群体中,进行遗传操作,从而的到新一代群体。遗传算法的运算过程示意图如下图3.1所示:群体P(t)选择运算交叉运算变异运算群体P(t+1)解码解集合个体评价图3.1 遗传算法的运算过程示意由上图可以看出,使用上述三种遗传算子(选择算子、交叉算子、变异算子)的遗传算法的主要运算过程如下所述;步骤一:初始化。设置进化代数计数器t=0;置最大进化代数T;随机生

30、成M个个体作为初始群体P(0)。步骤二:个体评价。计算群体P(t)中各个个体的适应度。步骤三:选择运算。将选择算子作用于群体。步骤四:交叉运算。将交叉算子作用于群体。步骤五:变异运算。将变异算子作用于群体。群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。步骤六:终止条件判断。若tT,则:t=t+1,转到步骤二;若t>T,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。3.1.2 遗传算法的应用步骤遗传算法的应用步骤:第一步:确定决策变量及其各种约束条件,即确定出个体的表现型X和问题的解空间。第二步:建立优化模型,即确定出目标函数的类型及其数学描述形

31、式或量化方法。第三步:确定表示可行解的染色体编码方法,也即确定出个体的基因型X及遗传算法的搜索空间。第四步:确定解码方法,即确定出由个体基因型X到个体表现性X的对应关系或转换方法。第五步:确定个体适应度的量化评价方法,即确定出由目标函数值到个体适应度的转换规则。第六步:设计遗传算子,即确定出选择运算、交叉运算、变异运算等遗传算子的具体操作方法。第七步:确定遗传算法的有关运行参数,即确定出遗传算法的群体大小、终止代数、交叉概率、变异概率等参数。3.2 遗传算法的实现3.2.1 编码方法在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为

32、编码。在编码策略上至今仍然存在执有争议的两派:一派根据Holland的模式定理建议采用尽量少的符号编码,遵循最小字符集编码规则。另一派以数值优化计算的方便和精度为准采用一个基因一个参数的方法,并把相应的基因操作改造成适合实数操作的形式。遗传算法有许多种不同的编码方法,主要有二进制编码方法、十进制编码方法、符号编码方法等。按照十进制数的类型,十进制编码又可以分为自然数编码、整数编码、实数编码(浮点数编码)和复数编码等四种编码策略。1)二进制编码方法 二进制编码方法有下述一些优点:编码、解码操作简单易行;交叉、变异等遗传操作便于实现;符合最小字符集编码原则;便于利用模式定理对算法进行理论分析等。但

33、在应用中发现二进制编码方法存在一些不足:局部搜索能力不强;求解一些多维、高精度要求的连续函数优化问题时容易产生误差或算法无法收敛;不便于反映所求问题的结构特征,一些经典的算子技巧无法应用等。2)符号编码方法符号编码方法是指个体染色体编码串中的基因值取自一个无数值含义、而只有代码含义的符号集。符号编码方法主要解决线路选择、装箱问题和背包问题等。符号编码的主要优点是:符合有意义木块编码原则;便于在遗传算法中利用所求解问题的专门知识;便于遗传算法与相关近似算法之间的混合使用。但对于使用符号编码方法的遗传算法,一般需要认真设计交叉、变异等遗传运算的操作方法,以满足问题的各种约束要求,这样才能提高算法的

34、搜索性能。3)浮点数编码方法浮点数编码方法是指个体的每个基因值用相应变量的取值范围内的一个浮点数表示,个体的编码长度等于其决策变量的个数。因为这种编码使用的是决策变量的真值,所以浮点数编码又称真值编码。浮点数编码方法有下面几个优点:适合于在遗传算法中表示范围较大的数;适合于精度要求较高的遗传算法;便于较大空间的遗传搜索;改善了遗传算法的计算复杂性,提高了运算效率;有利于遗传算法与经典优化方法的混合使用;便于设计针对问题的专门知识的知识型遗传算子;便于处理复杂的决策变量约束条件。3.2.2 适应度函数适应度用来评价群体中各个个体在优化计算中,有可能达到或接近于全局最优解的优良程度。适应度较高的个

35、体遗传到下一代的概率较大,而适应度较低的个体遗传到下一代的概率就相对小一些,这种表示个体适应度的函数称为适应度函数。遗传算法中度量适应性的方法主要有两种:1)用目标函数的形式给出(原始适应函数)原始适应函数是问题求解目标的直接表示,通常采用问题的目标函数作为个体的适应性度量。如在求解极值问题minf(x)时,f(x)即为x的原始适应函数。2)用目标函数变换的方式来定义(标准适应度函数)标准适应函数将原始适应函数作一个适当的变换以转化成标准的度量方式,即都转化为极大化情形,并保证适应值非负。这常常是演化计算中的某些选择策略(如基于适应值比例的选择策略)所需要的。3.2.3 选择算子选择的本质是染

36、色体的复制,它是生物能够保持性状而达到物种稳定的最主要原因。在遗传算法中,选择的作用就像一个筛子,它根据个体对于目标函数的适应情况,将高适应值的个体选中,使其基因得以遗传复制到下一代,而低适应值的个体染色体则被淘汰。因此选择的本质是筛选,而功能则是定向进化。经过选择算子多次的定向积累,种群中的个体就会迅速向使目标函数值高的区域靠拢,形成高质量解种群。选择算子的形式有很多种,不同的选择算子有不同的性质和适应范围。选择算子主要有比例选择算子、最有保存策略、排序选择等方式。1)比例选择它是最常用和最基本的选择算子。比例选择算子的操作方法的基本思想是:各个个体被选中的概率与其适应度大小成正比。其缺点是

37、由于比例选择算子是随机操作,所以选择误差比较大,适应度较高的个体也可能选择不上。2)最优保存策略最优保存策略是当前群体中适应度最高的个体不参与交叉运算和变异运算,而是用它来替换掉本代群体中经过交叉、变异等遗传操作后所产生的适应度最低的个体。其缺点是全局搜索能力不强,容易陷入局部极值中。3)排序选择方法排序选择方法的主要着眼点是个体适应度之间的大小关系,对个体适应度是否取正值或负值,以及个体适应度之间的数值差异程度并无特别要求。排序选择方法的主要思想是:对群体中的所有个体按其适应度大小进行排序,基于这个排序来分配各个个体被选中的概率。3.2.4 交叉算子所谓交叉运算,是指对两个相互配对的染色构按

38、某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法时起着关键作用,是产生新个体的主要方法。最常用的交叉算子是单点交叉算子。但单点交叉操作有一定的适用范围,故人们发展了其他一些交叉算子,如双点交叉、多点交叉、均匀交叉等。1)单点交叉算子它是最简单也是最常用的一个交叉算子。这种交叉方式首先等概率地随机产生一个交叉位,把参与交叉的两个个体的基因从交叉位上切断,接以对方个体的后半部分基因,从而产生了两个新的个体和基因组合。2)双点交叉与多点交叉双点交叉是指在个体编码串中随机设置了两个交叉点,然后再进行部分基因交换。多点交叉是指在个体编码串中随

39、机设置了多个交叉点,然后进行基因交换。但一般不太使用多点交叉算子,因为它有可能破坏一些好的模式。3)均匀交叉均匀交叉是指两个配对个体的每一个基因座上的基因都以相同的交叉概率进行交换,从而形成两个新的个体。3.2.5 变异算子变异算子,变异运算是指将个体染色体编码串中的某些基因座上的基因值用该基因座上的其他等位基因来替换,从而形成一个新的个体。使用变异算子有两个目的:改善遗传算法的局部搜索能力,维持群体的多样性,防止出现早熟现象。变异算子主要有:基本位变异算子,逆转算子,均匀变异等。1)基本位变异基本位变异操作是指对个体编码串中以变异概率随机指定的某一位或某几位基因座上的基因值作变异运算。基本位

40、变异操作改变的只是个体编码串中的个别几个基因座上的基因值,并且变异发生的概率也比较小,所以其发挥的作用比较慢,作用的效果也不明显。2)逆转算子逆转算子是通过颠倒个体编码串中随机指定的二个基因座之间的基因排列顺序,来实现变异操作,其目的主要是为了能使遗传算法更有利于生产较好的模式。3)均匀变异均匀变异算子又叫一致变异算子,是指分别用符合某一范围内均匀分布的随机数,以某一较小的概率来替换个体编码串中各个基因座上的原有基因值。3.2.6 遗传算法控制参数选取在设计遗传算法时,一方面需要针对具体问题选择适当的编码方案及相应的遗传算子;另一方面需要选择算法的控制参数。参数的不同选取常常会对算法的性能产生

41、较大的影响。遗传算法中需要选择的运行参数主要有编码串长度L、群体大小M、交叉概率、变异概率、终止代数T等。1) 编码串长度L使用二进制编码编来表示个体时,编码除长度L的选取与问题所要求的精度有关;使用浮点数编码来表示个体时,编码长度L与决策变量个数相等。2)群体大小M群体大小M表示群体中所含个体的数量。当M取值较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,有可能会引起遗传算法的早熟现象;而当M取值较大时,又会使得遗传算法的运行效率降低。一般建议的取值范围是20100。3)交叉概率交叉操作是遗传算法中产生新个体的主要方法,所以交叉概率一般应取较大值。但若取值过大,它又会破坏群体中的优

42、良模式,对进化运算反而产生不利影响;若取值过小,产生新个体的速度又较慢。已经发现较高的交叉概率,会使种群迅速收敛到局部最优值,这不利于全局寻优。一般建议的取值范围是0.30.99。4)变异概率变异概率取值较大,虽然能够产生出较多的新个体,但也有可能破坏掉很多较好的模式,使得遗传算法的性能近似于随机搜索算法的性能;若变异概率取值太小,则变异操作产生新个体的能力和抑制早熟现象的能力就会较差。一般建议的取值范围是0.00010.1。5)终止代数T终止代数T是表示遗传算法运行结束条件的一个参数,它表示遗传算法运行到指定的进化代数之后就停止运行,并将当前群体中的最佳个体作为所求问题的最优解输出。算法参数

43、是影响算法性能和效率的关键,如何确定最优参数使算法性能最佳,本身就是一个复杂的优化问题。3.3 遗传算法的仿真验证利用遗传算法求Rosenbrock函数的极大值: f () =100(-+ (1- -2.0482.048 (i=1, 2)该函数有两个局部极大点,分别是f(2.048,-2.048)=3897.7342和f(-2.048,-2.048)=3905.9262,其中后者为全局最大点。求解该问题遗传算法的构造过程:1)确定决策变量和约束条件。2)建立优化模型。3)确定编码方法。用长度为10位的二进制编码串来分别表示二个决策变量、。10位二进制编码串可以表示从0到1023之间的1024个

44、不同的数,故将、的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-2.048到离散点2.048,依次让它们分别对应于从0000000000(0)到1111111111(1024)之间的二进制编码。再将分别表示、的两个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,就构成了这个函数优化问题的染色体编码方法。使用这种编码方法,解空间和遗传算法的搜索空间就具有一一对应的关系。例如:X:0000110111 1101110001就表示一个个体的基因型,其中前10位表示,后10位表示。4)确定编码方法。解码时需要将20位长的二进制编码串切断为两

45、个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别标记为和。依据个体编码方法和对定义域的离散化方法可知,将代码转换为变量的解码公式为:=4.096-2.048 (i=1, 2) (3-4)例如:对个体X:0000110111 1101110001,它由两个代码组成:=55,=881上述两个代码经过解码后,可得到两个实际的值:=-1.828,=1.4765)确定个体评价方法。由于Rosenbrock函数的值域总是非负的,并且优化目标是求函数的最大值,故可将个体的适应度直接取为对应的目标函数值,即: (3-5)选取个体适应度的倒数作为目标函数: (3-6)6)设计遗传算子:选

46、择运算使用比例选择算子,交叉运算使用单点交叉算子,变异运算使用基本位变异算子。7)确定遗传算法的运行参数:群体大小M=80,终止进化代数T=100,交叉概率=0.6,变异概率=0.1。按照上述步骤求Rosenbrock函数的极大值的MATLAB程序参见附录A。经过100步迭代,最佳样本为:BestS=00000000000000000000,所以当=-2.0480,=-2.0480时,此函数取得极大值,为3905.9。仿真结果:目标函数J和适应度函数F的优化过程如图3.2,3.3所示。运行结果显示在第一代的时候BestJ=2.9924,Bestfi=3.3418;第二代的时候BestJ就达到最

47、小值2.5602,此时,Bestfi=3.9059。由此可见,遗传算法对函数的优化与随机选取的初始群体无关,而是以目标函数值作为搜索信息,收敛速度快。图3.2 目标函数J的优化过程 图3.3 适应度函数F的优化过程4 基于遗传算法的PID参数优化4.1 总体实现根据第二、第三章所述的PID控制原理、遗传算法的原理及应用步骤,本模型采用数字PID控制的位置式PID控制算法;遗传算法的部分采用常用的二进制编码方法进行编码,采用最常用和最基本的三种遗传算子比例选择算子、单点交叉算子和基本位变异算子进行遗传优化操作。由此,设计出本模型的总体设计框图,如图4.1所示。开始参数的确定及表示选取初始种群适应

48、度函数的确定比例选择算子单点交叉算子基本位变异算子满足终止条件 N Y输出最优解 结束图4.1 基于遗传算法整定的PID控制总体实现框图4.2 具体实现4.2.1 参数的确定及表示参数的取值范围为0,20,的取值范围为0,1。选取二进制串来表示每一个参数,编码串长度选为10。再把3个长度为10的二进制串连接起来就组成一个长度为30的二进制字串,该字串为遗传算法可以操作的对象。4.2.2 选取初始种群本课题遗传算法中使用的样本个数为30,终止进化代数为100,交叉概率和变异概率分别为:=0.6,=0.001。种群初始化是产生与群体大小数目相同的个数的染色体;在程序中一维数组构成一个染色体,数组构

49、成一个初始种群。因为需要编程来实现各过程,所以采用计算机随机产生初始种群。用rand函数来产生M行3L列的一个矩阵,再用round函数对矩阵中的每一个数取整,即先产生01之间均匀分布的随机数,然后规定产生的随机数00.5之间代表0,0.51之间代表1。4.2.3 适应度函数的确定根据PID控制器的原理和遗传算法的实现,本模型采用二进制编码,采用误差绝对值时间积分性能指标作为参数选择的最小目标函数。为了防止控制能量过大,在目标函数中加入控制输入的平方项。选用下式作为参数选取的最优指标: (4-1)式中,e(t)为系统误差,u(t)为控制器输出,为上升时间,为权值。为了避免超调,if ey(t)&

50、lt;0 (4-2)式中,为权值,且>>,ey(t)=y(t)-y(t-1),y(t)为被控对象输出。取=0.999, =0.001, =2.0, =100。所以,个体的适应度函数为: (4-3)4.2.4 选择部分实现根据目标函数求出每个个体的相对适应度,利用sort函数和rot函数对每个个体的相对适应度降序排列,然后计算每个个体的累积概率,第n个累积概率等于第(n-1)个累积概率与第n个个体的相对适应度的和,其中。再利用rand函数产生一个01的随机数。当这个随机数大于第(n-1)个累积概率且小于第n个累积概率,则第n个相对适应度对应的个体被选中。选择算子流程如图4.2所示。开

51、始根据目标函数求出每个个体的相对适应度把个体的相对适应度进行降序排列记录最好的染色体计算累积概率根据累积概率选取种群结束图4.2 选择算子流程4.2.5 交叉部分实现交叉概率控制着交叉算子的使用频率,这个概率说明每个染色体中有期望值(1-)·3L个基因座进行交叉操作。第(1-)·3L个基因座为交叉点。为确定交叉操作的父代,从i=1:2:M-1重复以下过程:利用rand函数产生一个01的随机数,如果这个随机数小于,则交换第i个和第(i+1)个 染色体交叉点之后的染色体;但如果这个随机数大于或等于,则不进行交叉操作。选择出来的染色体进行随机配对,若出现奇数个则舍弃一个染色体。由

52、于选择的随机性,可能出现交叉的染色体为0和1的情况,为了防止这类情况出现,利用ceil函数,ceil(n),则n朝正无穷方向舍入。交叉算子流程如图4.3所示。开始依据交叉概率设定交叉点产生一个随机数随机数是否大于交叉概率NY 交换交叉点之后的部分染色体结束图4.3 交叉算子流程4.2.6 变异部分实现变异概率控制着变异算子的使用频率,这个概率说明每个染色体中的每一个基因座为变异点的概率为,变异概率的选取以及表达式选择的过程类似交叉操作,从到M重复以下过程:利用rand函数产生一个01的随机数,如果这个随机数小于,则该基因值变异,即原来的基因值为1,变异为0;原来的基因值为0,变异为1。如果这个

53、随机数大于或等于,则不进行变异操作。变异算子流程如图4.4所示。4.3 编译及仿真4.3.1 编译环境选择MATLAB本身提供的大量辅助函数对于处理函数优化问题十分有用,而且相当全面,简便易用。MATLAB的数字计算功能很强,另外,MATLAB 开放可扩展的体系结构允许用户开发自己的程序。开始依次设定每一基因座为变异点产生一个随机数随机数是否大于变异概率 N Y改变基因值结束图4.4 变异算子流程4.3.2 仿真验证及结果分析被控对象为二阶传递函数:,采样时间t=1ms,输入指令为阶跃信号。MATLAB源程序如附录B所示。仿真得目标函数J的优化过程如图4.5所示;遗传算法优化的PID阶跃响应如图4.6所示。由运行结果可知,目标函数J在第59代时达到它的最小值;遗传算法优化的PID阶跃响应在0.08秒之后达到了它的稳态输出值。图4.5 目标函数J的优化过程 图4.6 遗传算法优化的PID阶跃响应5 基于改进遗传算法的PID参数优化5.1 遗传算法的改进遗传算法的主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息,而是以目标函数值作为搜索信息。上述遗传算法在搜索过程中有时会收敛于局部解,称之为早期收敛或早熟现象。它使遗传算法搜索不到真正的最优值。这时种群中的所有染色体都相等,以至于基因交换只能产生和父代相同

温馨提示

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

评论

0/150

提交评论