遗传算法理论与应用发展研究详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016-2017学年一学期研究生课程考核
(读书报告、研究报告)
考核科目:现代设计理论与方法
学生所在院(系):机电工程学院
学生所在学科:机械设计及其自动化
姓名:董云蒙
学号:1602210067
题目:遗传算法理论与应用发展研究
第1页(共9页)
遗传算法理论与应用发展研究
摘要:遗传算法起源于自然界生物进化基本法则,本文主要对遗传算法的起源与发展过程、算法原理以及运用的、算法的特点及其在实际工程的运用,与其他算法的比较、联合运用等内容进行了综述。
该算法并不需要特别知识。
遗传算法是一种全局最优化方法,该算法使用范围广泛,能有效地处理复杂的非线性问题,在很多领域都有广泛的应用,因此有着广阔的应用前景。
关键词:遗传算法优化方法
Abstract: Genetic algorithms originate from the basic laws of biological evolution in nature. In this paper,the origin and development of genetic algorithm,the principle and application of genetic algorithm,the characteristics of the algorithm and its application in practical engineering are compared with other algorithms. The algorithm does not require special knowledge. Genetic algorithm (GA) is a global optimization method. It is widely used in many fields and can deal with complex nonlinear problems effectively. So it has a wide application prospect.
Key words: genetic algorithm Optimization
1 遗传算法的起源与发展
遗传算法(Genetic Algorithm,GA)是模拟达尔文生物进化论的自然选择和遗传机理的生物进化过程的计算模型算法,即遵循适者生存、优胜劣汰的法则。
在科学和生产实践中表现为,在所有可能的解决方法中找出最符合该问题所要求的条件的解方法,即找出一个最优解。
遗传算法自诞生以来就受到许多学者的关注。
经过30多年的不断发展,在基础理论和算法设计研究上都取得了长足的进步,尤其是在越来越多的领域中得到成功应用。
遗传算法作为一种仿生优化算法,为复杂系统优化提供解决方案,实践证明其效果显著,被认为是21世纪有关智能计算中的关键技术之一。
进入21世纪以来,应用领域将是遗传算法的主要研究方向,同时其理论和技术研究也需要进一步深入完善,可引入新的数学工具和生物学的新成果。
在60年代,Holland教授了发现生物的遗传和自然进化与和人工智能自适应系统的相似关系,提出在研究和设计人工自适应系统时,可以借鉴生物的遗传机制,以群体的方式进行自适应搜索。
Bagley在他的博士论文中第一次运用了遗传算法这个词语,采用双倍体编码。
发展了复制、交叉、变异、显性倒位等遗传算子。
与此同时他还发现了防止早熟收敛机理的重要性,由此还发展了遗传算法的理论概念。
Rosenberg在他的博士论文中对单细胞生物群体的计算机仿真研究,他的研究为遗传函数在函数优化中的使用提供了基础。
到了70年代,Holland提出了遗传算法的基本定理—模式定理,并且在1975年出版了第一部有关遗传算法和生物自适应系统的专著—《自然系统和人工系统的适配》,这本书对遗传算法做出了比较详细的论述,提出了模拟生物自适应的理论,并且为遗传算法打下了数学基础。
国内有关遗传算法的研究自九十年代与来也一直处于不断上升的阶段,近年来,遗传算法的应用在许多领域取得了令人瞩目的成果。
例如在2004年,赵宏立等人针对于相对简单的遗传算法,在相对大范围组合优化问题上搜索效率较低的问题提出一种新的基于基因块编码的并行遗传算法。
此方法的基本框架为处理度并行遗传算法,在染色体的群体中分辨出可能的基因块,把新的基因块作为基因单位,然后以新的基因单位重新编码染色体,就这样生成了较短长度染色体的新一代种群。
2 遗传算法的研究方向
遗传算法是多学科结合与渗透的产物,它已经发展成为一种自组织、自适应的综合技术,广泛应用在计算机科学、工程技术和社会科学等领域。
其研究方向主要有下述几个方面:
①基础理论:遗传算法的数学理论并不完善,张玲[12]等对遗传算法的模式定理和隐性并行性进行了分析研究,指出其不足并指出遗传算法本质上是一个具有定向制导的随机搜索技术。
在遗传算法中,群体规模和遗传算子的控制参数的选取非常困难,但它们有时必不可少的试验参数。
遗传算法还有一个过早收敛的问题,如何阻止过早收敛也是正在研究的问题之一。
②分布式并行遗传算法:遗传算法在操作上具有高度的并行性,许多研究人员都在探索并行机和分布式系统上高效执行遗传算法的策略。
研究表明,只要通过保持多个群体和恰当控制群体间的相互作用来模拟并发执行过程,即使不使用并行计算机,也能提高算法的执行效率。
遗传算法的并行性主要从三个方面考虑,即个体适应度评价的并行性、整个群体各个个体适应度评价的并行性及子代群体产生过程的并行性。
③分类系统
分类系统属于基于遗传算法的机器学习中的一类,包括一个简单的基于串规则的并行生成子系统,规则评价子系统和遗传算法子系统。
分类系统被越来越多地应用到科学、工程和经济领域,是目前遗传算法研究中一个十分活跃的方向。
④遗传神经网络
遗传神经网络包括连接级、网络结构和学习规则的进化。
遗传算法与神经网络相结合,成功地用于从分析时间序列来进行财政预算。
在这些系统中,信号是模糊的,数据是有噪声的,般很难正确给出每个执行的定量评价.如果采用遗传算法,就能克服这些困难,显著提高系统性能。
⑤进化算法
模拟自然进化过程可以产生鲁棒的计算机算法——进化算法。
遗传算法是其三种典型的算法之一,其余两种算法是进化规划和进化策略,这三种算法是独立发展起来的。
⑥人工生命与遗传算法
近几年来,通过计算机模拟再现种种生命现象,已达到对生命更深刻理解的人工生命的研究正在兴起。
己有不少学者对生态系统的演变、食物链的维持以及免疫系统的进化等用遗传算法做了生动的模拟。
遗传算法在实现人工生命中的基本地位和能力究竟如何,这是值得研究的课题。
3 遗传算法原理
对于一般的参数优化问题,通常均可以表示为:
目标函数:minF=f(x,y,z)F∈R
约束条件:G(x,y,z)≥ (x,y,z)∈Ω
遗传算法是先将问题的一组基本解可行解(x i,y i,z i)编码表示为一组二进制的字符串,每个字符包含几个字符串,每个子字符串的某一位或几位的组合成为一个基因,又称为染色体;然后再对这些基因进行某些操作,逐步实现参数的最优化。
在自然界中,组成生物群体中的每个单个之间会有一定差异,对于环境要求和适应能力各不相同,适合自然界中生物进化论中的基本原则,优胜劣汰、适者生存,淘汰较差的个体,通过染色体和基因遗传给子代,通过染色体核基因的重新组合产生生命力更强的新的个体与由它们组成的新群
体。
在特定的条件下,基因会发生突变,产生新基因和生命力更强的新个体:但突变是非遗传的,随着个体不断更新,群体不断朝着最优方向进化,遗传算法是真实模拟自然界生物进化机制进行寻优的。
在此算法中,被研究的体系的响应曲面看作为一个群体,相应曲面上的每一个点作为群体中的一个个体,个体用多维向量或矩阵来描述,组成矩阵和向量的参数相应于生物组成染色体的基因,染色体用固定长度的二进制串表述,通过交换、突变等遗传操作,在参数的一定范围内进行随机搜索,不断改善数据结构,构造出不同的向量,相当于得到了被研究的不同的解,目标函数值较优的点被保留,目标函数值较差的点被淘汰。
4 遗传算法的特点
遗传算法是一种宏观意义下的仿生算法。
它是基于达尔文的进化论和Mendel的遗传学说,通过模拟达尔文“优胜劣汰、适者生存”的原理激励好的结构,和通过模拟Mendd遗传变异理论在迭代过程中保持已有的结构,同时寻找更好的结构。
作为一种随机的优化与搜索方法,遗传算法有着以下几个显著的特点:
①首先组成一组候选解;
②依据某些适应性条件测算这些候选解的适应度;
③根据适应度保留某些候选解,放弃其他候选解;
④对保留的候选解进行某些操作,生成新的候选解;
⑤遗传算法从问题解的串集开始嫂索,不是从单个解开始;
⑥减少了陷入局部最优解的风险;
⑦遗传算法基本上不用搜索空间的知识或其它辅助信息;
⑧遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向;
⑨具有自组织、自适应和自学习性。
遗传算法虽然是一种优化算法,但是像其它算法一样也具有它的限制性。
编码规范性不高以及编码存在表达准确性较差;对于单一的遗传算法编码并不能完全地将优化问题的约束表达出来;通常的遗传算法效率比其他传统的优化方法较低;容易很早出现收敛;对算法的精确度、可信度、计算过程的简易性等方面,并没有做出合理的分析。
遗传算法是一种迭代算法,它每次迭代算都会产生一组新解,这组解初始解的生成具有随机性,在每次迭代后新解由模拟进化和继承的遗传操作生成,每个解都有一目标函数给与评判,一次迭代成为一代。
典型的算法有以下几个步骤:
①初始化,即随机生成一个符号串群体;
②基于适度函数对符号串进行评价;
③应用一组遗传操作生成一个新的符号串群体;
5 遗传算法的应用
遗传算法可以解决连续变量参数的优化问题,特别是适用于复杂非线性问题的处理。
可用于NMR 脉冲形状分析、RNA核苷酸测定、DNA构象分析、分子识别和设计、变量选择等,在分析化学、环境科学、机械设计中的应用也非常广泛。
遗传算法提供了一种求解非线性、多模型、多目标等复杂系统优化问题的通用框架,它不依赖于问题所属的具体领域。
遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题具体的领域,对问题的种类有很强的鲁棒性,所以广泛应用于许多学科。
下面是遗传算法一些主要的应用领域。
①函数优化
函数优化时遗传算法的最为广泛应用领域,对遗传算法进行性能评价的经常应用算例。
研究人员可以用不同的函数来对遗传算法的性能进行验证。
常常在求解一些非线性的、多模型的、多目标的函数优化等方面的问题也取的了不错的效果。
②组合优化
随着现代问题的不断增多,组合优化问题的搜索空间也急剧扩大,有时在目前计算机上用枚举法很难甚至不能求解出问题的最优解,而遗传算法就是寻求这种满意解得最佳工具之一。
随着对遗传算法技术的不断研究,人们对遗传算法的实际应用也越来越重视,已经广泛地应用于函数优化、组合优化、自动控制、机器人学、图像处理、人工智能、遗传编码、机器学习等科技领域。
遗传算法对求解旅行商、背包、装箱、图形划分等方面问题取得成功。
③生产调度问题
遗传算法也可以应用于解决生产调度等复杂问题。
在产品生产车间调度、流水线生产车间调度、产品生产规划、加工任务分配等方面,遗传算法在这些方面问题都得到了很好地使用。
④自动控制
在自动控制领域中也有不少需要求解与优化有关的问题,遗传算法在这些问题方面也得到了应用,并得到了不错的效果。
例如,基于遗传算法的模糊控制器优化应用,用遗传算法对航空控制系统进行优化等。
'
⑤机器人学
机器人是一类比较复杂并且难于建立模型的人工系统,遗传算法起源于对人工自适应系统的研究。
例如,遗传算法在移动机器人路径规划、机器人逆运动学求解也可以得到应用。
⑥图像处理
图像处理处在计算机视觉中的较为重要领域,而在处理图像过程中,难免会存在着误差。
如何
较小误差,使计算机视觉达到实用化,遗传算法得到了很好的应用。
⑦机器学习
基于遗传算法的机器学习可用于调整人工神经网络的连接权,也可用于神经网络结构的优化设计。
⑧数据挖掘
数据挖掘是指大型数据库或数据仓库中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式,它是数据库研究中的一个很有应用价值的新领域,基于遗传算法的特点,遗传算法可用于数据挖掘中的规则开采。
⑨信息战
遗传算法在信息战领域得到了初步应用。
使用遗传算法能够进行雷达目标识别、数据挖掘、作战仿真、雷达辐射源、雷达天线优化设计、雷达目标跟踪、盲信号处理、空间谱估计、天线设计等。
6 与传统算法的比较
6.1 遗传算法与爬山法的比较
爬山法是直接法、梯度法和Hesse法几种的通称。
爬山法首先在最优解有可能存在的地方选择一个初始点,然后通过分析目标函数的特征,有初始点移到一个新的点,然后再继续这个过程。
爬山法的搜索过程是确定的,它通过产生一系列的点收敛到最优解(有时是局部最优解),而遗传算法的搜索过程是随机的,它产生一系列随机种群序列。
6.2 遗传算法与穷举法的比较
穷举法就是对解空间内的所有可行解进行搜索,但是通常的穷举法并不是完全穷举法,即不是对所有解进行尝试,而是有选择地尝试,如动态规划法、限界剪枝法。
对于特定的问题,穷举法有时也表现出很好的性能。
但一般情况下,对于完全穷举法,方法简单易行,但求解效率太低;对于动态规划法、限界剪枝法,则鲁棒性不强。
相比较而言,遗传算法具有较高的搜索能力和极强的鲁棒性。
6.3 遗传算法与盲目随机法的比较
与上述的搜索方法相比,盲目随机搜索有所改进,但它的搜索效率仍然不高。
一般而言,只有在搜索空间中形成紧密分布时,它的搜索效果才有效。
但是遗传算法作为导向随机搜索方法,是对一个被编码的参数空间进行高效搜索。
经过上面的探讨,能看到遗传算法与传统优化算法在本质上有着不同之处,主要有四个不同:
①遗传算法搜索种群中的点是并行的,而不是单点;
②遗传算法并不需要辅助信息或辅助知识,只需要影响搜索方向的目标函数和相对应的适应度;
③遗传算法使用概率变换规则,而不是确定的变换规则;
④遗传算法工作使用编码参数集,而不是自身的参数集。
7 结论
遗传算法是一种全局最优化方法,在整个优化过程中,并不需要过多的先验知识,能够从局部中找到了全部优点,能有效地处理复杂的非线性问题。
尽管对于遗传算法及其在分析化学、环境科学、机械设计中的应用研究取得了部分可喜的成果,但对于算法本身来说,如何进一步提高收敛速率、遗传算子的研究、与其他算法的联用等方面都还可以做较多的工作:在应用研究方面,除去以上所述领域,并且还能用在化工、冶金、材料、仪器仪表等诸多需要进行优化设计的领域应用,有广阔的应用前景。
参考文献
[1] 房亚东,陈桦.现代设计方法与应用[M].北京:机械工业出版社.
[2] 马永杰,云文霞. 遗传算法研究进展[J]. 计算机应用研究,2012.
[3] 边霞,米良. 遗传算法理论及其应用研究进展[J]. 计算机应用研究,2010.
[4] 曹道友. 基于改进遗传算法的应用研究[D].安徽大学,2010.
[5] 葛继科,邱玉辉,吴春明,蒲国林. 遗传算法研究综述[J]. 计算机应用研究,2008.
[6] 崔珊珊. 遗传算法的一些改进及其应用[D].中国科学技术大学,2010.
[7] 田莹,苑玮琦. 遗传算法在图像处理中的应用[J]. 中国图形学报,2007.
[8] 唐文艳. 结构优化中的遗传算法研究和应用[D].大连理工大学,2002.
[9] 汪松泉. 遗传算法在组合优化中的应用研究[D].安徽大学,2010.
[10]Brindle A. Genetic Algorithms for Function Optimization. Ph. D Dissertation, University of Alberta, 1981.
[11] Back T. The Interaction of Mutation Rate, Selection and Self- Adaptation within a Genetic Algorithm. In: Parallel Problem Solving from Nature 2, North Holland, 1992.。