最优控制遗传算法综述精品毕业设计完整版Word格式.docx
《最优控制遗传算法综述精品毕业设计完整版Word格式.docx》由会员分享,可在线阅读,更多相关《最优控制遗传算法综述精品毕业设计完整版Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
2遗传算法基本理论1
2.1遗传算法的基本步骤1
2.2遗传算法的现状2
2.3遗传算法的应用3
2.3.1函数优化3
2.3.2组合优化4
2.3.3生产调度问题4
2.3.4自动控制4
2.3.5机器人学4
2.3.6图像处理4
2.3.7人工生命4
2.3.8遗传编程4
2.3.9机器学习4
2.3.10数据挖掘4
3遗传算法的研究方向4
参考文献4
1前言
遗传算法(GeneticAlgorithm,GA)是近年来迅速发展起来的一种全新的随机搜索与优化算法,其基本思想是基于Darwin的进化论和Mendel的遗传学说。
该算法由密执安大学教授Holland及其学生于1975年创建[1]。
此后,遗传算法的研究引起了国内外学者的关注。
自1985年以来,国际上已召开了多次遗传算法的学术会议和研讨会,国际遗传算法学会组织召开的ICGA(InternationalConferenceonGeneticAlgorithms)会议和FOGA(WorkshoponFoundationofGeneticAlgorithms)会议,为研究和应用遗传算法提供了国际交流的机会。
近年来,遗传算法已被成功地应用于工业、经济管理、交通运输、工业设计等不同领域,解决了许多问题[2]。
例如,可靠性优化、流水车间调度、作业车间调度、机器调度、设备布局设计、图像处理以及数据挖掘等。
本文将从遗传算法的理论和技术两方面概述目前的研究现状,描述遗传算法的主要特点、基本原理以及各种改进算法,介绍遗传算法的应用领域,并对遗传算法的性能进行分析。
2遗传算法基本理论
2.1遗传算法的基本步骤
遗传算法的思想源于生物遗传学和适者生存的自然规律,是具有“生存+检测”的迭代过程的搜索算法。
它以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。
其中,选择、交叉和变异构成了遗传算法的遗传操作;
参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
我们习惯上把1975Holland年提出的GA称为传统的GA。
它的主要步骤如下:
(1)编码:
GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点。
(2)初始群体的生成:
随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。
GA以这N个串结构数据作为初始点开始迭代。
(3)适应度评估检测:
适应度(适应性函数)表明个体或解的优劣性。
不同的问题,适应度的定义方式也不同。
(4)选择:
选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。
遗传算法通过选择过程体现这一思想,进行选择的原则是适应性强的个体为下一代贡献一个或多个后代的概率大。
选择实现了达尔文的适者生存原则。
(5)交换:
交换操作是遗传算法中最主要的遗传操作。
通过交换操作可以得到新一代个体,新个体组合了其父辈个体的特性。
交换体现了信息交换的思想。
(6)变异:
变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变串结构数据中某个串的值。
同生物界一样,GA中变异发生的概率很低,通常取值在0.001-0-01之间。
变异为新个体的产生提供了机会。
[3]
遗传算法的流程为:
开始
{
选择编码方式;
产生初始群体;
计算初始群体的适应度;
若不满足结束条件则循环执行:
选择操作;
交换操作;
变异操作;
计算新一代群体的适应度;
}
结束[3]
2.2遗传算法的现状
仿生过程算法:
遗传算法
仿生结构算法:
神经网络
仿生行为算法:
模糊逻辑
仿生算法是一大类目前研究的比较火热的算法,遗传算法是其中一个重要的分支。
仿生算法
图1仿生算法组成图
在遗传算法的研究中,主要有三类研究方向:
(1)研究遗传算法本身的理论基础。
(2)用遗传算法作为工具解决工程问题,主要是进行优化,关心的是是否能在传统方法上有所提高。
(3)用遗传算法研究演化现象,一般涉及到人工生命和复杂性科学领域。
[6]
在工程实践中的遗传算法应用主要是利用了其并行性和全局搜索的特点来进行优化。
尽管遗传算法本身是一种通用弱方法,仍需要尽量结合特定领域的知识,实现解决特定问题的一个遗传算法特定实现,其范围可能更窄,但效果会更好。
遗传算法在应用中最关键的问题有如下3个:
(1)串的编码方式:
其本质是问题编码。
一般把问题的各种参数用二进制编码,构成子串;
然后把子串拼接构成“染色体”串。
串长度及编码形式对算法收敛影响极大。
(2)适应度的确定:
适应度也称适应函数(fitnessfunction)或目标函数(objectivefunction),这是问题求解品质的测量函数;
往往也称为问题的“环境”。
一般可以把问题的模型函数作为目标函数;
但有时需要另行构造。
(4)遗传算法自身参数设定:
遗传算法自身参数有3个,即群体大小n、交叉概率P。
和变异概率P_,群体大小n太小时难以求出最优解,太大则增长收敛时间,一般n=30^-160;
交叉概率P。
太小时难以向前搜索,太大则容易破坏高适应值的结构,一般取P}=O.25^-0.75;
变异概率Pm太小时难以产生新的基因结构,太大使遗传算法成了单纯的随机搜索,一般取Pm-0.01一0.2。
事实上,遗传算法不仅可以解决我们一般意义所理解的最优化问题,现在在越来越多的领域内取得了成功:
图像分割,图像检测,图像识别,神经网络权重设计,数据挖掘,载人航天,大坝安全监测,天线设计,物流管理,控制理论,集成电路设计,聚类分析,医疗诊断,材料设计⋯。
可见,遗传算法的应用研究已从初期的组合优化求解拓展到了许多更新、更工程化的应用方面。
[5]
2.3遗传算法的应用
遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。
下面是遗传算法的一些主要应用领域。
2.3.1函数优化
函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例。
很多人构造出了各种各样的复杂形式的测试函数,有连续函数也有离散函数,有凸函数也有凹函数,有低维函数也有高维函数,有确定函数也有随机函数,有单峰值函数也有多峰值函数等,用这些几何特性各具特色的函数来评价遗传算法的性能,更能反映算法的本质效果。
而对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法较难求解,而遗传算法却可以方便地得到较好的结果。
2.3.2组合优化
随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在目前的计算机上用枚举法很难或甚至不可能求出其精确最优解。
对这类复杂问题,人们已意识到应把主要精力放在寻求其满意解上,而遗传算法是寻求这种满意解的最佳工具之一。
实践证明,遗传算法已经在求解旅行商问题、背包问题、装箱问题、布局优化、图形划分问题等各种具有NP难度的问题得到成功的应用。
2.3.3生产调度问题
生产调度问题在很多情况下建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化得太多而使得求解结果与实际相差甚远。
目前在现实生产中主要是靠一些经验来进行调度。
现在遗传算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线生产间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用[9]。
2.3.4自动控制
在自动控制领域中有很多与优化相关的问题需要求解,遗传算法已在其中得到了初步的应用,并显示出良好的效果。
例如用遗传算法进行航空控制系统的优化、使用遗传算法设计空间交会控制器、基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工神经网络的结构优化设计和权值学习等,都显示出了遗传算法在这些领域中应用的可能性[11]。
2.3.5机器人学
机器人是一类复杂的难以精确建模的人工系统,而遗传算法的起源就来自于人工自适应系统的研究,所以,机器人学理所当然地成为遗传算法的一个重要应用领域。
例如,遗传算法已经在移动机器人路径规划、关节机器人运动轨迹规划、机器人逆运动学求解、细胞机器人的结构优化和行为协调等方面得到研究和应用[12,13]。
2.3.6图像处理
图像处理是计算机视觉中的一个重要研究领域。
在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会存在一些误差,从而影响图像的效果。
如何使这些误差最小是使计算机视觉达到实用化的重要要求。
遗传算法在这些图像处理中的优化计算方面找到了用武之地,目前已在模式识别(包括汉字识别)、图像恢复、图像边缘特征提取等方面得到了应用[10]。
2.3.7人工生命
人工生命是用计算机、机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统。
自组织能力和自学习能力是人工生命的两大主要特征。
人工生命与遗传算法有着密切的关系。
基于遗传算法的进化模型是研究人工生命现象的重要基础理论,虽然人工生命的研究尚处于启蒙阶段,但遗传算法已在其进化模型、学习模型、行为模型、自组织模型等方面显示出了初步的应用能力,并且必将得到更为深入的应用和发展。
人工生命与遗传算法相辅相成,遗传算法为人工生命的研究提供一个有效的工具,人工生命的研究也必将促进遗传算法的进一步发展。
2.3.8遗传编程
1989年,美国Standford大学的Koza教授发展了遗传编程的概念,其基本思想是:
采用树型结构表示计算机程序,运用遗传算法的思想,通过自动生成计算机程序来解决问题。
虽然遗传编程的理论尚未成熟,应用也有一些限制,但它已成功地应用于人工智能、机器学习等领域,目前公开的遗传编程实验系统有十多个,例如,Koza开发的ADF系统,White开发的GPELST系统等[11]。
2.3.9机器学习
学习能力是高级自适应系统所具备的能力之一,基于遗传算法的机器学习,特别是分类器系统,在很多领域中都得到了应用。
例如,遗传算法被用于学习模糊控制规则,利用遗传算法来学习隶属度函数,从而更好地改进了模糊系统的性能;
基于遗传算法的机器学习可用来调整人工神经网络的连接权,也可用于人工神经网络结构优化设计;
分类器系统也在学习式多机器人路径规划系统中得到了成功的应用。
2.3.10数据挖掘
数据挖掘是近几年出现的数据库技术,它能够从大型数据库中提取隐含的、先前未知的、有潜在应用价值的知识和规则。
许多数据挖掘问题可看成是搜索问题,数据库看作是搜索空间,挖掘算法看作是搜索策略。
因此,应用遗传算法在数据库中进行搜索