基于matlab的遗传算法研究及仿真大学论文.doc
《基于matlab的遗传算法研究及仿真大学论文.doc》由会员分享,可在线阅读,更多相关《基于matlab的遗传算法研究及仿真大学论文.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Matlab的遗传算法研究及仿真姓名: 学号: 学院: 机 电 学 院 指导教师: 日期: 2016-7-20 摘要本文首先介绍了遗传算法的基本思想、遗传算法的构成要素、遗传算法的特点、遗传算法的基本模型、遗传算法的应用情况及今后的研究方向等等的内容。之后是基于Matlab 7.0下的遗传算法求解函数最值问题。本人选择了函数优化这个应用领域,按照遗传算法的步骤,即编码、解码、计算适应度(函数值)、选择复制运算、 交叉运算和变异运算,对函数进行求解最值。第三部分:对遗传算法求函数最值问题的改进。这部分主要针对本文第二部分进行改进,通过改变基本遗传算法运行参数值, 如改变交叉概率Pc值和变异概
2、率Pm值,从而使最优值更加接近相对标准下函数的最值。关 键 词:遗传算法 适应度 交叉概率 变异概率Study and Application of Genetic AlgorithmAbstract:Firstly,the outline of the Genetic Arithmetic,mainly introduced the Genetic Arithmetics mentality、elements、specialty、fundamental model、applied situation and direction of the following research and so
3、 on. Secondly,the problem of solving functions maximal and minimum value of the Genetic Arithmetic on the basic of Matlab 7.0. As a new optimized method,used widely in some aspects,such as computing and science、model identity、intelligence obstacles diagnoses,it is fit to solve the problems of compli
4、cated nonlinear and multidimensioned space to find out the optimal value, which applied widely in recent years. I choose functions perfecting and according to its steps : coding,decoding,working the adaptive degree (function value),selective reproductive operation,across operation,differentiation op
5、eration and working out the maximal and minimum value. Thirdly,betterment of using the Genetic Arithmetic to get functions maximal and minimum value. This part make use of method that changing the basal Genetic Arithmetic to make maximal and minimum value approaching the one that from opposite stand
6、ard,such as a change of probability of across value Pc and differentiation value Pm.Key words: Genetic Algorithm; The adaptive degree; Probability of Crossover; Probability of Mutation1 前言 生命科学与工程科学的相互交叉、相互渗透和相互促进是近代科学技术发展的一个显著特点,而遗传算法的蓬勃发展正体现了科学发展的这一特征和趋势。遗传算法(Genetic Algorithm-GA),是模拟达尔文的遗传选择和自然淘汰
7、的生物进化过程的计算模型,它是由美国Michigan大学的J.Holland教授于1975年首先提出的。J.Holland教授和他的研究小组围绕遗传算法进行研究的宗旨有两个:一是抽取和解释自然系统的自适应过程,二是设计具有自然系统机理的人工系统。毫无疑问,J.Holland教授的研究无论对自然系统还是对人工系统都是十分有意义的。众所周知,在人工智能领域中,有不少问题需要在复杂而庞大的搜索空间中寻找最优解或准最优解。因此,研究能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程,从而得到最优解或准最优解的通用搜索算法一直是令人瞩目的课题。遗传算法就是这种特别有效的算法。它的主要
8、特点是简单、通用、鲁棒性强,适用于并行分布处理,应用范围广。尽管遗传算法本身在理论和应用方法上仍有许多待进一步研究的问题,但它在组合优化问题求解、自适应控制、规划设计、机器学习和人工生命等领域的应用中已发展现了其特色和魅力。2 遗传算法概述2.1 生物进化理论和遗传学的基本知识在介绍遗传算法之前,有必要了解有关的生物进化理论和遗传学的基本知识。达尔文的生物进化论告诉我们,“适者生存,优胜劣汰”。在生物自然环境中,生物种群的自然繁衍,生存,发展,最终取决于它对自然环境的适应能力。当一个种群相对其他种群,对周围的环境能够显示出良好的适应能力,它将在生物竞争中处于优势地位,获取较大的生存机会,反之,
9、该种群则趋向于消亡。所以,一个种群的优异的适应能力是该种群得以繁衍发展的根本。从达尔文的进化论我们可以看出,生物环境对生物的进化主要通过三个途径来进行:选择,交叉和变异。遗传算法是一种模拟生物进化过程的学习方法,它操作的对象是由多个个体构成的种群,通过对种群中的成员模拟生物进化的方式来产生下一代种群,新种群总是在旧种群的基础上获得改进和提高,周而复始,从而使得种群的整体质量朝着优良的方向发展。由于遗传算法是借鉴生物进化的思想,所以,遗传算法仍然沿用生物学中的一些术语。染色体:它是遗传算法中运行的最基本的单位,是特定问题在算法中的表现形式,一般由二进制的数串所组成;基因:它是染色体的最小组成单位
10、,在二进制数串中它由一个数位来表示;基因片:多个基因构成基因片;种群:种群是由多个染色体构成的集合,它的数目称之为种群规模;适应度:适应度反映了染色体所蕴涵的问题解质量的优劣,一般来说,染色体的适应度是一个非负数;适应度函数:染色体到适应度之间的映射关系;选择:遗传算子之一,是算法基于适应度对染色体进行优胜劣汰的操作过程;交叉:遗传算子之一,是算法产生新个体的途径之一,又称之为基因重组;变异:遗传算子之一,是算法产生新个体的途径之一,是小概率发生事件。遗传算法所借鉴的生物学基础就是生物的遗传、变异和进化。遗传-世间的生物从其父代继承特性或性状,这种生命现象就称为遗传。生物的遗传方式有以下三个:
11、(1) 复制生物的主要遗传方式是复制。遗传过程中,父代的遗传物质DNA被复制到子代。即细胞在分裂时,遗传物质DNA通过复制而转移到新生的细胞中,新细胞就继承了旧细胞的基因。(2) 交叉有性生殖生物在繁殖下一代时,两个同源染色体之间通过交叉而重组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交叉组合而形成两个新的染色体。(3) 变异在进行细胞复制时,虽然概率很小,仅仅有可能产生某些复制差错,从而使DNA发生某种变异,产生出新的染色体。这些新的染色体表现出新的性状。生物的不同品种都属于变异,在丰富多彩的生物界中,蕴含着形形色色的变异现象。在这些变异现象中,有的仅仅是由于环境因素的影
12、响造成的,并没有引起生物体内的遗传物质的变化,因而不能够遗传下去,属于不遗传的变异。有的变异现象是由于生殖细胞内的遗传物质的改变引起的,因而能够遗传给后代,属于可遗传的变异。敌酋上的生物,都是经过长期进化而形成的。根据达尔文的自然选择学说,地球上的生物具有很强的繁殖能力。在繁殖过程中,大多数生物通过遗传,使物种保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。正是由于生物的不断繁殖后代,生物数目大量增加,而自然界中生物赖以生存的资源却是有限的。因此,为了生存,生物就需要竞争。生物在生存竞争中,根据对环境的适应能力,适者生存,不适者消亡。自然界中的生物,就是根据这种优胜劣汰的原
13、则,不断地进行进化。2.2 遗传算法的基本思想遗传算法实质上是一种繁衍、监测和评价的迭代算法。它一般要包含以下几个处理步骤:(1) 对问题的解进行编码,即用染色体表示问题的可能潜在解,生成经过编码的初始种群,适应度函数因优化问题的目标函数而定;(2) 根据适应度大小挑选个体进行遗传操作; (3) 按照适者生存和优胜劣汰的原理逐代演化,得到问题的最优解或近似最优解。每个个体在种群演化过程中都被评价优劣并得到其适应度值,个体在选择、交叉以及变异算子的作用下向更高的适应度进化以达到寻求问题最优解的目标。2.3 遗传算法的构成要素遗传算法中包含五个基本要素,即染色体的编码方法、适应度函数、遗传算子、基
14、本遗传算法运行参数及约束条件的处理。每个要素对应不同的环境有各种相应的设计策略和方法,而不同的策略和方法决定了相应的遗传算法具有不同的特征。2.3.1 染色体编码方法遗传算法不能直接处理问题空间的参数,而需要把问题的可行解从其解空间转换到遗传算法所能处理的搜索空间中,这一转换方法就称为编码。一般来说,由于遗传算法的鲁棒性,它对编码的要求并不苛刻。但由于编码的方法对于个体的染色体排列形式,以及个体从搜索空间的基因型到解空间的表现型的转换和遗传算子的运算都有很大影响,因此编码方法在很大程度上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。针对一个具体应用问题,如何设计一种完美的编码方案是遗
15、传算法的应用难点,而目前还没有一套既严密又完整的指导理论及评价准则能帮我们设计编码方案。对于实际应用问题,仍须对编码方法、选择运算方法、交叉运算方法、变异运算方法、解码方法统一考虑,以寻求到一种对问题的描述最为方便、遗传运算效率最高的编码方案。在目前看来,人们已经提出了许多种不同的编码方法,主要有:二进制编码、格雷码和浮点数编码等等。2.3.2 适应度函数适应度函数指为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数。遗传算法在进化搜索中基本不利用外部信息,仅以种群中每个个体的适应度函数值为依据进行搜索,因此适应度函数的选取至关重要。 遗传算法常常将目标函数直接作为适应度
16、函数,但由于在执行选择操作时,它要按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的几率,而要正确计算此概率,要求所有个体的适应度值必须非负。2.3.3 遗传算子(1) 选择算子选择操作建立在对个体的适应度进行评价的基础之上,适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体被遗传到下一代群体中的概率较小,因而可以避免有效基因的损失,使高性能的个体得以较大的概率生存,从而提高全局收敛性和计算效率。最常用的选择算子是比例选择算子,它是以正比于个体适应度值的概率来选择相应的个体。另外还有比较常用的选择算子还有:最优保存策略选择、排序选择和随机联赛选择。(2) 交叉
17、算子遗传算法中,在交叉运算之前还必须先对群体中的个体进行随机配对,然后在这些配对个体组中两个个体之间进行交叉操作。交叉算子用于组合产生新的个体,它要求对个体编码串中的优良模式不能有太多的破坏并且能有效的产生出一些较好的新个体模式,以便在解空间中能进行有效搜索,且保证对有效模式的破坏概率较小。最常用的交叉算子有单点交叉算子和算术交叉算子。(3) 变异算子在生物的遗传和进化过程中,生物的某些基因偶尔会发生变异,从而产生出新的个体,虽然其概率比较小,但对新物种的产生也是一个不可忽视的因素。模仿生物遗传和进化过程中的这种变异现象,在遗传算法中引入了变异算子来产生新的个体。在遗传运算过程中,当交叉操作产
18、生的后代适应度值不再进化且没有达到最优时,意味着算法陷入了早熟。早熟的根源在于有效基因的缺损,变异算子在一定程度上克服了这种情况,它可以改善遗传算法的局部搜索能力,增加种群的多样性。2.3.4 基本遗传算法运行参数遗传算法中有下面几个参数对遗传算法的运行有很大影响,需认真选取,它们是:个体编码串长度l、群体大小M、复制概率Pr、交叉概率Pc、变异概率Pm、终止代数T。 (1) 编码串长度l使用二进制编码表示个体时,编码串长度l的选取与问题所要求的求解精度有关;使用浮点数编码来表示个体时,编码串长度l与决策变量的个数n相等;另外,也可使用变长度的编码来表示个体。(2) 群体大小M当M取值较小时,
19、可提高遗传算法的运算速度,但却降低了群体的多样性,有可能会引起遗传算法的早熟现象;而当M取值较大时,又会使得遗传算法的运行效率降低。一般建议的取值范围是20100。(3) 复制概率Pr复制操作建立在对个体的适应度进行评价的基础之上,适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体被遗传到下一代群体中的概率较小,复制概率不可取的太大,也不可以取的太小。(4) 交叉概率Pc交叉概率一般取值较大。但如果太大,它会破坏群体中的优良模式,对进化运算不利。一般建议的取值范围是0.40.99。另外,也可使用自适应的思想来确定交叉概率Pc。(5) 变异概率Pm如果变异概率Pm取值太大,则容易破
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 遗传 算法 研究 仿真 大学 论文
限制150内