自适应遗传算法研究论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自适应遗传算法的研究
摘要:本文首先介绍了自适应遗传算法的发展史和基本步骤,然后对自适应遗传算法的编码、适应度计算、选择、自适应交叉、自适应变异这些阶段的具体实现方法以及近些年来对这些方面的一些经验和改进策略进行了详细介绍,最后,对自适应遗传算法的研究现状以及对未来的展望做了一个简单总结。
关键词:自适应遗传算法;改进方法;性能
中图分类号:p731.2 文献标识码:a 文章编号:
1006-3315(2011)2-175-002
一、引言
遗传算法是由美国michigan大学的holland教授在1975年提出来的,它来源于达尔文的进化理论和孟德尔、摩根的遗传学理论,目前已在函数优化、机器学习、图像识别、网络构造等许多领域得到了广泛的应用。
它的优越性得到学术界的一致认可,然而,基本遗传算法也存在诸如局部搜索能力差,收敛速度慢等缺点。
因此,寻找性能更优越的新算法是研究的难点与热点问题之一。
二、遗传算法的发展
1.20世纪60年代,john holland教授和他的数位博士受到生物模拟技术的启发,认识到自然遗传可以转化为人工遗传算法。
1962年john holland提出了利用群体进化模拟适应性系统的思想,引进了群体适应值、选择,变异、交叉等基本概念。
2.1967年,j.d.ba-ely在其论文中首次提出了“遗传算法”的
概念。
3.1975年,holland出版了《自然与人工系统中的适应性行为》。
该书系统地阐述了遗传算法的基本理论和方法,提出了遗传算法的基本定理—模式定理,从而奠定了遗传算法理论基础。
4.20世纪80年代初,holland教授实现了第一个基于遗传算法的机器学习系统——分类器系统(classifier system简称cs),开创了基于遗传算法的机器学习的新概念。
5.1989年,david goldber-出版了《搜索、优化和机器学习中的遗传算法》。
该书全面系统地总结了当时关于遗传算法的研究成果,结合大量的实例,完整的论述了遗传算法的基本原理及应用,奠定了现代遗传算法的基础。
6.1992年,john r.koza出版了专著,提出了遗传编程概念,并成功把遗传编程的方法应用于人工智能、机器学习、符号处理等方面。
三、自适应遗传算法的基本步骤
(1)初始化运行参数;(2)初始化种群,对染色体进行编码;(3)计算个体的适应度等关键参数;(4)判断结束条件,当条件满足时,结束操作。
当不满足时进行以下操作:①按照某种策略从父代中选出与父代相同数目的个体形成交配池;②进行自适应交叉操作;③进行自适应变异操作;④产生新一代种群;(5)转到第(3)步。
四、自适应遗传算法存在的问题
(1)编码问题;(2)早熟问题;(3)收敛速度慢;(4)参数选择;(5)
不稳定性;(6)参数计算式的选取
五、自适应遗传策略的研究与改进方法
1.编码
编码就是把自然问题描述为编码的形式,生成编码的原则是:所定编码应当易于生成与所求问题相关的最小字符集。
目前主要的编码技术有:一维染色体编码、多参数映射编码、可变染色体长度编码等。
2.群体规模
对于种群的规模,一般是在初始阶段设定好的。
复杂程度不同的问题,相应的初始种群的设定也不同。
3.适应度函数
适应度函数是评价个体适应环境的能力,在进行选择操作时经常用到,它的选取是否恰当直接影响到遗传算法的性能,所以就形成了很多计算适应度的函数,改进这些适应度函数是为了使适应度能更好的反应个体的优劣,使得适应度低的个体被淘汰,适应度高的个体被保留。
4.选择算子
选择的作用是确定将要进行交叉的个体,现在常用的选择方法很多,但是,它们大多有一个共同的特点,就是都是基于适应度的选择,适应度大的个体被选中的概率就大,适应度小的个体被选中的概率就小。
5.交叉算子
交叉操作是把两个父代个体的部分结构加以替换重组而生成新个体的操作。
基本遗传算法的交叉概率是固定的,自适应交叉概率是随着进化过程的进行自适应调整的,在进化的开始阶段,交叉概率要选的大一些,这样的粗搜过程有利于保持种群的多样性,而在后期,则需要进行细搜,也就是减小交叉概率,防止破化最优解,加快收敛速度。
6.变异算子
自适应变异是变异概率依照种群的进化特征而变化的过程。
一般的变异概率都在0.5以内选取,变异概率过大,对解的破化性也比较大,容易使得到的最优解丢失,变异概率太小,会使算法收敛到最优解的速度减慢。
所以,自适应的变异概率一般采取从大到小的变化方式。
六、自适应遗传算法的应用
1.函数优化
函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数。
对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。
2.在运筹学中的应用
传统的运筹学理论缺乏对变动环境的适应性,所以很多情况下求解耗费的时间比最优解维持最优的寿命还要长,遗传算法却能很好的解决传统方法难以求解的高维或大计算量的问题,比如说旅行商
问题等。
3.机器学习
机器学习针对的是维数很高、总体很大、环境复杂、问题结构不十分清楚的问题。
学习系统要具有随时间推移逐步调整有关参数或者改变自身结构以更加适应其环境,更好完成目标的能力。
七、现状与展望
随着遗传算法的发展以及其应用领域的扩大,近些年来,许多新的改进的算法不断被提出。
遗传算法也与一些别的经典算法相结合,比如说粒子群算法、鱼群算法、单纯算法等。
通过结合,使得算法的性能不断提高。
也有很多算法在不同的遗传步骤中添加一些新的策略来提高算法性能。
总之,改进的算法目标是为了使遗传算法通过改进以后能够更快更好地应用于实际问题中。
参考文献:
[1]王小平,曹立明,遗传算法:理论、应用与软件实现[m],西安:西安交通大学出版社,2002
[2]李敏强,寇纪淞,林丹,李书全,遗传算法的基本理论与应用[m],北京:科学出版社,2002。