毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx

上传人:b****7 文档编号:26519967 上传时间:2023-06-20 格式:DOCX 页数:39 大小:302.07KB
下载 相关 举报
毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx_第1页
第1页 / 共39页
毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx_第2页
第2页 / 共39页
毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx_第3页
第3页 / 共39页
毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx_第4页
第4页 / 共39页
毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx

《毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx(39页珍藏版)》请在冰豆网上搜索。

毕业设计论文基于matlab的遗传算法研究及仿真管理资料.docx

毕业设计论文基于matlab的遗传算法研究及仿真管理资料

 

基于Matlab的遗传算法研究及仿真

 

姓名:

学号:

学院:

机电学院

指导教师:

日期:

2016-7-20

 

摘    要

本文首先介绍了遗传算法的基本思想、遗传算法的构成要素、遗传算法的特点、遗传算法的基本模型、遗传算法的应用情况及今后的研究方向等等的内容。

之后是基于Matlab。

本人选择了函数优化这个应用领域,按照遗传算法的步骤,即编码、解码、计算适应度(函数值)、选择复制运算、交叉运算和变异运算,对函数进行求解最值。

第三部分:

对遗传算法求函数最值问题的改进。

这部分主要针对本文第二部分进行改进,通过改变基本遗传算法运行参数值,如改变交叉概率Pc值和变异概率Pm值,从而使最优值更加接近相对标准下函数的最值。

关键词:

遗传算法适应度交叉概率变异概率

StudyandApplicationofGeneticAlgorithm

Abstract:

Firstly,theoutlineoftheGeneticArithmetic,mainlyintroducedtheGeneticArithmetic’smentality、elements、specialty、fundamentalmodel、appliedsituationanddirectionofthefollowingresearchandsoon.Secondly,theproblemofsolvingfunctions’maximalandminimumvalueoftheGeneticArithmeticonthebasicofMatlab.Asanewoptimizedmethod,usedwidelyinsomeaspects,suchascomputingandscience、modelidentity、intelligenceobstaclesdiagnoses,itisfittosolvetheproblemsofcomplicatednonlinearandmultidimensionedspacetofindouttheoptimalvalue,whichappliedwidelyinrecentyears.Ichoosefunctionsperfectingandaccordingtoitssteps:

coding,decoding,workingtheadaptivedegree(functionvalue),selectivereproductiveoperation,acrossoperation,differentiationoperationandworkingoutthemaximalandminimumvalue.Thirdly,bettermentofusingtheGeneticArithmetictogetfunctions’maximalandminimumvalue.ThispartmakeuseofmethodthatchangingthebasalGeneticArithmetictomakemaximalandminimumvalueapproachingtheonethatfromoppositestandard,suchasachangeofprobabilityofacrossvaluePcanddifferentiationvaluePm.

Keywords:

GeneticAlgorithm;Theadaptivedegree;ProbabilityofCrossover;ProbabilityofMutation

1前言

生命科学与工程科学的相互交叉、相互渗透和相互促进是近代科学技术发展的一个显著特点,而遗传算法的蓬勃发展正体现了科学发展的这一特征和趋势。

