免疫算法在最有PID控制设计器中的应用_第1页
免疫算法在最有PID控制设计器中的应用_第2页
免疫算法在最有PID控制设计器中的应用_第3页
免费预览已结束,剩余28页可下载查看

下载本文档

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

文档简介

1、目录第一章绪论1.11.2引言国内外研究现状112错误!未定义书签。错误!未定义书签。研究动机与研究内容论文安排第一章遗传算法概述遗传算法基本原理遗传算法的构成要素1.31.42.12.234.666错误!未定义书签。错误!未定义书签。错误!未定义书签。2.3控制参数遗传算法步骤和流程遗传算法的应用步骤999错误!未定义书签。2.6ATy-_*第三章3.1遗传算法的特点遗传算法的早熟现象分析本章小结免疫系统与免疫遗传算法.生物免疫系统免疫遗传算法基本原理免疫遗传算法步骤和流程免疫遗传算法特点本章小结101111第四章免疫遗传算法的改进基于信息熵的免疫遗传算法4.1121213131414151

2、5错误!未定义书签。错误!未定义书签。4.4基于欧式距离的免疫遗传算法曼哈顿距离法一种改进的免疫遗传算法171819错误!未定义书签。精英保留策略20错误!未定义书签。错误!未定义书签。本章小结第五章基于免疫遗传算法的PID控制器设计5.1PID控制器4.5212222控制基本原理控制系统的性能指标235.2基于免疫遗传算法的PID控制器优化设计235.2.1 免疫遗传算法的PID参数优化的基本思想23优化问题描述和PID增益参数优化的仿真结构245.2.2 基于免疫遗传算法的PID控制器优化设计流程245.3 计算机仿真实验及结果分析24实验对象选取和算法参数确定24仿真结果265.4 本章

