基于遗传算法的PID控制器设计及其MATLAB仿真

 基于遗传算法的PID控制器设计及其MATLAB仿真 目 录 第一章 绪论  1.1 关于控制系统简述1.2 PID控制系统简介1.3 遗传算法及PID控制器的遗传算法应用1.4 应用遗传算法的PID控制器的研究现状及本论文的主要工作 第二章 综述PID控制器 2.1 PID控制器简介2.2 PID控制原理2.3 PID控制器的优劣归纳2.4本章小结 第三章 遗传算法 3.1遗传算法简介3.2遗传算法的基本理论3.3遗传算法的基本操作3.4 本章小结 第四章 基于遗传算法的PID控制器参数优化 4.1 PID参数优化方法4.2基于遗传算法的PID参数整定优点4.3基于遗传算法的PID参数整定的实现4.4本章小结  第五章 基于遗传算法PID控制器MATLAB仿真 5.1 基于遗传算法的MATLAB仿真5.2基于各种优化算法PID控制器MATLAB仿真5.3本章小结 全文结论 参考文献      第一章 绪论 1.1  关于控制系统简述自从人类有了生产活动以来,控制系统就是本能的操作内容之一。譬如,原始社会,人们通过钻木取火获得相对美满的熟食。但是,当人的手或者其他肢体接触火时,就会本能的缩回来,防止被火灼伤。应当说,这是生产活动最早的控制系统雏形。可以肯定的说,只要有生产活动,就要有对生产行为的控制,不然的话,生产活动就无法正常维持。至于到工业生产活动,控制系统更是举足轻重的内容之一。再举个简单的例子,大物理学家牛顿曾经一世辉煌,但最终为什么颓废、皈依了神教虚拟的殿堂?用他自己的话说,是世间有一双“无形的手”,控制着你无法实现自己最终的梦想。但实际情况是:牛顿晚年醉心于研究“永动机”,幻想着自然界能够运用自身的能量,制作出一种可用永远不停歇的机械,创造出无尽的能量,为人类造福。但是,牛顿的错误可能被解释为多种,其中一种是不能回避的,就是巨人忽略了思想中控制系统的作用。无论是社会科学还是自然科学,都离不开控制系统的作用。当然,这种理论在宏观上可能属于哲学研究的范畴,但在实际生活中,是一种再也不能普通的普遍现象了。大约250年前,英国接连发生了一次、二次工业革命运动。在以珍妮纺织机、瓦特蒸汽机、交流电为代表的工业进步迅猛发展中,控制系统必然也受到了更加普遍的重视。简单说,工业革命的内容是科技进步,科技进步的重要标志,就是用科学办法维护工业革命的成功和成果。比方说火车是追求速度的,但如果不才有系统控制的方法、对火车速度的极限进行控制,那火车速度在成为“飞机”之前就会散架,从而造成重大的事故。因此,伴随着工业革命的进步,工业控制系统经过科技人员的归纳与研究,也逐渐形成了理论学科,最终成为与工业生产息息相关的有机系统。这种理论与系统尽管方法不一且形式多样、运用领域也有所不同,但根本就是两个字“控制”,其实也就是中国古人所阐述“没有规矩不成其方圆”的道理。1.2  PID控制系统简介运用于工业的控制系统可以说是历史源远流长,形式多种多样,但本质和目的都是一个:对工业生产过程进行良性的自动控制。因此,工业控制系统也常常被称为“自动控制系统”。一般说来,按控制手段不同,自动控制系统归类为开环控制系统和闭环控制系统两种。“开环控制系统”的原理,是在生产前输入控制的内容,属于一种先前性的预控方法。典型的事例是电机在使用前,就设定为恒定不变的电压,整个生产过程都在稳定的电压供应下工作。而“闭环控制系统”的原理,是在生产过程中,根据程序输出的异常现象,对输入参数进行自动的调节,因而也被称之为“反馈式”自动控制系统。同样以电机为例,如果在生产中出现异常、或者是需要,控制系统就会通过变压、变频等方法,来自动调节电机运行状况。此外,还有恒值控制系统、随动控制系统、程序控制系统等多种控制方式,分别运用于与其相适应的应用领域。特别是上世纪后期,随着计算机和网络技术的突飞猛进的发展,自动控制系统和走向了电算化智能化。如DCS控制系统的运用及换代更新、“现场总线”自动控制系统的出现与运用,都推动着自动控制系统向更高超的层次提升。但是在诸多的自动控制系统中,传承最久、应用最为广泛的,就是PID控制系统,也叫做PID控制器。PID控制器最早产生于20世纪初期,其显著的优点如下:(1)控制器设计算法简单,受控对象不需要精确的数学模型,参数易于整定且容易被理解和实现。一般说来,工业控制中的数学模型很难建立,并且难以实现稳定的精确系数。所以,即使运用现代电子科技手段建立工业控制系统的数学模型,不仅投入成本巨大,也保证不了理想的参数效果。(2)控制器结构设计简单,适应能力强且范围广泛,能够应用于普遍性的工业制造行业,并且鲁棒性好,在各种环境下保持性能稳定可靠。(3)通过上百年的应用,无论从理论上、还是运行的检验,控制器的控制效果良好,同时积累了丰富的使用经验。基于上述不可替代的优势,PID控制器一直在工业系统产品中居于主导地位。据有关资料统计,目前PID控制器在工业控制系统中,使用率依然高达90%以上。即使在科技发达的日本,PID控制器的利用率也达到87%。1.3        遗传算法及PID控制器的遗传算法应用尽管PID控制器拥有诸多的优点,肯定其自身的劣势。当然,自PID控制器诞生之日起,PID控制器的性能改良就在不间断之中。但是,随着时代的进步和电子科技的巨大发展,现代工业对于控制系统的标准要求也越来越高。因此,竞相改良改进PID控制器的控制性能,就成为科研领域的一个现实而有深远价值意义的课题。这个科研项目的基本根据,就是PID控制器未来将会长久的运用于工业生产之中;其最终目标,就是要利用现代控制的系列理论,进一步完善PID控制器的性能功能,使这种古典传统的控制系统焕发出鲜活的生命力,在工业控制系统中继续长久的稳居要位。譬如,参数自整定是PID控制器最难把控的因素,当工业过程中出现某些异常干扰时,就容易导致控制器参数变化,也同时影响控制性能和效果。同时,生产程序实践和数学理论计算相结合,从中获得最优的PID参数,提高系统数字的搜索速率,等等,都是相关科研人员热衷的研究内容。在这方面,已经研究出模糊PID控制器、过程模型识别参数自整定、Ziegler-Nichols法等多种控制器。其中,遗传算法应用于PID控制器就是科研项目之一。“遗传算法”英文名Genetic Algorithm,GA,是起源于20世纪中期的一种仿生物进化原理、实现系数优化的人工智能技术应用理论。该理论的基本基础,就是生物学科中的进化论和遗传变异论。从总体上看,虽然遗传算法呈现的历史并不长远,但发展应用的速度应当说是很快的。大约在1975年间,美国的学者和他的学生们经过总结归纳,以自然生物学中遗传变异基因出发,建立模拟生物进化过程中的遗传机制,初步形成了遗传算法的基础理论,可以视为遗传算法的奠基。尔后,经过10多年的发展,遗传算法广泛的应用于工业控制系统中。而遗传算法的研究真正进入高速发展时期,则是源于上世纪末至今的计算机等电子科学进步浪潮的推进。遗传算法之所以能够吸引大批人的关注,最主要的还是这个系统的实用性。简单的描述是:虽然遗传算法是一种从全局出发的推优算法,但系统的关注对象是群体中的个体,算法与局部紧密结合,并且仅需要操作对象目标函数信息就能完成参数优化,便于识别和操作。因此,广泛的应用于各种行业的线性系统工程。这一点,相对于其他系统的单点式搜寻算法,无疑具有相当大的优越性。同时,随着时间的推移,遗传算法的不断优化设计与运营实施的研究,也不间断的取得跃进的成果。但是,遗传算法也存在不尽人意之处。譬如目前遗传算法基础理论研究的人员相对尚少,与其他高科技行业比较,理论研究还处于相对落后的状态。再如,目前遗传算法还没有真正形成完整成熟的理论体系,不能够精确细致的表明算法的收敛性和封闭性,收敛速度也不能得到可靠的保证。根据生物学的研究论定,按照达尔文适者生存的原理,生物是经过种群选择、交叉交配、遗传变异等过程的反复演绎,最终实现优胜劣汰的生存结果。如果借鉴这种自然择优程序的原理,运用人工智能的方法对择优密码加以调控,实施于PID控制器,就会得到稳定而优化的PID控制系数。1.4        应用遗传算法的PID控制器的研究现状及本论文的主要工作长期以来,PID控制系统参数优化的主要方法,基本上可以归纳为单纯型法、迅速下降法和误差积分法等。经过长期的实践检验,这些优化算法都有很大的优势,具有能够普遍应用的稳定性能。但是,也不是没有弊端。顾名思义,“单纯型法”的特点肯定就是“单纯”,因为它依赖于设备初始设定参数寻优,基本上属于经验型的方法,当初始信息发生变化时,寻优搜索往往会进入盲区;“迅速下降法”是以目标函数变化趋向为依据,进行搜索寻优。这种方法有一个局限,就是限于局部区域的参数进行搜索寻优,缺乏对全局性系数优化的影响。因此,近年来兴起了遗传算法应用PID控制器的研究,因为遗传算法的显著优势,就是基本不需要条件的限制,能够从事物本质及必然的变化趋势上面,进行参数的有机优化。但是,在研究和应用的过程中,研究者发现遗传算法的基础理论,已经不适应当前PID控制器对寻优参数设计和实施的需求,特别是不能用一种完整成熟的理论,去精确的解释并指导遗传算法的收敛性,同时精确的描述和调控遗传算法的收敛速度。因此,不少有志者正在积极的向这个领域开拓进军。就我国而言,近年遗传算法的研究应用速度发展相当快,并已经取得了丰硕的成果。遗传算法已经广泛运用于数学研究、教学研究、工业控制、企业经营、交通运输、工程设计等各个行业与领域,为我国的经济发展做出了重要的贡献。由于PID控制器是目前工业生产中的主要控制方式,应用范围广泛,而系统参数优化直接关系工业系统的安全生产、产品质量、成本效益等多方面的综合成绩,因此,充分运用现代科技手段,综合现代控制系统理论,研究和完善遗传算法应用PID控制器的科学理论、提升PID控制器参数优化品质,就成为一项十分重要而艰巨、并有广袤前景的科研课题。本人做此论文的主要目的,就是通过对工业控制系统、PID控制器以及遗传算法应用于PID控制器理论知识的学习理解,为将来积极参与PID控制器参数优化的研究工作奠定基础。本文采用的基本方法,就是运用学习的遗传算法的理论知识,进行PID控制器参数寻优研究探索,得出研究结论,再对控制器进行鲁棒性仿真测试,证明拥有较好的效果。本文所做的主要工作为:(1)浅析生物遗传基本概念和原理、遗传算法的产生及历史发展进程、遗传算法在工业控制系统中的应用;(2)依据遗传算法的基本理论,尝试对PID控制器进行参数优化的探讨研究;(3)通过MATLAB对优化参数进行仿真研究,最终形成论文的研究成果结论。 第二章 综述PID控制器 2.1 PID控制器简介在工业生产程序中,与生产制造设备和产品材料相关的变量因素,必须要根据工艺设计需求受到控制,其中包括体积、容量、压力、速度、位差等参数变化。所谓控制,就是采取必要的手段措施,把期望的变量系数制约在一定的变化范围之内,或者按照设计者的意愿规律发生定向、定量变化。举个最简单的例子,一个水箱只能容纳65%高度的水量,就要在此处设有控制机制并与水箱进水阀门相连。当水位达到时,阀门自动关闭;水位下降时,阀门自动开启,这就是最直接的控制系统装置。运用于工业生产的控制系统,因行业门类、用途和规律的不同,形式与方法诸多,性能优势也各具特色,PID控制器就是其中之一。PID控制器(Proportion Integration Differentiation)也称为“比例-积分-微分控制器”,是以PID控制原理为根据,把比例环节(P),积分环节(I),微分环节(D)组合在一起构成了控制量,进行系统偏差调节,对被控对象进行有效的控制,实现被控变量实际值与预定值相一致。自PID控制器问世以来,广泛的应用于线性和动态特性基本不受时间变化影响的工业控制系统,成为工业控制应用中最常见的反馈式控制器。这种控制器优于其他控制系统的根本之处,就是能够把比例环节(P),积分环节(I),微分环节(D)三路相得益彰的控制信息收集,与一个参考值比对,将比对误差运用于重新校正输入信息值,从而保持整个系统的稳定运转。运用一个反馈回路可以调节并保持整个系统的稳定运行,这是其他控制系统不能比拟的优势。PID控制器的发展大致可以划分为三个时期:古典时期、现代时期、智能时期。早期的PID控制器被称为传统或古典PID控制器;模拟计算机的出现,控制器进入现代时期;而数字计算机组成的控制系统实现了模拟PID控制算法,从而使PID控制器的性能、功能及普适性得到更加长足的增强,使PID控制器的参数控制步入了智能时期。2.2 PID控制原理无论是哪个时期的PID控制器,简化后的控制原理皆为如下图示:   从简图上可以读出, PID控制器由比例组件P、积分组件I和微分组件D组成。比例组件P是PID控制器的基本和关键环节,任何一种PID控制器都不能缺少。其作用是输入信息进入控制器后,在此组件中经过对比,发现与输入信息原值成比例关系的误差值。然后通过控制回路反馈到输入端,对输入信息原值进行相应的参数修正。但仅用比例组建进行控制时,因调节误差简单也会产生的负作用,就是由于误差放大、反复调节产生震荡等因素,造成稳定误差的出现,被称为“稳态误差”,从而影响控制器的稳定性。积分控制组件I是为消除稳态误差设置的。积分控制的特点是时间的延迟,当稳态误差出现后,积分组件可以将误差发生的时间延迟,并且误差越大,时间延迟越长,在这个过程中,使得误差值趋于平缓乃至消失,起到消除稳态误差对设备安全的影响作用。微分组件D是为改善设备动态性能设计的。自动控制系统在控制误差的过程中,由于对误差的抑制,会产生震荡和失稳的变化。这种变化通常滞后于误差发生的变化。为弥补这个缺陷,导入了微分组件,作用是在误差变化之前,能够预测出失稳的趋势,最终使输出值为零或者成为负值,增强控制器的稳定性能。综上所述,PID控制器的基本原理是以比例控制为主,比例+积分、比例+微分的作用,都是为了增强和提高控制器的稳定性能。PID控制器给定与输出的偏差线性关系为:  PID控制器的控制规律是:形成传递函数的形式为:式中 为比例系数, 为积分时间系数, 为微分系数。由此看出,在工业生产过程中,通常是通过控制 、 、 的大小,由输出端的反馈适当调节输入参数,最终得到所需要的稳定的输出,使系统设备状态满足制造工艺要求。因此说,PID控制器性能基本取决于于参数 , , ,通过对这三个参数的设定和调节,便能改变和提高控制器的应用性能。2.3    PID控制器的优劣归纳鉴于PID控制器的控制原理分析,可以将控制器的优点归纳成为:(1)PID控制器拥有广泛应用的范畴,既可以应用于线性工业生产,也可以应用于类似基本线性、即动态特性经过简单处理可以不随时间变化的工业系统。(2)PID参数自动整定性能强,由负载的变化引起系统动态特性变化, PID参数Kp,Ti和Td就可以及时自动整定,以维护整个系统的稳态。(3)由于PID控制器的普适性,引起工业科技研究人员的格外关注,在实践中也不断的得到改进,使得性能日臻完善。但是,虽然在特定的环境下,PID控制器设计的系统控制很给力,但依然存在一些问题需要解决:(1)PID控制器工作时,需要输入一个标准的比对信息,但这个信息如果选择不当,就会影响控制系统的工作效果。举个不贴切的例子:现在不少地区都在举行选美活动,但“美”的标准如果不确定,就很难说出到底单眼皮的女子是美还是不美?(2)PID控制器的作用是本设备运行中产生的误差。但是,在工业生产中,还存在除设备运行之外出现的干扰因素。如何区分和纠正这种情况产生的偏差,PID控制器至今没有成熟的理论依据于控制方法。因此,虽然PID控制器号称“自整定参数”,实际上只是针对“点”而不具备连续性。真正的“自整定”还应当说是开环状态的控制,而不是闭环状态的PID控制方式。(3)PID控制器只能控制规范状态的线性工程,在非线性、时变、耦合及参数和结构不确定的复杂工程中,优势便黯然失色,参数调节无法实现预期的效果。上述缺点,也是进一步研究提高PID控制器控制性能的最基本的依据。2.4本章小结   本章简单介绍了PID控制器的基本控制原理,介绍了控制器比例环节(P),积分环节(I),微分环节(D)三个环节的主要作用,同时提出了PID控制器应用的优势和目前存在的缺憾,也为下面章节研究基于遗传算法的PID控制器设计提供前提引源。 第三章 遗传算法 3.1遗传算法简介3.1.1 问题寻优解法在人类的科研活动中,对于存在或出现的一个、一种、一类问题寻求最优的解析方法,历来是人们共同追求的目标,一直在进行不懈的努力,这种情形在这里简称为“寻优”。具体到寻优活动本身,则是一项十分艰难复杂、同时具有与时俱进、永无终结止境特点的常态性工程。因为任何问题的存在与出现,是受到各种目标函数的推动与限制的。如状态的线性与非线性、离散与聚合、连续与收敛、低价与高阶、有序与无序和有形与无形,等等。然而,正是这种复杂万千的变量因素存在,才成为人们无限追求寻优解析的动力与原由。尽管寻优的计算方法有多少种,各类研究成果也层出不穷,但大致可以归纳为以下几种:(1)问题枚举的算法。这应当说是最简单的计算方法,就是把问题存在于反生的因素一并排列,通过逐条分析从中寻找出认为是最优的解析方法。这种方法在哲学上,也被称之为“抓住主要矛盾”。(2)分类搜索的计算方法。就是把问题因素划分为若干类别的子集科目,分别在子集中搜索出最优的解法。然后以子集寻优为依据,再进行全集比对寻优。(3)启发式的计算方法。原理是事先制定出寻优规则,启发和指导人们按照规则的要求,寻找适合和接近规则标准的方法项目。上述计算方法虽然长期运用于寻优解析之中,也不乏实践的检验,但遇见更加复杂的状况、或者说对问题现象进行更深层次的寻优解析时,就显露出来不完美、不给力的缺憾。譬如枚举法只能运用于小集合环境,解决大集合、无限量因素问题肯定是难以实现。同样,搜索算法在因素子集无限大、无穷多的状态下,也自然失去精确计算解析的科学性。至于启发式计算方法,则存在着严重的指向性,也就是需要“具体问题具体分析”,缺乏算法运用的普适性。因此,长期以来,人们一直在追求寻找一种最佳的寻优计算方法,以适合解析事物存在与出现既包罗万象、又变化万千的问题因素。其中遗传算法,可以说是比较成功而实用的计算方法之一。3.1.2 遗传算法的起源及发展遗传算法(Genetic Algorithm)简称GA。公认的说法遗传算法起源于美国的J.H.Hnllaad教授。其实在Hnllaad教授之前的20年起,就开始有学者研究生物模拟的计算机技术,从生物学的角度研究进化模拟、遗传模拟等课题。不过那时研究的侧重,是模拟程序复杂的操作过程。1965年,Hnllaad教授首次提出自然遗传算法可以转化并运用于人工智能算法,并阐述了由自然系统应用于人工智能系统的重要意义。之后于1967年,Holland教授的学生.J.D.Bagley发表论文,第一次提出“遗传算法”一词,从而确定了遗传算法的概念定义。之后,J.D.Bagley发明了遗传算子,在个体编码上使用了双倍体的方法;Cavicchio把遗传算法成功应用于模式识别;Holistien第一次把遗传算法在应函数优化计算中应用。进入20世纪70年代,Holland教授提出了遗传算法的奠基理论—模式定理。这是遗传算法的基本理论,核心是揭示出种群中优良个体的样本数能以指数级规律增长,从理论上确定遗传算法可以用来寻求最优可行解。1975年,Holland教授出版了《自然系统和人工系统的自适应性》,这是第一本系统论述遗传算法应用专著。同年,K.A.De Song发表论文《遗传自适应系统的行为分析》,运用模式定理进行纯数值函数优化计算,形成了遗传算法的工作框架,其意义指导至今。进入20世纪80年代,Hntland教授实践出分类器系统(Classifier Systems,简称CS),成为第一个基于遗传算法的分类器系统构。D.J.Goldberg在《搜索、优化和机器学习中的遗传算法》中,系统总结遗传算法问世以来的主要研究成果,全面而完整地阐述遗传算法的应用理论,为遗传算法应用打下科学基础。20世纪80年代,L,Davis编辑出版《遗传算法手册》,大大指导和推动了遗传算法应用的普及。J.R.Koza将遗传算法成功应用于计算机程序的优化设计,引领遗传算法进入现代电子科技新领域。 3.1.3遗传算法的介绍遗传算法(Genetic Algorithm)是根据魏茨曼的物种选择学说、孟德尔的群体遗传学说和达尔文的进化论原理导出的一种优化算法模型。生物进化论的核心,是揭示生物进化适者生存,优胜劣汰的遗传规律。遗传算法借鉴了生物进化的这种规律,模拟生物进化自然选择和遗传机理程序的计算模型,演化出一种随机化搜索最优解的方法。遗传算法运算是从具有潜在的解集的一个种群(population)开启,种群则由的一定数目的个体基因(individual)组成,并经过基因(gene)编码。每个个体都是带有特征的实体,即染色体(chromosome)。染色体作为多个基因的集合,内部的基因组合决定着个体的形状及外部表现,如蓝眼珠或者黄眼珠的特征,就是由染色体中某种基因组合决定的。因此,计算初始就需要实现对基因的编码工作。由于基因编码的程序复杂,研究者通常进行简化,如采用二进制编码。第一次种群产生之后,根据适者生存和优胜劣汰的原理进行取舍。周而复始,逐代(generation)选择出不断优化近似解。同时,在每一代程序中,借助于自然遗传学中的组合交叉(crossover)和变异(mutation)原理,进行交叉组合,从而产生出新解集的种群。这个过程将导致末代种群中的最优个体(decoding)的出现,可以作为问题近似最优解。归纳起来,遗传算法与其它优化算法相比,具有以下特点:(1)遗传算法在解决问题的时候,是从解的串集开始寻找。传统优化算法是从单个初始值通过迭代求得最优解;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,有利于从全局选择最优解。这是遗传算法与传统算法的最大的区别。   (2)遗传算法在解决问题时同时处理群体中的多个个体,降低了陷入局部最优解的风险。   (3)遗传算法仅用适应度函数值来评估个体,在这基础上进行遗传操作,几乎不用其它辅助信息。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。因此特点使遗传算法的应用范围扩展了很多。   (4)遗传算法采用概率的变迁规则来指导他的搜寻方向。(5)遗传算法具有自组织性、自适应性和自学习性。遗传算法利用进化过程获得的信息自行组织搜索时,适应度大的个体具有较高的生存概率,并获得更适应环境的基因结构。  3.1.4 遗传算法的应用与未来的发展趋势遗传算法的应用的优点就是性能好、制约因素少,应用领域于范围具有比较宽阔的普适性。为了促进遗传算法在算法设计和执行方略的广泛发展,人们在研究方面一直做着积极的努力。目前,遗传算法的研究运用的主要方法为: (1)并行遗传算法[7]。并行遗传算法分为两种,一种是Island型,另一种为Cellular。前一种方法的原理,是在经典遗传算法中添加迁移因素;后一种方案则是通过在一对一的局部寻优和全局寻优之间来达到优化。(2)合作演变遗传算法。这种方法的原理,是通过分解复杂问题,在个体间合作与竞争的行为之间寻找最优解的方案。(3)混乱遗传算法。该方法就是用来处理遗传算法的联接问题,就是忽略定义原模式,以个体和Schema为直接的操纵对象进行择优运算。这个方面的课题研究意义深远,预计在未来一段时间的將会得到持续的发展。遗传算法早期主要用于自然生物系统进化的研究,随着理论的发展与成熟,由于能够提供解决复杂问题的有效方法,逐渐被应用在多个领域:(1)自动控制和人工智能系统的应用。借助遗传算法,自动控制和人工智能领域解决了很多处于模糊状态,难以获得精确的解问题。包括:数据挖潜、数字获取、数据库优化和查询、人工智能神经网络结构与参数优化、不同模式区分识别、专家系统智能管理等领域。(2)遗传学研究领域,包括遗传学习,函数优化,组合优化。遗传学习就是经过遗传算法应用,构成遗传算法的机器学习系统;函数优化应当说是遗传算法应用最为广泛的领域,适用于有应用条件的各种行业的系统函数寻优;组合优化是在搜索空间处于无限扩大状态,遗传算法便有可能成为是寻求最优解的极佳工具。(3)图像处理是目前遗传算法应用的最重要领域之一,图像处理过程中不可避免的出现因参数误差而影响图画效果逼真的问题。但应用遗传算法了,就可以使图像处理在纠正误差参数、寻求最优参值取得良好的效果。自从上世纪晚期至今,互联网的技术得到迅猛的发展与普及,借助计算机的强大的功能,遗传算法同样获得跨越式的大发展。目前,全球大多数科学研究机构都建立了与遗传算法相关的专题网站,成立了基于遗传算法的人工智能控制研究中心。可以预测,在未来的科技发展中,遗传算法不仅在科研领域拥有稳固的地位,在应用领域也将会拥有更加广泛的发展空间于光明前景。3.2遗传算法的基本理论3.2.1遗传算法的基本概念(1) 染色体(Chromosome):染色体是用来表征个体特征,大量的个体结合在一起就是群体(population),其中个体的数量叫做群体的大小。(2) 串(string):个体的存在的形式,对应遗传学中染色体,在算法中为二进制,群体的元素就是串。(3) 基因(gene):串的组成单位就是基因,基因用于表征个体的特征。例如有一个s=1101,则其中的1,1,0,1这4个元素分别称为基因。它们的值称为等位基因。    (4) 基因位置(gene position):一个基因在串中的坐标位置称为基因位置,有时也称为基因位。基因位置由串的左向右计算,例如在串s=1011中,0的基因位置是2。它与遗传学中的概念对应。    (5) 基因特征值(gene feature):在用串表示整数时,基因的特征值与二进制的权一致;例如在串s=1101中,基因位置2中的1,它的基因特征值是4。基因位置4中的1,它的基因特征值是1。(6) 串结构空间(ss):串结构和遗传学中的基因型相一致,基因操作就是在串机构空间里面进行的,串的集合是基因的任意组合(7) 参数空间(sp):映射为串空间对应的物理系统,它同遗传学的的表现型相对应。    (8) 特征值( Feature)在用串表示整数时,基因的特征值与二进制数的权一致;例如在串 S=1011 中,基因位置3中的1,它的基因特征值为2;基因位置1中的1,它的基因特征值为8。    (9) 非线性 (non-linear):它对应于遗传学的异显特征。(10) 适应度(fitness):适应度是体现个体对环境的适应程度,而适应度函数则是为了体现个体对群体的适应能力3.2.2编码表示  编码是遗传算法中首要解决的问题,对算法的性能有很重要的影响。二进制编码是遗传算法中最常用的一种编码方法,它采用最小字符编码原则,编码操作简单易行,利于交叉、变异操作的实现,也可以采用模式定理对算法进行理论分析。3.2.3 适应度函数   在遗传算法中,适应度是描述个体性能的主要指标,根据适应度的大小对个体进行优胜劣汰。对求解有约束的优化问题时,一般采用罚函数方法将目标函数和约束条件建成一个无约束的优化目标函数;然后再将目标函数作适当处理,建立适合遗传算法的适应函数。  3.2.4 遗传算子   在遗传算法中通过一系列算子来决定后代,算子对当前群体中选定的成员进行重组和变异。   (1)选择算子。选择操作通过适应度选择优质个体而抛弃劣质个体,体现了适者生存的原理。常见的选择操作主要有以下几种:(a)轮盘赌选择。选择某假设的概率是通过这个假设的适应度与当前群体中其他成员的适应度的比值而得到。此方法是基于概率选择的,存在统计误差,因此可以结合最优保存策略以保证当前适应度最优的个体能够进化到下一代而不被遗传操作的随机性破坏,保证算法的收敛性。(b)排序选择。对个体适应值取正值或负值以及个体适应度之间的数值差异程度无特殊要求,对群体中的所有个体按其适应度大小进行排序,根据排序来分配各个体被选中的概率。(c)最优个体保存。父代群体中的最优个体直接进入子代群体中。该方法可保证在遗传过程中所得到的个体不会被交叉和变异操作所破坏,它是遗传算法收敛性的一个重要保证条件;它也容易使得局部最优个体不易被淘汰,从而使算法的全局搜索能力变强。(d)随机联赛选择。每次选取N 个个体中适应度最高的个体遗传到下一代群体中。具体操作如下:从群体中随机选取N个个体进行适应度大小比较,将其中适应度最高的个体遗传到下一代群体中;将上述过程重复执行M(为群体大小)次,则可得到下一代群体。     (2)交叉算子。交叉是指对两个相互交叉的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。它是产生新个体的主要方法,决定了遗传算法的全局搜索能力,在遗传算法中起关键作用。Potts等人概括了17种交叉方法。几种常用的适用于二进制编码或实数编码方式的交叉算子如下:(a)单点交叉。在个体编码串中随机设置一个交叉点后在该点相互交换两个配对个体的部分基因。(b)两点交叉。在相互配对的两个个体编码串中随机设置两个交叉点,并交换两个交叉点之间的部分基因。(c)均匀交叉。两个相互配对个体的每一位基因都以相同的概率进行交换,从而形成两个新个体。(d)算术交叉。由两个个体的线性组合而产生出新的个体。   (3)变异算子。变异是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他等位基因来替换,从而形成一个新的个体。它是产生新个体的辅助方法,决定了遗传算法的局部搜索能力。变异算子与交叉算子相互配合,可以共同完成对搜索空间的全局搜索和局部搜索,从而使得遗传算法以良好的搜索性能完成最优化问题的寻优过程。在遗传算法中使用变异算子主要有以下两个目的:改善遗传算法的局部搜索能力;维持群体的多样性,防止出现早熟现象。其中几种常用的变异操作为:(a)基本位变异。对个体编码串以变异概率P 随机指定某一位或某几位基因进行变异操作。b)均匀变异( 一致变异)。(c)二元变异。需要两条染色体参与,通过二元变异操作后生成两条新个体中的各个基因分别取原染色体对应基因值的同或/异或。它改变了传统的变异方式,有效地克服了早熟收敛,提高了遗传算法的优化速度。(d)高斯变异。在进行变异时用一个均值为L、方差为R2的正态分布的一个随机数来替换原有基因值。其操作过程与均匀变异类似。 3.2.5 参数选择。遗传算法的参数选择一般包括群体规模、收敛判据、杂交概率和变异概率等。参数选择关系到遗传算法的精度、可靠性和计算时间等诸多因素,并且影响到结果的质量和系统性能。因此,在遗传算法中参数选择的研究非常重要。在标准的遗传算法中经常采用经验对参数进行估计,这将带来很大的盲目性从而影响算法的全局最优性和收敛性,人们意识到这些参数应该随着遗传进化而自适应变化。基于这一观点,Davis提出了自适应算子概率方法,即用自适应机制把算子概率与算子产生的个体表示适应性相结合,高适应性值被分配高算子概率。Whitley等人提出了自适应突变策略与一对父串间的Hamming距离成反比的观点,结果显示能有效地保持基因的多样性。张良杰等人通过引入i位改进子空间概念,采用模糊推理技术确定选取突变概率的一般性原则。文献中用模糊规则对选择概率和变异概率进行控制,在线改变其值。相应的算例表明,这种方法有较好的性能。3.2.6收敛性分析遗传算法的收敛性通常是指遗传算法所生成的迭代种群收敛到某一稳定状态,或其适应值函数的最大或平均值随迭代趋于优化问题的最优值。依不同的研究方法及所应用的数学工具,收敛性分析可分为种群马氏链模型和公理化模型等。   种群马氏链模型主要有三种:群马氏链模型、Vose模型和Cerf扰动模型。种群马氏链模型的原理,主要是通过转移一些个体的性质,来寻求算法的最优解。Vose模型法就是在假设情况下到处不动点及其稳定性,最终刻画遗传算法极限行为。Cerf法就是将遗传算法看看成广义的去火模型,伴随着扰动理论,研究其极限行为。马氏链模型具有直接易得,结果精确的优势,却只能用于描述一般的二进制遗传算法,而且它不保障全局最优解的概率1收敛性。马氏链模型法的适用范围较粗糙。在遇到更加复杂和困难的问题则束手无策。鉴于马氏链模型法的缺陷人们又提出了一种新的运算模型,即“公理化模型”,它既能解决时齐遗传算法,又能分析非时齐遗传算法。它的中心理念就是通过描述遗传算法的演化算子能够被公理化描述。所以公理化模型很有研究价值。常用于优化算法的收敛性分析。3.3遗传算法的基本操作3.3.1遗传算法的执行过程   遗传算法是模拟生物在自然环境中优胜劣汰、适者生存的遗传和进化过程而形成的一种概率搜寻算法,求解问题的流程为:  (1)建立数学模型。   (2)编码,即用设计好的算法将表现型映射到个体基因型。   (3)解码,遗传算子只对编码后的染色体起作用,由个体表现型计算目标函数值后就可以判断染色体的优劣。(4)确定适应度转换规则,染色体所对应的解空间的值可能相差很大,需要一定的转换使其适合定量评估个体的优劣。   (5)设计遗传算子,即设计交叉、变异和选择算子等。遗传算子与待优化问题、染色体的编码方案有很大的关系。   (6)确定运行参数,运行参数包括交叉概率、变异概率和种群数目等。3.3.2 遗传算法的基本操作(1)选择(slection)    选择是确定重组,交叉个体,根据一定个体的适应度按照一定得规则方法从群体的t代选择优良的个体到t+1代中去。其中适应度计算可以按比例或者基于排序。(2)交叉(crossover)交叉操作即是將t代中的个体按照一定得概率同另一个体的染色体相互交换得到新的t+1代的个体。交叉可以分为实值重组和二进制交叉。(3)变异(mutation)变异是对t代群体的每一个个体,以某一变异概率改变某一个或某一些基因为其他的等位基因。3.3.3 遗传算法的运算过程遗传算法是模拟生物在自然环境中优胜劣汰、适者生存的遗传和进化过程而形成的一种概率搜寻算法。它是从代表问题可能潜在解集的一个种群开始,首先将表现型映射到基因型即编码,从而将解空间映射到编码空间,每个编码对应问题的一个解,称为染色体或个体。初始种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度大小选择个体,并借助自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程使种群像自然进化一样,后代种群比前代更加适应于环境,末代种群中的最优个体经过解码可以作为问题近似最优解。利用遗传算法求解问题的流程:   图3-1所示即为遗传算法的框架图: 图3-1 遗传算法的基本构成框架  更直观的遗传算法的运算过程用下面的流程图来表示:3-2遗传算法运行流程图 由图3-2可以直观的看出使用上述三种遗传算子的遗传算法的主要运算过程如下所示:步骤1:创建初始种群,并进行编码;步骤2:计算出个体的适应度,并进行一定的优化判断,若不符合则到第三步,否则输出得到的最优解,结束;步骤3:选择操作;步骤4:交叉操作;步骤5:变异操作;步骤6:终止判断。判断t,若tT,则结束判断,将进化过程中适应度最大的那个个体输出,这个适应度最高的个体即是最优解。终止计算。3.4本章小结    本章节首先介绍问题寻优解法的基本原理,从而引出寻优法之一遗传计算法。其次是介绍遗传算法的历史由来、系统特点、应用领域和发展趋势,最后阐述遗传计算法的基本操作过程及运算步骤。通过本章的学习可对遗传算法有比较完整的了解,对遗传算法应用领域存在的问题有了较为全面的认识,为下章节遗传算法的编码,适应度函数选定,遗传算法参数设定奠定了基础。 第四章 基于遗传算法的PID控制器参数优化 4.1 PID参数优化方法关于PID参数的优化,长期以来一直是重要的科研工作的课题科目,也不时出现了各种选优方法。这些方法有一个共同的追求,就是应用在实际操作中,尽量避免复杂的公式计算,更多的采用经验性的方法来进行PID参数优化调节,以达到普适性的操作效果。传统的PID参数优化大体分为以下几步:(1)关闭控制器的I和D元件,加大P元件,使产生振荡。(2)减小P,使系统找到临界振荡点。(3)加大I,使系统达到设定值。(4)重新上电,观察超调、振荡和稳定时间是否符合系统要求。(5)针对超调和振荡的情况适当增加微分项。为了更好进一步分析基于遗传算法的PID控制器参数优化,本人学习阅读了PID参数优化的其它方法,从中得出了对这些方法的特点的粗浅认识:方法一 Ziegler-Nichols法1942年,John Ziegler和Nathaniel Nichols发明了著名的对PID回路整定技术Ziegler-Nichols(ZN法)。对PID回路的“整定”原理,就是调整控制器对实际值与设定值之间的误差产生的反作用的积极程度。如果正巧控制过程是相对缓慢的话,那么PID算法可以设置成只要有一个随机的干扰改变了过程变量、或者一个操作改变了设定值时,就能采取快速和显著的动作。相反,如果控制过程对执行器是特别地灵敏而控制器是用来操作过程变量的话,那么PID算法必须在比较长的一段时间内应用更为保守的校正力。回路整定的本质就是确定对控制器作用产生的过程反作用的积极程度和PID算法对消除误差可以提供多大的帮助。经过多年的发展,Ziegler-Nichols方法已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。Ziegler-Nichols整定技术在所有应用在工业领域内的反馈控制策略中是最常用的,直到现在还被广泛地应用着。方法二 临界比例度法在PID调试中比较常用的一种方法是临界比例度法:   (1)被控系统稳定后,把控制器的积分时间放到最大,微分时间放到零(相当于切除了积分和微分作用,只使用比例作用)。   (2)通过外界干扰或使控制器设定值作一阶跃变化,观察由此而引起的测量值振荡。   (3)从大到小的,逐步把控制器的比例度减小,看测量值振荡的变化是发散的还是衰减的?如是衰减的则应把比例度继续减小;如是发散的则应把比例度放大。    (4)连续重复2、3步,直至测量值按恒定幅度和周期发生振荡,即持续4--5次等幅振荡为止。此时的比例度示值就是临界比例度PB。然后根据临界振荡公式进行PID计算。方法三 单纯形法[2]    20世纪50年代末,美国数学家G.B.单奇客提出了单纯形法。单纯形法根据线性可行域为多维向量空间Rn对应的多面凸集,若凸集顶点是最优解,则可成为基本可行解;单纯形的理念是先找一个基本的最优解,首先要进行鉴别判断是否最优,若不是就用另一个法则继续寻求最优解,再次鉴别,若仍不是则继续,就这样重复进行,直至找出最优解。方法四:粒子群优化算法[4]粒子群优化(Particle Swarm Optimization - PSO) 算法是这几年刚发展起来的一种新的优化算法,它类似于遗传算法,从随机解出发,经过迭代寻优解,它和遗传算法一样,也是用适应度函数来判断解的优劣程度。却比遗传算法操作简单,它并没有交叉和变异的操作,它通过追随当前搜索到的最优值来寻找全局最优。方法五 差分进化算法差分算法是一种基于浮点矢量编码在连续空间但是的我一种优化算法,在差分进化算法过程中,构成变异算子,以一定的频率在父子代之间进行交叉操作接着产生一个个体,然后又在父代和新个体间进行遗传算法操作,适应度较小的子代将会被保存在下一代群体中4.2基于遗传算法的PID参数整定优点目前PID参数优化的方法有很多,例如间接寻优,梯度,爬山法等,单纯形法和专家经验整定普遍被应用,他们都有各自的特定的优点,也有各自的缺点。譬如单纯形法容易陷入局部优化的死循环中,因为它对初值很敏感;专家整定法就是基于大量的经验来进行整定的算法,遇到不同的工程问题时用的是不同的经验,因此需要积累大量的经验。但是整理经验库是很复杂的一项工程,,不是轻而易举就能实现的目的。最终本人所选择的,是基于遗传算法的PID控制器的设计。遗传算法的设计方法不用借助任何初始的信息,且是一种高效的全局寻优算法。遗传算法经常被用来优化控制算法,在工业工程应用中的范围越来越广泛。遗传算法用于参数优化的优点主要有:(1)较单纯形法相比,遗传算法对参数的初值没有太大的依赖。遗传算法也有很好的寻优特性,即使给定的约束条件不是很恰当,依然能够寻得最优参数解。同时,遗传算法还能解决多值函数的以及串级系统,并能够很好的克服寻优失败。(2)与专家整定法相比,具有简单易行的整定特点。专家整定法具有操作复杂,速度慢的缺点,需要繁琐的规则,而且还只能对字串简单的复制,交叉,变异,前期还要进行大量的知识库整理工作和大量的仿真。(3)遗传算法可以进行多点并行操作,它克服了单点寻优的缺点和寻优方法单一的盲目性,不会陷入局部寻优。(4)遗传算法既可以单目标寻优,也能多目标寻优,在不同的控制系统中,基于遗传算法的控制器通常都能求得最优解。4.3基于遗传算法的PID参数整定的实现4.3.1编码与解码所谓编码,指的就是通过一种转换手法,将原始数据转换成我遗传算法中的染色体,以便于计算的转换操作。这个转换的过程就是编码。当然与之对应也必然有解码。解码是编码操作的逆操作,即将染色体编码反过来转换成原始数据。    编码是应用遗传算法重要步骤,编码的繁简,直接影响的群体搜索的效率。编码的基本原则有[13 ]两种,一是有意义积木编码原则:尽量使用相关且低阶,短定义长度的方案;二是最小字符编码原则:采用能使问题最简单化,最自然且易于描述的编码方案。    目前常用的编码方案有:二进制编码,浮点编码,灰度编码,符号编码等等,本文采用的是二进制编码。计算机发明的时候,它本身只能识别0,1组成的机器码,因此二进制码是计算机设计独特的优识别方式。遗传算法最常用的编码方式就是二进制编码,它由0,1码构成的基因型就是编码符串。    二进制与十进制数之间转换公式为:式中:[ ]是取值区间;b是二进制编码数所对应的十进制数;L为二进制编码的长度。4.3.2初始种群的构造首先要确定的是种群的大小和个参数的二进制码长度CodeL,本文所选的种群的 大小Size为30,用长度为10位的二进制编码串来表示 构成长度为30的染色体,即如下所示:表4-1 、 、 构成的染色体串                                                           10                 10                  10本文中 取值范围[0,20], , 取值范围[0,1]。4.3.3目标函数以及适应度函数的确定    衡量一个系统质量的好坏,通常有以下三个指标:快速性、准确性和稳定性。我们研究的系统的指标可以从阶跃信号输入的响应得到,目标函数应包括控制量,误差还有上升时间三个约束条件。    遗传算法在搜索过程中几乎用不到外部的信息,只是以适应度函数作为指标,利用个体的适应度来搜索。所以适应度函数的选取至关重要,关乎到遗传算法的运行效率。因此本文在设计基于遗传算法的PID控制器过程中,以误差绝对值得时间积分性能为目标函数,这样也能得到过渡过程中的动态特性,最后添加了输入控制,目标函数如下:本式中: 即上升时间, 为权值。为防止超调量的产生,又产用了惩罚功能,即是说系统产生了超调。超调量也会作为最优指标中的一项,即:式中