遗传算法(GeneticAlgorithm---GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,。

一是抽取和解释自然系统的自适应过程,二是设计具有自然系统机理的人工系统。

毫无疑问,。

众所周知,在人工智能领域中,有不少问题需要在复杂而庞大的搜索空间中寻找最优解或准最优解。

因此,研究能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程,从而得到最优解或准最优解的通用搜索算法一直是令人瞩目的课题。

遗传算法就是这种特别有效的算法。

它的主要特点是简单、通用、鲁棒性强,适用于并行分布处理,应用范围广。

尽管遗传算法本身在理论和应用方法上仍有许多待进一步研究的问题,但它在组合优化问题求解、自适应控制、规划设计、机器学习和人工生命等领域的应用中已发展现了其特色和魅力。

2遗传算法概述

生物进化理论和遗传学的基本知识

在介绍遗传算法之前,有必要了解有关的生物进化理论和遗传学的基本知识。

达尔文的生物进化论告诉我们,“适者生存,优胜劣汰”。

在生物自然环境中,生物种群的自然繁衍,生存,发展,最终取决于它对自然环境的适应能力。

当一个种群相对其他种群,对周围的环境能够显示出良好的适应能力,它将在生物竞争中处于优势地位,获取较大的生存机会,反之,该种群则趋向于消亡。

所以,一个种群的优异的适应能力是该种群得以繁衍发展的根本。

从达尔文的进化论我们可以看出,生物环境对生物的进化主要通过三个途径来进行:

选择,交叉和变异。

遗传算法是一种模拟生物进化过程的学习方法,它操作的对象是由多个个体构成的种群,通过对种群中的成员模拟生物进化的方式来产生下一代种群,新种群总是在旧种群的基础上获得改进和提高,周而复始,从而使得种群的整体质量朝着优良的方向发展。

由于遗传算法是借鉴生物进化的思想,所以,遗传算法仍然沿用生物学中的一些术语。

染色体:

它是遗传算法中运行的最基本的单位,是特定问题在算法中的表现形式,一般由二进制的数串所组成;

基因:

它是染色体的最小组成单位,在二进制数串中它由一个数位来表示;

基因片:

多个基因构成基因片;

种群:

种群是由多个染色体构成的集合,它的数目称之为种群规模;

适应度:

适应度反映了染色体所蕴涵的问题解质量的优劣,一般来说,染色体的适应度是一个非负数;

适应度函数:

染色体到适应度之间的映射关系;

选择:

遗传算子之一,是算法基于适应度对染色体进行优胜劣汰的操作过程;

交叉:

遗传算子之一,是算法产生新个体的途径之一,又称之为基因重组;

变异:

遗传算子之一,是算法产生新个体的途径之一,是小概率发生事件。

遗传算法所借鉴的生物学基础就是生物的遗传、变异和进化。

遗传---世间的生物从其父代继承特性或性状,这种生命现象就称为遗传。

生物的遗传方式有以下三个:

(1)复制

生物的主要遗传方式是复制。

遗传过程中,父代的遗传物质DNA被复制到子代。

即细胞在分裂时,遗传物质DNA通过复制而转移到新生的细胞中,新细胞就继承了旧细胞的基因。

(2)交叉

有性生殖生物在繁殖下一代时,两个同源染色体之间通过交叉而重组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交叉组合而形成两个新的染色体。

(3)变异

在进行细胞复制时,虽然概率很小,仅仅有可能产生某些复制差错,从而使DNA发生某种变异,产生出新的染色体。

这些新的染色体表现出新的性状。

生物的不同品种都属于变异,在丰富多彩的生物界中,蕴含着形形色色的变异现象。

在这些变异现象中,有的仅仅是由于环境因素的影响造成的,并没有引起生物体内的遗传物质的变化,因而不能够遗传下去,属于不遗传的变异。

有的变异现象是由于生殖细胞内的遗传物质的改变引起的,因而能够遗传给后代,属于可遗传的变异。

敌酋上的生物,都是经过长期进化而形成的。

根据达尔文的自然选择学说,地球上的生物具有很强的繁殖能力。

在繁殖过程中,大多数生物通过遗传,使物种保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。

正是由于生物的不断繁殖后代,生物数目大量增加,而自然界中生物赖以生存的资源却是有限的。

因此,为了生存,生物就需要竞争。

生物在生存竞争中,根据对环境的适应能力,适者生存,不适者消亡。

自然界中的生物,就是根据这种优胜劣汰的原则,不断地进行进化。

遗传算法的基本思想

遗传算法实质上是一种繁衍、监测和评价的迭代算法。

它一般要包含以下几个处理步骤:

(1)对问题的解进行编码,即用染色体表示问题的可能潜在解,生成经过编码的初始种群,适应度函数因优化问题的目标函数而定;

(2)根据适应度大小挑选个体进行遗传操作;(3)按照适者生存和优胜劣汰的原理逐代演化,得到问题的最优解或近似最优解。

每个个体在种群演化过程中都被评价优劣并得到其适应度值,个体在选择、交叉以及变异算子的作用下向更高的适应度进化以达到寻求问题最优解的目标。

遗传算法的构成要素

遗传算法中包含五个基本要素,即染色体的编码方法、适应度函数、遗传算子、基本遗传算法运行参数及约束条件的处理。

每个要素对应不同的环境有各种相应的设计策略和方法,而不同的策略和方法决定了相应的遗传算法具有不同的特征。

染色体编码方法

遗传算法不能直接处理问题空间的参数,而需要把问题的可行解从其解空间转换到遗传算法所能处理的搜索空间中,这一转换方法就称为编码。

一般来说,由于遗传算法的鲁棒性,它对编码的要求并不苛刻。

但由于编码的方法对于个体的染色体排列形式,以及个体从搜索空间的基因型到解空间的表现型的转换和遗传算子的运算都有很大影响,因此编码方法在很大程度上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。

针对一个具体应用问题,如何设计一种完美的编码方案是遗传算法的应用难点,而目前还没有一套既严密又完整的指导理论及评价准则能帮我们设计编码方案。

对于实际应用问题,仍须对编码方法、选择运算方法、交叉运算方法、变异运算方法、解码方法统一考虑,以寻求到一种对问题的描述最为方便、遗传运算效率最高的编码方案。

在目前看来,人们已经提出了许多种不同的编码方法,主要有:

二进制编码、格雷码和浮点数编码等等。

适应度函数

适应度函数指为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数。

遗传算法在进化搜索中基本不利用外部信息,仅以种群中每个个体的适应度函数值为依据进行搜索,因此适应度函数的选取至关重要。

遗传算法常常将目标函数直接作为适应度函数,但由于在执行选择操作时,它要按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的几率,而要正确计算此概率,要求所有个体的适应度值必须非负。

遗传算子

(1)选择算子

选择操作建立在对个体的适应度进行评价的基础之上,适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体被遗传到下一代群体中的概率较小,因而可以避免有效基因的损失,使高性能的个体得以较大的概率生存,从而提高全局收敛性和计算效率。

最常用的选择算子是比例选择算子,它是以正比于个体适应度值的概率来选择相应的个体。

另外还有比较常用的选择算子还有:

最优保存策略选择、排序选择和随机联赛选择。

(2)交叉算子

遗传算法中,在交叉运算之前还必须先对群体中的个体进行随机配对,然后在这些配对个体组中两个个体之间进行交叉操作。

交叉算子用于组合产生新的个体,它要求对个体编码串中的优良模式不能有太多的破坏并且能有效的产生出一些较好的新个体模式,以便在解空间中能进行有效搜索,且保证对有效模式的破坏概率较小。

最常用的交叉算子有单点交叉算子和算术交叉算子。

(3)变异算子

在生物的遗传和进化过程中,生物的某些基因偶尔会发生变异,从而产生出新的个体,虽然其概率比较小,但对新物种的产生也是一个不可忽视的因素。

模仿生物遗传和进化过程中的这种变异现象,在遗传算法中引入了变异算子来产生新的个体。

在遗传运算过程中,当交叉操作产生的后代适应度值不再进化且没有达到最优时,意味着算法陷入了早熟。

早熟的根源在于有效基因的缺损,变异算子在一定程度上克服了这种情况,它可以改善遗传算法的局部搜索能力,增加种群的多样性。

基本遗传算法运行参数

遗传算法中有下面几个参数对遗传算法的运行有很大影响,需认真选取,它们是:

个体编码串长度l、群体大小M、复制概率Pr、交叉概率Pc、变异概率Pm、终止代数T。

(1)编码串长度l

使用二进制编码表示个体时,编码串长度l的选取与问题所要求的求解精度有关;使用浮点数编码来表示个体时,编码串长度l与决策变量的个数n相等;另外,也可使用变长度的编码来表示个体。

(2)群体大小M

当M取值较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,有可能会引起遗传算法的早熟现象;而当M取值较大时,又会使得遗传算法的运行效率降低。

一般建议的取值范围是20~100。

(3)复制概率Pr

复制操作建立在对个体的适应度进行评价的基础之上,适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体被遗传到下一代群体中的概率较小,复制概率不可取的太大,也不可以取的太小。

(4)交叉概率Pc

交叉概率一般取值较大。

但如果太大,它会破坏群体中的优良模式,对进化运算不利。

~。

另外,也可使用自适应的思想来确定交叉概率Pc。

(5)变异概率Pm

如果变异概率Pm取值太大,则容易破坏群体中的优良模式,使得遗传算法的搜索趋于随机性;如果取值过小,则它产生新个体和抑制早熟的能力会较差。

~。

另外也可使用自适应的思想来确定变异概率,如取Pm与其上一代群体间的海明距离成反比,其结果会有效地维持群体的多样性。

(6)终止代数T

终止代数T是表示遗传算法运行结束条件的一个参数,一般建议的取值范围是100~500。

至于遗传算法的终止条件,还可以利用别的判定准则。

遗传算法的特点

遗传算法利用了生物进化和遗传的基本思想,所以它与许多传统优化算法的特点不同,可以充分的缩短搜索时间。

传统的优化方法主要有三种:

枚举法、启发式算法和搜索算法。

(1)枚举法

枚举法是指枚举出可行解集合内的所有可行解,以求得精确的最优解。

对于连续的函数,该方法要求先对其进行离散化处理,这样就有可能产生离散误差而永远达不到最优解。

但是当枚举空间比较大时,该方法的求解效率比较低,有时甚至在目前最先进的计算工具上都无法求解。

(2)启发式算法

启发式算法是指寻求一种能产生可行解的启发式规则,以找到一个最优解或近似最优解。

该方法的求解效率虽然比较高,但是对于每一个需要求解的问题都必须找出其特有的启发式规则,这个启发式规则没有通用性,不适合于所有的问题。

(3)搜索算法

搜索算法是指寻求一种算法,能在可行解集合的一个子集内进行搜索操作,以找到问题的最优解或者近似最优解。

该方法虽然保证不了一定能够得到问题的最优解,但是如果适当的利用一些启发知识,就可在近似解的质量和求解效率上达到一种较好的平衡。

而遗传算法既是一种自然进化系统的计算模型,也是一种通用的求解优化问题的适应性搜索方法。

随着问题种类的不同以及问题规模的扩大,要寻求一种能以有限的代价来解决搜索和优化的通用方法,遗传算法正是提供了一种有效的途径,它不同于传统的优化方法,它具备的特点主要有以下几个方面:

(1)遗传算法采用群体搜索寻找最优解,而不是从单个个体搜索寻找最优解。

搜索轨道有多条,而非单条,覆盖面大,利于全局择优。

这是遗传算法与传统优化算法的最大区别,传统优化算法是从单个个体搜索寻找最优解,效率比较低。

(2)遗传算法求解时利用适应度函数值信息,并不需要问题导数等与问题直接相关的信息。

所以说在所定义的函数不连续、多峰或不可微的情况下,也能以很大的概率收敛到全局最优解。

(3)遗传算法是以决策变量的编码作为运算对象。

在优化过程中借鉴生物学中染色体和基因等概念,模拟自然界中生物的遗传和进化等机理,应用遗传操作,可方便求解无数值概念或很难有数值概念的优化问题,这样的话,遗传算法就克服了非数值变量的操作。

(4)遗传算法有极强的容错能力。

遗传算法的初始解集本身就带有大量与最优解相差甚远的信息,通过选择、交叉、变异操作能迅速排除与最优解相差极大的解,这是一个强烈的滤波过程。

并且是一个并行滤波机制。

因此,遗传算法有很高的容错能力,因为它就相当预先就进行了运算,或则说在内部就进行了运算,大大增加了运算的效率。

(5)遗传算法使用概率搜索技术。

它属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一定的概率进行的,增加了其搜索过程的灵活性。

实践和理论证明了在一定条件下遗传算法总是以概率1收敛于问题的最优解。

(6)遗传算法具有隐含的并行性。

并行性是指两个或多个事件在同一时刻发生,这样就大大增加了运算的速度。

遗传算法的基本模型

(1)将问题的解表示为编码串(生物学术语称为染色体),每一码串代表问题的一个可行解。

(2)随机产生一组串长为m的初始群体,该群体就是问题的一个可行解的集合。

(3)分别将编码串译码成寻优参数,计算对应的目标函数并变换为适应值。

(4)根据码串个体适应值的高低,执行应用复制、交换和变异算子产生下一代群体。

(5)返回步骤3,直到满足停止准则为止。

这样,反复执行步骤3到步骤5,使码串群体一代代不断进化,最后搜索到最适应问题的个体,求得问题的最优解,其流程图如图1所示。

图1遗传算法流程图

遗传算法的应用

遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域、对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。

下面是遗传算法的一些主要应用领域:

1函数优化

函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例。

很多人构造出了各种各样的复杂形式的测试函数,有连续函数也有离散函数,有凸函数也有凹函数,有低维函数也有高维函数,有确定函数也有随机函数,有单峰值函数也有多峰值函数等,用这些几何特性各具特色的函数来评价遗传算法的性能,更能反映算法的本质效果。

而对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法较难求解,而遗传算法却可以方便地得到较好的结果。

2组合优化

随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在目前的计算机上用枚举法很难或甚至不可能求出其精确最优解。

对这类复杂问题,人们已意识到应把主要精力放在寻求其满意解上,而遗传算法是寻求这种满意解的最佳工具之一。

实践证明,遗传算法已经在求解旅行商问题、背包问题、装箱问题、布局优化、图形划分问题等各种具有NP难度的问题得到成功的应用。

3生产调度问题

生产调度问题在很多情况下建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化得太多而使得求解结果与实际相差甚远。

目前在现实生产中主要是靠一些经验来进行调度。

现在遗传算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线生产间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用。

4自动控制

在自动控制领域中有很多与优化相关的问题需要求解,遗传算法已在其中得到了初步的应用,并显示出良好的效果。

例如用遗传算法进行航空控制系统的优化、使用遗传算法设计空间交会控制器、基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工神经网络的结构优化设计和权值学习等,都显示出了遗传算法在这些领域中应用的可能性。

5机器人学

机器人是一类复杂的难以精确建模的人工系统,而遗传算法的起源就来自于人工自适应系统的研究,所以,机器人学理所当然地成为遗传算法的一个重要应用领域。

例如,遗传算法已经在移动机器人路径规划、关节机器人运动轨迹规划、机器人逆运动学求解、细胞机器人的结构优化和行为协调等方面得到研究和应用。

6图像处理

图像处理是计算机视觉中的一个重要研究领域。

在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会存在一些误差,从而影响图像的效果。

如何使这些误差最小是使计算机视觉达到实用化的重要要求。

遗传算法在这些图像处理中的优化计算方面找到了用武之地,目前已在模式识别(包括汉字识别)、图像恢复、图像边缘特征提取等方面得到了应用。

7人工生命

人工生命是用计算机、机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统。

自组织能力和自学习能力是人工生命的两大主要特征。

人工生命与遗传算法有着密切的关系。

基于遗传算法的进化模型是研究人工生命现象的重要基础理论,虽然人工生命的研究尚处于启蒙阶段,但遗传算法已在其进化模型、学习模型、行为模型、自组织模型等方面显示出了初步的应用能力,并且必将得到更为深入的应用和发展。

人工生命与遗传算法相辅相成,遗传算法为人工生命的研究提供一个有效的工具,人工生命的研究也必将促进遗传算法的进一步发展。

8遗传编程

1989年,美国Standford大学的Koza教授发展了遗传编程的概念,其基本思想是:

采用树型结构表示计算机程序,运用遗传算法的思想,通过自动生成计算机程序来解决问题。

虽然遗传编程的理论尚未成熟,应用也有一些限制,但它已成功地应用于人工智能、机器学习等领域,目前公开的遗传编程实验系统有十多个。

9机器学习

学习能力是高级自适应系统所具备的能力之一,基于遗传算法的机器学习,特别是分类器系统,在很多领域中都得到了应用。

例如,遗传算法被用于学习模糊控制规则,利用遗传算法来学习隶属度函数,从而更好地改进了模糊系统的性能;基于遗传算法的机器学习可用来调整人工神经网络的连接权,也可用于人工神经网络结构优化设计;分类器系统也在学习式多机器人路径规划系统中得到了成功的应用。

10数据挖掘

数据挖掘是近几年出现的数据库技术,它能够从大型数据库中提取隐含的、先前未知的、有潜在应用价值的知识和规则。

许多数据挖掘问题可看成是搜索问题,数据库看作是搜索空间,挖掘算法看作是搜索策略。

因此,应用遗传算法在数据库中进行搜索,对随机产生的一组规则进行进化,直到数据库能被该组规则覆盖,从而挖掘出隐含在数据库中的规则。

Sunil已成功地开发了一个基于遗传算法的数据挖掘工具,利用该工具对两个飞机失事的真实数据库进行了数据挖掘实验,结果表明遗传算法是进行数据挖掘的有效方法之一。

遗传算法今后的研究方向

遗传算法是多学科结合与渗透的产物,已经发展成一种自组织、自适应的综合技术,广泛应用在计算机科学、工程技术和社会科学等领域。

其研究工作主要集中在以下几个方面:

1基础理论

它包括进一步发展遗传算法的数学基础,从理论和试验研究它们的计算复杂性。

在遗传算法中,群体规模和遗传算子的控制参数的选取非常困难,但它们又是必不可少的试验参数。

在这方面,已有一些具有指导性的试验结果。

遗传算法还有一个过早收敛的问题,怎样阻止过早收敛也是人们正在研究的问题之一。

2分布并行遗传算法

遗传算法在操作上具有高度的并行性,许多研究人员都在探索在并行机和分布式系统上高效执行遗传算法的策略。

对分布并行遗传算法的研究表明,只要通过保持多个群体和恰当控制群体间的相互作用来模拟并行执行过程,即使不使用并行计算机,也能提高算法的执行效率。

3分类系统

分类系统属于基于遗传算法的机器学习中的一类,包括一个简单的基于串规则的并行生成子系统、规则评价子系统和遗传算法子系统。

分类系统被人们越来越多地应用在科学、工程和经济领域中,是目前遗传算法研究中一个十分活跃的领域。

4遗传神经网络

它包括连接权、网络结构和学习规则的进化。

遗传算法与神经网络相结合,正成功地用于从时间序列分析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1