3、小结27第六章工作总结和展望28第一章绪论1.1 引言遗传算法(GeneticAlgorithms,简称GA模拟了自然界中生物进化的过程。在自然界中,由于受到外部条件造成的生存压力的影响,一些具有好的结构的生物就可以得到保存,而一些结构较差的生物就会被淘汰,从而生物进化向着产生最优个体的方向发展。这种优势劣汰的机制应用到了人工算法中便形成了遗传算法。遗传算法首先要做的工作是根据解空间的分布,随机产生一个具有一定数量个体的群体。群体中的每个个体都具有一定的基因型,该基因型代表了优化问题的每个解的数值。基因或者说染色体承担了携带个体基因型,表征个体独特性的任务。群体的进化过程是由群体中每一个个体完

4、成的,每个个体经过选择、交叉、变异等遗传操作,形成新的一代具有新的基因型的个体,通过对遗传操作的合理设计,可以使新的一代具有比上一代更强的适应环境的能力。就这样,通过一代代的进化,最终群体进化成具有最强适应性的个体,也就是优化问题的最优解。遗传算法是由美国密歇根大学的JohnH.Holland教授在1975年创立的,从那之后,遗传算法在全世界范围内得到了广泛的应用和研究,使之成为一门日益成熟的学科。在诸如优化组合、自动控制、生产调度、机器人学、人工智能等领域,遗传算法都显现出其独特的实用价值。然而,经过大量的科学研究和实际应用之后,人们逐渐发现遗传算法也有其不足之处。这种不足主要集中在它容易早

5、熟收敛(prematureconvergence)、陷入局部最优(stickstolocaloptimum),而且局部搜索的能力较弱等2。根据达尔文的进化理论,生物群体能够在自然界的竞争中保存下来,其中重要的一个原因就在于较大群体的数量。只有具有一定规模的群体数量才能保证群体能偶在恶劣的环境中生存繁衍,从而保持自己群体的基因延续下去。因此,遗传算法模拟了自然界中生物群体的进化过程,为了能够使得自己的个体(解)能够存活下来,得到进化,在遗传算法的进化过程中必须满足下列四个条件3:(l) 群体必须具有一定的数量的个体;(2) 个体之间存在着差异,即群体具有多样性;(3) 个体能够进行基因交流;(4

6、) 个体适应环境的能力不同,适应度较强的个体具有较大的繁殖机会,反之繁殖机会较小。很容易可以看出,遗传算法满足第(1)和第(3)个条件,通过设定合适的适应度函数,第(4)个条件也可以得到满足。由生物的进化原理可以知道,具有优良基因型的个体容易在进化中处于优势,从而使自己的基因型在群体中所占的比例也就越大,但是过于单一的基因型也会使得群体的适应性下降。因而为了保持群体抵抗风险的能力,需要增强群体基因型的多样性。如何把握较大比例的优良基因型以及群体多样性之间的平衡,是遗传算法亟需解决的问题之一3。经过研究发现,过于单一的群体基因型同遗传算法早熟收敛,容易陷入局部最优的问题有着密切的关系。往往在陷入

7、局部最优之前,群体中每个个体都非常相似,不能生成有效的竞争模式。因此,如何保持群体的多样性,同时维持高适应度的个体数量,是遗传算法的关键问题之一。1.2 国内外研究现状近年来,人工免疫算法的研究得到了很大的发展,国内外已经提出了许多免疫算法的理念。为了区别考察这些不同的免疫算法,对其主要从下面两个方面进行分析:(2)算法的免疫学原理;(1)数学分析量度。常用的免疫学的理论和方法主要有:进化学说、疫苗学说和反向选择理论。基于这些不同的免疫学理论和方法提出的免疫算法有以下3种:1、免疫遗传算法利用对高等脊椎动物的免疫系统的研究,Chun等将免疫原理引入了遗传算法中,从而提出了一种免疫遗传算法。通过

8、在算法中引入抗体浓度的概念,提出抗体相似度的定义,并用信息熵来描述,表征了该抗体的基因型在群体中所占比例的大小。为了避免特定的基因型在群体中所占比例过大,因此对算法中的选择操作进行改进,适应度越高、浓度越小的抗体得到选择的概率越大,这样就保持了群体的多样性,提高了算法的全局搜索能力,避免了遗传算法陷入局部最优的问题;另一方面通过引入免疫记忆功能,提高了免疫算法收敛的速度。同遗传算法相比,免疫遗传算法的搜索能力和收敛速度都有很大的提升。2、基于疫苗的免疫算法根据疫苗在免疫系统所发挥的作用,焦李成等提出了一种基于疫苗的免疫算法。在遗传算法中算法中加入了免疫算子,经过仿真实验已经理论分析证明,该算法

9、是收敛的而且有效的。3、反向选择算法在免疫系统中,所有的T细胞在胸腺中先要经历一个审查环节,与自身蛋白质产生免疫应答的未成熟的T细胞会被破坏掉,只有那些不与自身蛋白质组织发生免疫银弹的成熟的T细胞才能离开胸腺,由此来识别自己和非己,这就是T细胞成熟过程中所经历的反向选择过程,也就是所谓的反向选择原理。对于免疫遗传算法的研究,国内的研究方向主要是入侵检测的免疫模型以及相关的算法的应用。国际上对“计算机免疫学”进行了广泛的研究,同时也有很多免疫遗传算法在工程上的应用,其中比较有代表性的有:1、美国新墨西哥大学的Forrest等的研究在军方的支持下,取得了比较重大的进展,其主要的研究对象是入侵检测的

10、免疫模型,而且其成果已经得到了应用。2、西安电子科技大学、武汉大学和中国科技大学等高校的研究小组的主要研究方向是计算机网络免疫、神经网络智能优化技术以及基于免疫原理的遗传算法等。其研究成果已经在立体匹配、TSP和机器人识别等方面得到了应用。3、浙江大学将免疫遗传算法运用于电力系统中,西北工业大学航空学院刘明辉等将改进的免疫遗传算法应用在桁架结构优化设计中。1.3 研究动机与研究内容遗传算法适应度函数的设定需要同具体的问题相符合,所针对的问题不同,其适应度函数往往也不一样。因此标准遗传算法的通用性较差,很难找到一种在解决不同类型的问题时都能够提供有效的选择操作的方法。随着对高等脊椎动物免疫系统研

11、究的深入,针对这一问题似乎提供了一种解决的可能。在生物体的免疫过程中,抗体能够针对“非己”物质做出免疫应答,常见的“非己”物质主要是外源性的细菌、病菌以及代谢异常的产物等。无论是生物体已经遇到过的,还是从未遇到过的“非己”物质,生物体都能够迅速产生相应的抗体做出应答,从而消除抗原物质。之所以免疫系统具有如此强大的识别抗原的能力,其原因就在于它很好地保持了抗体的多样性,而抗体在免疫系统中正是发挥着识别、清楚抗原的作用。针对免疫系统如何保持抗体多样性的问题,早在1957年奥地利的免疫学家,免疫系统在最初的胚胎期便发生了基因突变,这为后面的多样性的免疫细胞奠定了基础。不同的免疫细胞经过增殖分化,形成

12、无性繁殖系。通过进一步的克隆繁殖,免疫细胞的多样性使机体在遇到多种不同的抗原时都能够迅速进行识别,并且产生相应的抗体消灭抗原。从信息处理的角度来看,免疫系统具有很强的自适应性、识别能力、学习能力以及鲁棒性的特点,因此,人们考虑将免疫系统的优秀特性引入遗传算法中,改善遗传算法容易早熟收敛的状况,从而形成了免疫遗传算法。同标准遗传算法相比,免疫遗传算法最大的不同之处在于算法中引入了免疫浓度调节机制,也就是模拟了自然免疫系统中抗体的繁殖策略。,每个抗体不仅有与抗原相结合的抗体结合部位(paratope),而且还有与别的抗体进行结合的抗体决定基(idiotope),当某种抗体的浓度过高的时候,它就会与

13、别的与之相似的抗体进行匹配,从而使其停止增殖,进而浓度下降,系统各个抗体抗体的浓度达到平衡。同样的,在免疫遗传算法中,当某种抗体的浓度过高时,算法也会产生抑制这种抗体繁殖的操作,从而很好地调节了选择压力,保持了群体的多样性,避免了遗传算法出现早熟收敛的问题。不过免疫遗传算法也有其缺点,运算速度和收敛速度缓慢就是其中比较突出的问题。针对免疫遗传算法存在问题,本文提出了多种改进群体多样性的措施。根据不同的相应的抗体相似度定义方法,文中提出了三种不同的免疫遗传算法的改进型,包括:信息熵法(AIA),欧式距离法(DBAIA)以及曼哈顿距离法。信息熵法由于其运算速度缓慢以及抗体相似度定义存在的缺陷,故本

14、文重点介绍了后面两种方法,这两种算法的运算速度和收敛性能都有了大幅的提高。为了进一步提高计算效率,本文设计了一种新的抗体相似度、期望繁殖率的定义方法,并结合精英策略提出了一种新的免疫遗传算法,简称IGAE。PID控制器具有良好的控制性能,应用范围极广。PID控制性能的好坏完全取决于其三个增益参数,因此本文根据免疫遗传算法具有很强的寻优能力的特点,将PID的三个增益参数视为免疫遗传算法中的抗体,即问题的解,通过设计合理的程序对抗体进行寻优,最终得到最优的增益参数,进而使PID控制器具有最优的控制性能,这就得到了IGAE-PID控制器。通过对工业中两种典型的控制对象进行仿真实验,并将结果同标准遗传

15、算法优化的PID控制器,即GA-PID控制器的结果进行比较,可以看出IGAE-PID控制器具有很好的控制性能。1.4 论文安排本论文共分为六章。第一章为绪论,引入了遗传算法,简要介绍了免疫遗传算法的国内外研究以及应用情况,同时说明了本论文的研究内容和目标。第二章介绍了遗传算法的工作原理,应用步骤及流程,分析了它的特点,并指出具有的早熟收敛的问题。第三者针对遗传算法的缺陷,引入免疫遗传算法。介绍了免疫遗传算法的工作原理和应用步骤及流程。第四章提出几种改进群体多样性的方法信息熵法、欧式距离法和曼哈顿距离法。并引入精英策略,提出了性能更好的免疫遗传算法。第五章分别将免疫遗传算法和标准遗传算法应用到P

16、ID控制器的参数优化中,并进行仿真实验,证明免疫遗传算法良好的寻优能力。第六章对本论文的工作进行总结,展望免疫遗传算法的改进。第一章遗传算法概述2.1 遗传算法基本原理在遗传算法中,需要优化的问题的解称为个体或者染色体,一般来说,每一个个体都具有特定的基因型,基因型通过字符串的形式进行表达。若干个体的集合构成了群体,群体中的每一个个体都是在算法初始阶段随机生成的。群体的初始化完成之后,对于每一个个体,都需要按照一定的规则对其基因型进行评估,从而得到每个个体的适应度,这一评估规则就是适应度函数。适应度函数是用来考察群体中每一个个体同所需要优化的问题关联度的准则,个体的适应度越大,说明其基因型所代

17、表的解在解空间中更加趋于优化问题的最优解。在生物进化过程中,基因型越优良的个体得到繁衍的机会也就越大,因此在遗传算法中,适应度越大的个体,在产生下一代的过程中,其被选择的概率也就越大。遗传算法产生下一代的过程是由遗传算子完成的,包括:选择算子、交叉算子和变异算子。通过设定合适的选择算子,可以实现越大的适应度个体被选中的概率越高这一目标。因此,选择算子保证了群体的下一代可以产生比上一代更优秀的个体。在个体被选中之后,接下来交叉算子开始起作用。交叉算子在每一对相互配对的个体的基因型中选定特定的位置作为交叉点,这一对个体就以此为中心使彼此的基因型相互交错,从而形成一对具有新的基因型的个体。变异算子常

18、用于二进制编码字符串所表示的个体中,变异以一定的概率发生,一般变异概率在0.001到0.1之间。发生变异的个体,若其基因型字符串上某基因座原有值为1,则变异后的值为0;若原有值为1,则变异后的值为0。变异算子的作用是保证了解空间收敛到任一解的概率都不为零。经过遗传操作之后,群体中的个体得到了更新。因为在遗传的过程中,经过了有利于优良个体繁衍的选择操作,所以同上一代的群体相比,新一代的群体中具有较高适应度的个体所占的比例有所增加,而适应度较低的个体比例有所减少。就这样根据优胜劣汰的法则,群体通过一代代的进化,向着更优的方向发展,直到达到进化终止的条件。2.2 遗传算法的构成要素由于遗传算法具有较

19、强的鲁棒性,因此它对于采用何种编码方式没有固定的要求,一般根据具体的情况来选择最合适的编码方法。本论文所研究的遗传算法和免疫遗传算法都是基于二进制编码的,因此下面主要说明二进制编码的遗传算法的操作过程。遗传算法中,优化问题的解的参数由二进制字符串来表示,若一个解有m个参数,那么这m个参数一共需要m个字符串来表示,将这些字符串连在一起,便组成了个体的基因型,它的意义类似于遗传学中的染色体。可见,编码可以让参数从实数空间映射到位串空间。在遗传算法中,遗传算子的操作包括选择、交叉、变异,经过编码之后,个体便由二进制的字符串表示,每个基因座上的数值要么为1,要么为0,因此算法可以非常方便地对个体进行操

20、作,而且也有利于算法利用计算机进行运算。遗传算法利用适应度函数对个体进行评价,作为进行选择操作的依据,而不需要参照外部信息。由于遗传算法中,一个个体的适应度被定义为负值是没有意义的,故对适应度函数的唯一要求就是其计算结果必须为非负值。因此,适应度函数的定义常见于以下两种情况:1、求函数u(x)最大值时,f(x)f(x)(2.1)u(x)Cmin当u(x)Cmin00其它情况2、求函数g(x)最小值时,f(x)f(x)Cmaxg(x)当g(x)Cmax0其它情况(2.2)式(2.1)中,Cmin可以是合适的输入值,或是当前一代或前K代中的g(x)的最小值,也可以是群体方差的函数。式(2.2)中,

21、Cmax可以是一个合适的输入值,或是进化过程中g(x)的最大值或当前群体中g(x)的最大值。遗传操作包括三个基本遗传算子(geneticoperato):选择,交叉和变异。1、选择算子在自然界的生物进化过程中,适应性越好的个体存活下来的几率也就越大,其基因遗传到下一代的几率也就越高;反之,适应性越差的个体,其基因遗传到下一代的几率也就越低,在群体中所占比例也就越小。遗传算法模拟了生物进化的这一过程,使用选择算子对群体进行优胜劣汰的操作。个体的适应度越高,在遗传中被选中进行复制的概率也就越大,反之越小。因此在下一代的群体中,优良个体所占的比例比上一代中更高。最常用的选择算子是比例选择算子,除此之

22、外还有最优保存算子、排序选择算子、联赛选择算子等等。设群体规模为n,其中个体i的适应度值为fi,则i被选择的概率Psi为:Psifi(2.3)由式(2.3)可见,个体适应度越大,其被选择的概率也就越高,反之亦然。2、交叉算子在自然进化中,生物体通过交配进行基因重组,得到拥有新的基因型的个体。遗传算子中的交叉算子就是模拟了这个原理,将配对的两个个体按照某种方式将其基因型进行交叉,从而得到一对新的结构更为复杂的个体。通过交叉操作,群体既可以保持优良基因又能得到新个体的主要方法。最常用的交叉算子是单点交叉,除此还有一些不常用的方法,包括两点交叉、多点交叉以及一致交叉等等。本文只对前三种交叉算子进行介

23、绍。 单点交叉(one-pointcrossover)单点交叉又称为简单交叉,是Holland教授提出的一种最基础的交叉方式。它是指在个体的字符串中随机选择一个点作为交叉点,然后配对的个体在这个交叉点的左右,相互交换部分染色体。位串A:1101|1010位串B:1011|0101位串A:11010101位串B:10111010 两点交叉(two-pointcrossover)位串A:11|011|010位串B:10|110|101位串A:11|110|010位串B:10|011|101 多点交叉(multi-pointcrossover)位串A:11|01|10|10位串B:10|11|01|

24、01位串A:11|11|10|01位串B:10|01|01|10随着交叉点的数量增多,遗传算法的在线和离线被影响的概率就越大,个体好的基因型更容易被破坏,因此在工程应用中多点交叉的使用频率较少。3、变异算子变异算子的操作方法就是改变个体基因型中指定基因座上的基因值。对于二进制编码的个体来说,就是将基因座上的值取反,即从0变为1,或者从1变为0。变异操作是以一定的概率进行的。一般来说,变异概率Pm0.001,0.1。尽管Pm的取值比较小,但是变异操作对于提高算法的局部搜索能力十分重要。变异算子同交叉算子相辅相成,提升了遗传算法的全局搜索能力。控制参数遗传算法的运行参数主要有个体编码串长度L,群体

25、规模m,交叉概率Pc以及变异概率Pm。遗传算法的性能同这些参数的选择有很大的关系。经过大量的实验研究,学者们总结出了一些对参数进行选取的方法。(1)编码串长度L:采用二进制编码时,L的大小要根据实际的问题来进行选取,所需要优化的问题对于精度的要求越高,L的取值就越大,运算的时间也就越长;优化问题对于精度的要求越低,L的取值就越小,运算时间也就越长。因此,在求解实际问题时,需要在运算效率和运算精度之间进行权衡取舍,以选取适当的L值。(2)群体规模m:群体规模是指群体所包含的个体的数量。群体中个体数量越多,其多样性就越好,算法就越不容易陷入早熟收敛,但同时需要进行适应度评价的次数也就越多,运算时间

26、就越长,运算效率降低。一般群体规模控制在20到100之间。(3)交叉概率Pc:交叉算子是群体中产生新个体的主要途径,因此交叉概率的值应该取较大一点,但是若值过大,会使得新旧个体更新太快,破坏群体中的许多优良的模式,因此Pc的取值一般在0.4到0.99之间。其他的学者还提出一些具有自适应性的交叉概率,这将在第四章进行介绍。(4)变异概率Pm:变异操作有利于群体进行更新。当Pm的取值太大时,尽管可以产生很多新个体的,但是群体中原有的好的个体基因型会被破坏掉,使得遗传算法变得类似于随机搜索算法;当Pm取值太小时,变异操作更新群体的能力以及抑制算法发生早熟收敛的能力就会被削弱。因此,Pm的取值是0.0

27、010.1。事实上,上述参数的选择要根据具体的问题类型而定,并没有一种普遍适应的参数选择方法,往往随着优化问题的复杂程度加深,参数的选择也变得更加困难。优化问题的特征不同,其有效参数的差异有时也会十分显著。因此,如何合理地选择有效参数,以提升遗传算法的性能,还需要进行进一步的研究。2.3 遗传算法步骤和流程遗传算法的应用步骤利用遗传算法对复杂问题进行优化的通用步骤如下:Stepl:确定决策变量的解空间;Step2确定目标函数;Step3:对可行解进行编码;Step4:确定解码方法;Step5设计适应度函数,对个体品质进行评价;Step6:设计适当的选择、交叉、变异操作方法;Step7:选择合适

28、的运行参数,即L、m、PC、Pm等参数。为了设计出合理的遗传算法,必须深刻把握优化问题的本质,选择合适的适应度函数以及遗传算子,对构造出有效的算法起着至关重要的作用。遗传算法的基本流程如图2.1所示。开始1解编码根据适应度进行复制1、遗传算法以决策变量的编码作为运算对象计算适应度二图2.1彳基本流程满足终止条件?2.4遗传算法的特点随机产生N个初始个体输屮结果而不需要与传统的优化算法所不同的是,遗传算法以决策变量的编码作为操作对口不是决策变量的值。因此,根据实际优化问题的需要,可以灵活选择适合操作的编码方法。例如利用二进制编码,就可以使遗传算法在优化过程中很方便地使阿终传算子来漠拟生物进化中染

29、色的交叉和变异过程。特别的是对于一些很难用数值进行描述的既念,进行编码处理会有意想不到的效果。2、遗传算法同时使用多个搜索点的搜索信息在自然界中,群体的进化过程中由这个群体中每一个个体来承担完成的,个体的基因型的优化就代表着群体进化发展的过程。与之相似的,在模拟了这一过程的遗传算法中,其搜索过程是由很多个个体组成的群体开始的,并不像传统的优化算法那样,从单一的某一个点开始迭代搜索过程。对群体进行选择、交叉和变异操作,产生新一代的个体,实际上是对多个个体进行了更新,这是遗传算法特有的一种并行性,这样提升了搜索的效率。3、遗传算法使用概率搜索技术遗传算法具有很强的自适应性,在优化过程中,以分别以不

30、用的概率进行选择、交叉、变异操作。这样做看上去似乎增加了算法的不确定性,会在群体中产生一些产生一些适应度较低的个体,但实际上它增加了搜索的灵活性,提升了算法全局搜索的能力,而且随着进化的深入,适应度较低的个体出现的概率会越来越小,逐渐被淘汰,最终留下的都是适应度很强的个体,从而算法基本上都能以1的概率收敛到问题最优解。2.5 遗传算法的早熟现象分析“早熟”(Prematurity)是指在遗传算法进行的初期,群体中出现了适应度的值远远大于群体的平均适应度值的超级个体,由比例选择算子的原理可以知道,该个体被选择进行复制的概率会很大,因此该个体会在群体中迅速得到发展,占群体数量的绝大比例,而群体的多

31、样性会因此急剧下降,因此基本失去进化的能力的现象。由上面的分析可知,遗传算法早熟收敛的特点是超级个体在群体中所占的比例过大,每个个体都具有相似的基因型,群体的多样性下降。特别是在算法的后期,用传统的交叉操作,基本上已经无法产生新的个体;而变异操作的概率又很小,对改善群体的多样性起到的效果微乎其微。由于利用遗传算子,无法形成高阶竞争模式,所以算法会很快收敛到局部最优解。具体地进行分析,导致遗传算法早熟的原因有以下几种:(1)群体规模:群体规模过小时,就算交叉概率很大,也很难产生高阶竞争模式,而且较大的交叉概率会对已有模式产生破坏。同时,群体规模过小,有效模式难以传播。(2)群体初始化:初始群体被

32、局限在编码空间的局部区域,从而模式采样误差较大,GA无法全局搜索。(3)选择压力:选择压力是指在选择操作中,最优的个体被选中的概率同最差的个体被选中的概率之比。如果选择压力过大,则群体中的超级个体的数量会迅速提升,而较差的个体则会很快被淘汰,从而造成群体的多样性急剧下降,算法很快早熟收敛。(4)变异概率:当变异概率很小时,群体的多样性下降的趋势无法得到改善,有效基因丢失,从而算法很快收敛。通过对编码、适应度函数以及遗传算子的操作设计上进行一些改进,可以有效改善遗传算法的搜索能力,克服早熟收敛的缺陷。2.6 本章小结本章主要介绍了遗传算法的基本原理,构成要素以及应用步骤和流程,同时还分析了遗传算

33、法的主要特点和缺陷。通过本章的内容,我们可以了解到应用遗传算法求解优化问题时,应该着重注意可行解的编码方法、遗传算子的设计这两个方面,它决定了最终是否能够求出可靠的最优解。最后,针对遗传算法早熟收敛的缺陷,下一章将对这一问题提出改进。第三章免疫系统与免疫遗传算法3.1 生物免疫系统生物体内的免疫系统是保持生物免疫力,抵御外部细菌和病毒入侵的最重要的系统,其主要构成元素是淋巴细胞。淋巴细胞包括B细胞和T细胞。其中T细胞又称为抗原反应细胞,它收到抗原刺激后可以分化为淋巴母细胞,产生多种淋巴因子,引起细胞免疫反应。B细胞又称为抗体形成细胞,即可以产生抗体,主要原理是在抗原刺激下分化或增生成为浆细胞,

34、产生特异性免疫球蛋白(抗体)。当有外来侵犯的抗原时,免疫系统就会产生相应的抗原与抗体结合并产生一系列的反应,经过吞噬细胞的作用来破坏抗原。抗体是具有专一性,而且免疫系统还具备识别能力和记忆能力,可以对相同抗原做出更快的反应。生物免疫系统的抽象模型如图3.1所示。图3.1生物免疫系统抽象模型生物免疫系统可以针对各种不同的抗原都可以产生准确的抗体,这充分表现了其强大的自适应能力。如果我们将实际求解问题的目的函数与外来侵犯的抗原相对应,把问题的解与免疫系统产生的抗体相对应,就利用生物免疫系统自适应能力强的特点来进一步提高遗传算法的计算效果。免疫系统具有以下特征:(1)可以产生多种抗体;B细胞抗原刺激

35、下分化或增生成为浆细胞,产生特异性免疫球蛋白(抗体)来抵抗抗原,这种机制可以提高遗传算法全局优化搜索能力(2)自我调节机制:免疫系统通过抑制或者促进抗体进行自我调节,因此总可以维持平衡。同样的方法可以用来抑制或者促进遗传算法的个体浓度从而提高遗传算法的局部搜索能力。(3)具有记忆功能:当第一次抗原刺激后,免疫系统会将部分产生过相应抗体的细胞保留下来称为记忆细胞,如果同样的抗原再次刺激时便能迅速产生大量相应抗体。同样的方法可以用来加快遗传算法搜索的速度,使遗传算法反应更迅速、快捷。3.2 免疫遗传算法基本原理免疫遗传算法解决了遗传算法的早熟收敛问题,这种问题一般出现在实际工程优化计算中。因为遗传

36、算法的交叉和变异运算本身具有一定的盲目性,如果在最初的遗传算法中引入免疫的方法和概念,对遗传算法全局搜索的过程进行一定强度的干预,就可以避免很多重复无效的工作,从而提高算法效率。因为合理提取疫苗是算法的核心,为了更加稳定的提高群体适应度,算法可以针对群体进化过程中的一些推退化现象进行抑制。在生物免疫学的基础上我们发现,生物免疫系统的运行机制与遗传算法的求解是很类似的。在抵抗抗原时,相关细胞增殖分化进而产生大量抗体抵御。倘若将我们所求的目标函数及约束条件当做抗原,问题的解当做抗体,那么遗传算法求解的过程实际上就是生物免疫系统抵御抗原的过程。因为免疫系统具有辨识记忆的特点所以可以更快识别个体群体。

37、而我们所说的基于疫苗接种的免疫遗传算法就是将遗传算法映射到生物免疫系统中,结合工程运算得到的一种更高级的优化算法。面对带求解问题时,相当于面对各种抗原,可以提前注射“疫苗”来抑制退化问题,从而更加保持优胜劣汰的特点,使算法一直优化下去,即达到免疫的目的。3.3 免疫遗传算法步骤和流程免疫遗传算法流程见图3.2所示:图3.2免疫遗传算法流程图1、抗原识别。将我们所求的目标函数及约束条件当做抗原进行识别,来判定是否曾经解决过该类问题。2、初始抗体的产生,对应遗传算法就是的到解的初始值。经过对抗原的识别,如果曾解决过此类问题,则直接寻找相应记忆细胞,从而产生初始抗。3、记忆单元更新。选择亲和度高的抗

38、体进行存储记忆。4、抗体的抑制和促进。在免疫遗传算法中,由于亲和度高的抗体显然受到促进,传进下一代的概率更大,而亲和度低的就会受到抑制,这样很容易导致群体进化单一,导致局部优化。因此需要在算法中插入新的策略,保持群体的多样性。5、遗传操作。所谓的遗传操作,即经过交叉、变异产生下一代抗体的过程。免疫遗传算法通过考虑抗体亲和度以及群体多样性,选择抗体群体,进行交叉编译从而产生新一代抗体,保证种族向适应度高的方向进化。3.4 免疫遗传算法特点免疫遗传算法具有很多普通遗传算法没有的特点包括:1、可以提高抗体的多样性:B细胞抗原刺激下分化或增生成为浆细胞,产生特异性免疫球蛋白(抗体)来抵抗抗原,这种机制

39、可以提高遗传算法全局优化搜索能力2、可以自我调节:免疫系统通过抑制或者促进抗体进行自我调节,因此总可以维持平衡。同样的方法可以用来抑制或者促进遗传算法的个体浓度从而提高遗传算法的局部搜索能力。3、具有记忆功能:当第一次抗原刺激后,免疫系统会将部分产生过相应抗体的细胞保留下来称为记忆细胞,如果同样的抗原再次刺激时便能迅速产生大量相应抗体。同样的方法可以用来加快遗传算法搜索的速度,使遗传算法反应更迅速、快捷。3.5 本章小结本章首先介绍了生物免疫系统的机理,从生物免疫系统的抗体多样性、抗原多样性以及自适应性中得到了启发,得到了改进遗传算法早熟收敛缺陷的途径,从而提出了免疫遗传算法。最后,分析了免疫

40、遗传算法的主要特点,大大提升了标准遗传算法的搜索性能。第四章免疫遗传算法的改进免疫遗传算法和遗传算法的结构基本一致,最大的不同之处就在于,在免疫遗传算法中引入了浓度调节机制。进行选择操作时,遗传算法值只利用适应度值指标对个体进行评价;免疫遗传算法的选择策略变为:适应度越高,浓度越小,个体复制的概率越大;适应度越低,浓度越高的个体得到选择概率就越小。因此,免疫遗传算法可以有效地调节选择压力,具有更好的保持群体多样性的能力。但是几种改进方法的基在本章中,将介绍几种不同的考察抗体浓度的改进方法,本流程都基本一致,如图4.1所示:图4.1改进的免疫遗传算法流程图本章将介绍几种改进群体多样性的免疫遗传算

41、法:信息熵法、欧式距离法以及曼哈顿距离法。最后再提出一种新的抗体相似度定义,并结合精英策略提出一种新的免疫遗传算法。4.1基于信息熵的免疫遗传算法抗体群的信息熵定义如图4.2所示图4.2抗体群信息熵的定义则抗体群在第j个基因座上的信息熵为:S(4.1)(4.1)Hj(N)Pi,jlogPi,ji1由式(4.1)可以知道,如果所有抗体在第j个基因座上的数值都相同,那么Hj(N)=0抗体群的平均信息熵为:1MH(N)-Hj(N)(4.2)nj1因此,抗体v,w之间的相似度为:(4.3)1ayvw1H(2)其中H(2)是由抗体v,w这两个抗体构成的抗体群的平均信息熵。当H(2)=0,ayv,w=1,

42、这时抗体v与w完全相同。因此可以得到抗体相似和抗体浓度的定义。定义4-1根据式(4.3)计算出抗体v同w的相似度ayv,w。如果ayv,wTac,贝U抗体v同抗体w相似;若ayv,wTac,则抗体v同抗体w不相似。若抗体v同抗体w相似,则表征抗体是否相似的变量acv,w1,否则acv,w0。定义4-2抗体v的浓度为:(4.4)Nacv,ww1其中acv,wacv,w1,当ayv,wTac0,其他(4.5)该算法存在两个会对算法性能造成影响的缺陷:第一个缺陷:在一些特殊情况下,对二进制编码的个体计算平均信息熵时,定义4-1和定义4-2存在一些问题。例如,假设抗体群是由抗体v=(01111111和

43、抗体w=(组成的,则根据式(4.1)计算出的群体平均信息熵H(2)=0.693147,亲和度ayv,w=0.591。由计算结果看出,这两个抗体具有很大的差别,但是我们知道其实这两个抗体在实际问题的应用中,是两个很相近的解,两者应该被看做相似。第二个缺陷:涉及到抗体相似的定义。当目标函数是不连续的或者导函数的数值很大的时候,定义4-1和定义4-2中计算抗体浓度的方法在一些特殊的情况下可能会不准确。4.2基于欧式距离的免疫遗传算法郑日荣提出了一种基于欧式距离的免疫遗传算法,对其介绍如下:在n维空间中,欧氏距离的公式是:d.XiiXi22,i=1,2,,n(4.6)由此得出,抗体v,w间的欧氏距离可

44、以定义为:d(v,w)1(Viwi)2(4.7)nii定义4-3在抗体群中,抗体v和抗体w的欧式距离记为d(v,w);抗体v的适应度记为axv,抗体w的适应度记为axw,如果有下面两个式子成立:(4.8)(4.9)d(v,w)raxvaxwm则称抗体w与抗体v相似。其中r,m为给定的常数,且有r0,m0。抗体v的浓度是指抗体群中满足与v相似的条件的抗体的个数,记为Cv。定义4-4设抗体群的规模为N,则表征群体多样性程度的指标Idiv定义如下:divN2(4.10)(4.11)抗体v和抗体w之Cvv1其中,Cv为抗体V的浓度。则抗体V期望繁殖率定义如下axveNCvaxww1其中,axv为抗体v

45、的适应度。定义4-3中的式(4.8)反映了抗体v和抗体w的结构相似性,间的欧式距离越小,从二进制编码的结构上来讲,抗体编码的相似程度就越高;式(4.9)反映了抗体v和抗体w的品质相似性,两个抗体都是根据同一适应度函数作为评价指标,因此适应度之间的差值越小,它们同抗原的亲和力也就接近,两者在品质上就越相似。因此,定义4-3给出的抗体相似度定义方法,克服了定义4-1和定义4-2存在的缺陷。4.3曼哈顿距离法曼哈顿距离又叫出租车几何,它表示两个点在标准坐标系上绝对距离的总和。例如在直角坐标系中有一直角三角形ABC,直角边AC、BC分别同X轴,丫轴平行,则点A、B之间的曼哈顿距离为AC和AB长度之和。

46、根据曼哈顿距离的定义可以知道,在二维和三维空间中,两点之间的曼哈顿距离分别是:二维空间中:dxiX2y目2(4.12)三维空间中:dxx2y1y2z1z2(4.13)由此可以推出,n维空间中两点的曼哈顿距离是:dXi1Xi2,i=1,2,,n(4.14)基于曼哈顿距离的抗体相似度和浓度定义如下:定义4-5在抗体群中,抗体v和抗体w之间的曼哈顿距离记为d(v,w);抗体v的适应度记为axv,抗体w的适应度记为axw,如果有下面两个式子成立:(4.15)(4.16)d(v,w)raxvaxwm则称抗体w与抗体v相似。其中r,m为给定的常数,且有r0,m0。抗体v的浓度记为cv。根据式(4.14)所

47、示n维空间曼哈顿距离公式,可以得到抗体v,w间的曼哈顿距离公式为:d(v,w)Viwi(4.17)将公式(4.17)代入式(4.15),得:nViwi(4.18)当抗体v和w同时满足式(4.16)和式(4.18)时,则称抗体v和抗体w相似。4.4一种改进的免疫遗传算法抗体的相似度、浓度、选择概率和期望繁殖率的定义详细介绍如下:定义4-6抗体v和抗体w的欧式距离记为d(v,w),抗体v的适应度记为fv,抗体w的适应度记为fw,若满足:J(v,w)d(v,w)fvfw(419)其中&是一足够小的常数,则称抗体v与抗体w相似。式中,0是表征抗体v和抗体w的适应度差值|fvfw|在J(v,w)中重要性

48、程度的参数;为抗体相似度阈值。由4.3节可知,我们将式(4.7)代入式(4.19)可以得到:(4.20)J(v,w)J-viwifvfwLni1由此我们得到一种新的抗体相似度定义方法,如式(4.20)所示。这种定义有两个优点:第一个优点是一个公式就包含了欧式距离和适应度值这两个抗体相似的重要特征,使定义更加简洁明了;第二个优点是可变参数引入,使算法能够在保持群体多样性的同时,拥有较高的收敛速度,既而获得良好的搜索性能。例如:如果当前优化阶段的主要目的是保持群体的多样性,那么应该选择较大的值(1),这时,欧式距离对于相似度的影响就较小,从而降低了抗体的浓度,增加了群体的多样性,有利于收敛于全局的

49、最优解;如果当前阶段的主要目的是获得品质更优的抗体,那么的值应该减小,不过由此可能造成局部收敛。因此,如何合理选择,对算法的性能有着重要的影响般情况下,我们将般情况下,我们将与t的关系定义为如下公式:(4.21)NC2t2NC式中0是参数的初始值,NC为算法的最大迭代次数。该公式实际上是一个椭圆方程,它的曲线形状正好满足了我们对取值的要求。定义4-7设抗体k的浓度记为Ck,则抗体k的期望繁殖率ek记为:k(Ck)(4.22)是一个可调参数,表征了抗体浓度对期望繁殖率的影响程度。参数的引入改变了以往的算法中,抗体的繁殖率同抗体适应度与浓度的关系是固定的这一问题,从而使算法更具灵活性,大大提升了算

50、法的搜索性能:当大于1时,高浓度抗体会受到较大的影响,其期望繁殖率会衰减得很快,这起到了一个很好的浓度调节作用,保持了群体的多样性。当小于1时,低浓度抗体受到的影响较大,这加剧了优胜劣汰的过程,提高了算法收敛的速度。根据以上分析,可以知道的取值对算法性能的影响同取值对算法的影响基本一致,因此类似地有:(4.23)0NC2t22NC该公式实同样是一个椭圆方程,它的曲线形状正好满足了我们对取值的要求。定义4-8抗体k被选择进行复制的概率Psk定义为:(4.24)考虑了浓度的影响之后,免疫遗传算法可以很好的解决遗传算法存在的缺陷精英保留策略设计遗传算法的最主要的目的是得到优化问题的全局最优解。但是R

51、udolph通过一些理论证明了,当交叉概率2【,1】,变异概率Pm(叩)而且采用比例选择法时,如果只使用交叉、变异和选择三种遗传算子,遗传算法将不能收敛到全局最优解。遗传算法不能收敛到全局最优的主要原因在于当前群体的最优个体在发展到下一代的过程中发生了丢失。为此,DeJong提出了“精英选择”策略,其基本思想是:将目前群体中的最优个体选择出来,然后不经过交叉而直接复制到下一代。当精英个体直接被复制到下一代之后,新生成的群体要淘汰掉群体中适应度最小的个体,以此来保持群体规模不变。Rudolph在理论上证明了该算法是全局收敛的。为了进一步提升免疫遗传算法的搜索效率和收敛性能,我们提出一种新的免疫遗

52、传算法,其应用步骤如下所示:Step1:进行抗体群的初始化;Step2:计算出每个抗体的适应度,设立一个专用变量,将群体中适应度最大的抗体,精英抗体保存于其中;Step3:如果是初始抗体群,则转到Step6;否则,继续;Step4:比较各个抗体的适应度,若群体中每个抗体的适应度的值都小于精英抗体,则复制一个精英抗体到抗体群中,并删除群体中适应度最小的抗体;否则,继续Step5:若精英抗体的适应度的值小于群体中适应度最大的抗体的适应度的值;则用该抗体替代精英抗体;否则,继续;Step6:根据公式(4.2)计算每个抗体浓度;Step7:根据公式(4.22)计算每个抗体的期望繁殖率;依据公式(4.2

53、4)计算每个抗体的选择概率;对抗体群执行比例选择操作。Step8:执行交叉操作,交叉概率Pc0,1;Step9:执行精英交叉操作,精英交叉概率Pkc应非常小;StepIO:执行变异操作,变异概率Pm(0,1);Step11:判断设置条件是否满足。若条件满足,则输出结果,算法停止;若条件不满足,则返回到Step4,继续循环操作。这种免疫遗传算法,我们简称为IGAE(ImmuneGeneticAlgorithmwithElitism-IGAE)。Rudolph已经证明过,基于精英策略的标准遗传算法(SimpleGeneticAlgorithmwithElitism,SGAE)一定是全局收敛的,那么

54、比较IGAE和SGAE之后可以发现,两者的不同之处只在于:IGAE中引入了浓度调节机制,采用适应度和浓度两者指标对抗体进行评价,而SGAE只采用适应度指标进行评价,所以说在IGAE的选择算子中包含了比SGAE的选择算子更为丰富的信息。Rudolph的理论指出遗传算法是否能够全局收敛的标准标准在与是否有精英保留策略,而SGAE全局收敛的条件,IGAE都具备,而且IGAE同SGAE的不同之处不会对其主要的遗传操作造成影响,因此可以推断,IGAE也是全局收敛的。4.5 本章小结同遗传算法相比,免疫遗传算法引入了浓度的概念,使得免疫遗传算法的群体更新策略发生了很大的变化,在进行克隆操作时,个体的选择概

55、率既与适应度也与浓度有关,于是在本章中,介绍了几种改进群体多样性的方法。基于信息熵的免疫遗传算法有效地增强了算法的多样性保持能力,但是存在运算速度慢的问题,而且在抗体相似度定义方面存在两个缺陷。为了改进这两个缺陷,又分别提出了基于欧式距离与曼哈顿距离的免疫遗传算法,提升了算法的效率与搜索能力。最后,又结合精英保留策略和精英交叉策略,提出了一种改进的免疫遗传算法,并进行收敛性分析,证明了该算法在全局是收敛的。第五章基于免疫遗传算法的PID控制器设计比例-积分-微分控制器(PID)在工业领域得到了广泛的应用,大多数工业控制器都是PID控制器或其改进型。对PID控制器的设计和应用的核心问题之一就是其

56、参数的优化。控制器的参数优化就是就是对一个已经设计并且安装就绪的控制系统,通过控制器参数的调整,使得系统的过渡过程达到最为满意的质量指标15oPID控制器的参数优化是一个复杂的寻优过程,传统的PID控制器多采用试验法、试凑法等由人工进行优化,这样既费时又耗费大量资金,得到优化结果不一定最佳的。本章中将前面提到的免疫遗传算法应用于PID控制器的优化设计,将PID控制器的增益参数视为优化问题的解,通过不断的进化一直到算法的终止,从而得到PID控制器的最优的参数。5.1PID控制器控制基本原理PID控制系统分为被控对象和相应的控制器,而PID控制器是由P(比例)、丨(积分)、D(微分)三个环节组成,

57、设r(t)为输入量,y(t)为输出量。其结构如图5.1所示o图5.1PID控制器结构图PID控制器是线性的,误差即图中r(t)与y(t)的差e(t)r(t)y(t)(5.1)比例、积分、微分通过线性组合构成PID控制器。其控制律为:1tde(t)u(t)Kpe(t)0e()d心池(5.2)其中,Kp、Ki、Kd分别表示比例、积分时间、微分时间三个控制器参数,e(t)代表系统误差,u(t)即控制器的输出。因为计算机只能处理离散的数据,这就产生了所谓的数字PID控制器。将式(5.2)离散化得到:ku(k)Kpe(k)Kie(j)Kde(k)e(k1)j0(5.3)式中,Ki=KpT/Ti,Kd=KpTd/T,T是采样周期。Ki、Kd分别为积分增益,微分

温馨提示

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

评论

0/150

提交评论