遗传算法的研究及应用毕业设计
遗传算法解决TSP问题【精品毕业设计】(完整版)
GA(Fitness,Fitness_threshold,p,r,m)
Fitness:适应度评分函数,为给定假设赋予一个评估分数
Fitness_threshold:指定终止判据的阈值
p:群体中包含的假设数量
r:每一步中通过交叉取代群体成员的比例
m:变异率
初始化群体:P←随机产生的p个假设
在本程序的TSP问题中一共有20个城市,也就是在图模型中有20个顶点,因此一个染色体的长度为20。
3.3适应函数f(i)
对具有n个顶点的图,已知各顶点之间( , )的边长度d( , ),把 到 间的一条通路的路径长度定义为适应函数:
对该最优化问题,就是要寻找解 ,使f( )值最小。
3.4选择操作
选择作为交叉的双亲,是根据前代染色体的适应函数值所确定的,质量好的个体,即从起点到终点路径长度短的个体被选中的概率较大。
(2)交叉(Crossover):对于选中进行繁殖的两个染色体X,Y,以X,Y为双亲作交叉操作,从而产生两个后代X1,Y1.
(3)变异(Mutation):对于选中的群体中的个体(染色体),随机选取某一位进行取反运算,即将该染色体码翻转。
用遗传算法求解的过程是根据待解决问题的参数集进行编码,随机产生一个种群,计算适应函数和选择率,进行选择、交叉、变异操作。如果满足收敛条件,此种群为最好个体,否则,对产生的新一代群体重新进行选择、交叉、变异操作,循环往复直到满足条件。
3.变异:使用均匀的概率从Ps中选择m%的成员.对于选出的每个成员,在它表示中随机选择一个为取反
4.更新:P←Ps
5.评估:对于P中的每个h计算Fitness(h)
从P中返回适应度最高的假设
3.
3.1 TSP问题的图论描述
基本遗传算法【精品毕业设计】(完整版)
基本遗传算法【精品毕业设计】(完整版)遗传算法1、遗传算法⽣物学基础和基本理论达尔⽂⾃然选择学说认为,⽣物要⽣存下去,就必须进⾏⽣存⽃争。
⽣存⽃争包括种内⽃争、种间⽃争以及⽣物跟⽆机环境之间的⽃争三个⽅⾯。
在⽣存⽃争中,具有有利变异(mutation)的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产⽣后代的机会也少得多。
因此,凡是在⽣存⽃争中获胜的个体都是对环境适应性⽐较强的。
达尔⽂把这种在⽣存⽃争中适者⽣存,不适者淘汰的过程叫做⾃然选择。
达尔⽂的⾃然选择学说表明,遗传和变异是决定⽣物进化的内在因素。
遗传是指⽗代与⼦代之间,在性状上存在的相似现象。
变异是指⽗代与⼦代之间,以及⼦代的个体之间,在性状上或多或少地存在的差异现象。
在⽣物体内,遗传和变异的关系⼗分密切。
⼀个⽣物体的遗传性状往往会发⽣变异,⽽变异的性状有的可以遗传。
遗传能使⽣物的性状不断地传送给后代,因此保持了物种的特性,变异能够使⽣物的性状发⽣改变,从⽽适应新的环境⽽不断地向前发展。
⽣物的各项⽣命活动都有它的物质基础,⽣物的遗传与变异也是这样。
根据现代细胞学和遗传学的研究得知,遗传物质的主要载体是染⾊体(chromsome),染⾊体主要是由DNA(脱氧核糖核酸)和蛋⽩质组成,其中DNA⼜是最主要的遗传物质。
现代分⼦⽔平的遗传学的研究⼜进⼀步证明,基因(gene)是有遗传效应的⽚段,它储存着遗传信息,可以准确地复制,也能够发⽣突变,并可通过控制蛋⽩质的合成⽽控制⽣物的性状。
⽣物体⾃⾝通过对基因的复制(reproduction)和交叉(crossover),即基因分离、基因⾃由组合和基因连锁互换)的操作使其性状的遗传得到选择和控制。
同时,通过基因重组、基因变异和染⾊体在结构和数⽬上的变异产⽣丰富多采的变异现象。
需要指出的是,根据达尔⽂进化论,多种多样的⽣物之所以能够适应环境⽽得以⽣存进化,是和上述的遗传和变异⽣命现象分不开的。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc
编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
遗传算法及其应用-毕业论文
传算法及其应用-毕业论文摘要遗传算法是一种模拟自然界生物进化的搜索算法,由于它的简单易行、鲁棒性强,尤其是其不需要专门的领域知识而仅用适应度函数作评价来指导搜索过程,从而使它的应用范围极为广泛,并且己在众多领域得到了实际应用,取得了许多令人瞩目的成果,引起了广大学者和工程人员的关注。
在简要的介绍了遗传算法的发展历史和研究现状及其生物学、数学基础后,文中引出了遗传算法的基本概念和原理、分析了遗传算法的基本实现技术。
如:编码、适应度函数、遗传算法的三大遗传操作、参数规则等。
最后在介绍了遗传算法程序设计原则的基础上,编程实现了遗传算法在图像识别中的应用,在实践中检验了遗传算法的实际效果。
关键词:遗传算法,适应度函数,图像识别ABSTRACTThe genetic algorithm is a kind of searching method which simulates the natural evolution. It is simple and easy to implement, especially it do not need the special field knowledge, so it has been using in very broad fields. Now the genetic algorithm has got a lot of fruits, and more and more scholars begin to pay attention on it.After brief introducted the genetic algorithm and studyed the history of the development status and biology, mathematical basis, we brought out the basic genetic algorithm concepts and principles, analysised the genetic algorithm to achieve the basic technology. Such as: coding, fitness function, genetic algorithm of the three major genetic manipulation, and other parameters of the rules. Finally, introduced a genetic algorithm procedures based on the principles of design, programming a genetic algorithm in the application of image recognition, in practice, we test the practical effects of genetic algorithm.Key word:genetic algorithm,Fitness function,image recognition引言当前科学技术正进入多学科互相交叉、互相渗透、互相影响的时代,生命科学与工程科学的交叉、渗透和相互促进是其中的一个典型例子,也是近代科学技术发展的一个显著特点。
遗传算法新论文【精品毕业设计】(完整版)
学校代码 10126 学号 00708037 分类号密级本科毕业论文基于遗传算法的图像阈值分割学院、系数学科学学院计算数学系专业名称信息与计算科学年级 2007级学生姓名刘家祥指导教师曹军2011年 5月 20 日内容摘要图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。
图像的分割是以灰度值作为分割的依据,通过各个像素的灰度值和事先确定的阈值的比较来分割图像。
如何确定最合适的阈值是处理好图像分割的关键,这自然成为一直以来分割算法研究的焦点。
遗传算法是对生物进化论中自然选择和遗传学机理中生物进化过程的模拟来计算最优解的方法。
遗传算法具有众多的优点,如鲁棒性、并行性、自适应性和快速收敛,可以应用在图像处理技术领域中图像分割技术来确定分割阈值。
本文主要介绍基于遗传算法的最小误差阈值法、最大类间方差法(Otsu法)以及最佳直方图熵法(KSW熵法)等三种方法分割图像。
关键词:图像分割,遗传算法,阈值分割AbstractImage segmentation refers to the image into regions each with characteristics and goals of the technology to extract and process of interest. Segmentation is a segmentation based on gray value, gray value of each pixel through the predetermined threshold value and comparing the image segmentation. How to determine the most appropriate threshold is the key to handling image segmentation, which has naturally become the focus of segmentation algorithms.Genetic algorithm is a biological theory of evolution and genetic mechanism of natural selection in biological evolution simulation method to calculate the optimal solution. Genetic algorithm has many advantages, such as robustness, parallel, adaptive, and fast convergence, can be used in the field of image processing image segmentation technique to determine the split threshold.In this paper, genetic algorithm based on minimum error threshold, the largest class variance (Otsu method) and the best histogram entropy (KSW entropy method) are three ways to split the image.Keywords : Image segmentation, genetic algorithms, threshold目录第一章绪论 .................................................. - 1 - 第二章遗传算法概述 ........................................ . - 2 -2.1遗传算法的研究历史....................................... - 2 -2.2生物背景................................................. - 2 -2.3遗传算法的基本思想....................................... - 3 -2.4遗传算法的几个概念....................................... - 4 -2.4.1适应度函数......................................... - 4 -2.4.2遗传算法最常用的算子............................... - 4 -2.5遗传算法运算的基本流程................................... - 5 - 第三章图像分割的现状 ........................................ - 7 -3.1图像分割简介............................................. - 7 -3.2图像分割方法............................................. - 8 -3.2.1基于边缘检测的分割................................. - 8 -3.2.2基于区域的分割..................................... - 8 -3.2.3边缘与区域相结合的分割............................. - 9 -3.3阈值选取................................................. - 9 - 第四章基于遗传算法的图像阈值分割 ........................... - 10 -4.1图像阈值................................................ - 10 -4.2阈值分割的原理.......................................... - 10 -4.3最小误差阈值法.......................................... - 11 -4.3.1最小误差法图像阈值分割............................ - 11 -4.3.2 利用遗传算法来改进最小误差法...................... - 12 -4.4 最大类间方差法(Otsu法)............................... - 13 -4.4.1最大类间方差法(Otsu法)阈值分割.................. - 13 -4.4.2 Otsu阈值分割的遗传算法设计........................ - 15 -4.5 KSW熵法................................................ - 17 -4.5.1 KSW熵阈值分割................................... - 17 -4.5.2 KSW单阈值分割的遗传算法设计..................... - 18 -4.5.3 KSW双阈值分割的遗传算法设计..................... - 19 - 第五章基于新的遗传算法的图像分割 ........................... - 25 -5.1混沌遗传算法............................................ - 25 -5.2量子遗传算法............................................ - 25 -5.3免疫遗传算法............................................ - 25 - 结论 .......................................................... - 26 - 致谢 .......................................................... - 27 - 参考文献: ..................................................... - 28 -内蒙古大学本科学年论文第- 1 - 页基于遗传算法的图像阈值分割第一章绪论图像分割是图像处理与计算机视觉的基本问题之一,是图像处理到图像分析的关键步骤。
遗传算法及其改进设计
[2]朱灿.实数编码遗传算法机理分析及算法改进研究[D].中南大学,博士学位论文, 2009.
[3]许琦.基于遗传算法的高校排课问题的研究[D].华南理工大学,硕士学位论文, 2012.
系审核意见
负责人(签名)————————
备注:1、本任务书一式三份,系、指导教师、学生各执一份。
2、学生须将此任务书作为毕业论文(设计)说明书的附件,装订在说明书中。
(1)研究掌握遗传算法的原理;
(2)设计实现遗传算法的C语言程序;
(3)研究掌握通过matlab遗传算法工具箱进行问题优化的方法;
(4)分析普通遗传算法的缺点,并提出算法改进措施,并用matlab语言和遗传算法工具箱实现;
(5)对一些标准测试函数,用提出的改进算法进行优化,检验算法结果;
(6)选定某实际问题(可使用UCI机器学习数据库数据),用遗传算法进行优化;
工作阶段(包括时间划分和各阶段主要工作内容)
一、2012年12月查阅文献资料,确定设计方向;
二、1月至3月确定设计的研究方法并提交开题报告;
三、2013年1月至2013年3月完成毕业设计作品;
四、2013年4月完成毕业论文初稿。
五、2013年5月日,完成最终毕业论文。
其它要求(包括文献研究、实验实习等方面)
毕业论文(设计)任务书
学生姓名
学号
专业班级
指导教师
职称
题目
遗传算法及其改进设计
研究(设计)任务(包括目标和要求)
1、根据设计(论文)选题,查阅相关技术书籍、学校图书馆网站数据库文献资料,进一步明确选题的目的、意义和应用领域;
2、பைடு நூலகம்据选题进行理论验证,补充掌握进行设计需要补充的知识;
算法毕业设计
算法毕业设计算法是计算机科学中的一个重要领域,它研究如何设计和优化有效的问题求解方法。
在我的毕业设计中,我选择了一项基于遗传算法的优化问题求解。
首先,我对遗传算法进行了深入研究。
遗传算法是一种模拟自然选择和遗传机制的优化算法。
它模拟了生物进化的过程,通过模拟基因的交叉、变异、选择等操作,从而找到问题的最优解。
接下来,我选择了一个实际的优化问题作为研究对象:车辆路径规划问题。
该问题是指在一定的时间内,找到一条最佳路径,使得多个车辆在规定的时间内交通效率最高。
这个问题的复杂度很高,传统的算法难以得到最优解。
在我的算法设计中,首先我将车辆路径规划问题建模为一个图论问题,节点表示车辆的起点和终点,边表示车辆之间的路径。
然后,我使用遗传算法进行优化求解。
遗传算法中的基因编码为车辆的路径,通过不断迭代,交叉和变异操作产生更好的解。
为了提高算法的效率和求解的精确度,我还对遗传算法进行了一些改进。
首先,我采用了多种适应度函数,根据不同的优化目标进行调整。
其次,我设计了一种更高效的交叉和变异操作,能够通过保留有用的基因信息来加速搜索。
最后,我还引入了一种自适应参数调整机制,根据算法的迭代过程的性能动态调整算法的参数。
通过对实际例子的测试和对比分析,我发现我的算法在车辆路径规划问题上的优化效果显著。
相比于传统的算法,我的算法在求解时间和求解质量上都有明显的提升。
综上所述,本毕业设计通过研究遗传算法,针对车辆路径规划问题设计了一种优化算法。
通过对算法的改进和优化,提高了算法的效率和求解的精确度。
相信在今后的研究和实际应用中,这个算法还有更多的潜力可以发挥。
关于遗传算法的研究毕业论文
摘要:在本篇论文主要讨论的是通过介绍生物的遗传问题,什么是遗传算法(genetic Algorithm),遗传算法的性质,应用,传统遗传算法的基本步骤和遗传算法的目前的发展趋向等等内容,使大家得到关于遗传算法的比较深厚的了解。
中文关键词:遗传;遗传算法;染色体;基因;基因地点;基因特征值;适应度英文关键词:Genetic;Genetic Algorithm;Chronmosome;Gene;Locus;Gene Feature;Fitness1、生物的遗传问题与自然选择:众所周知,生命的出现,变化以及其消亡是必然的。
在地球上最早的生命出现以来,在自然界中多种多样的生物一起存在着并且生命的形式与物种不断发生着变化。
由于不同原因,一些物种相继消亡,有一些物种得以生存到现在且还有一些生物改变到另一种生物。
那么到底是什么原因导致这种情况呢?我们先看一下达尔文的自然选择学说的主要内容。
达尔文的自然选择学说是一种被人们广泛接受的生物进化学说。
这种学说认为,生物要生存下去,就必须进行生存斗争。
生存斗争包括种内斗争、种间斗争以及生物跟无机环境之间的斗争三个方面。
在生存斗争中,具有有利变异的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产生后代的机会也少的多。
因此,凡是在生存斗争中获胜的个体都是对环境适应性比较强的。
达尔文把这种在生存斗争中适者生存,不适者淘汰的过程叫做自然选择。
它表明,遗传和变异是决定生物进化的内在因素。
自然界中的多种生物之所以能够适应环境而得以生存进化,是和遗传和变异生命现象分不开的。
总之,在这个问题中,我们把主要原因概括在下列两个方面:一个是自然界为生命存在方式所提供的条件即有些生物由于对自然界的适应能力比较强,它们都能适应自然环境的各种变化,反而,还有一些生物的适应能力比较弱,所以它们不能适应自然环境和资源的变化并且很容易就被自然界淘汰。
原因之二是生物自身的遗传与变异功能。
遗传算法论文【精品毕业设计】(完整版)
论文名称:遗传算法姓名:***学号:***********班级:计算机科学与技术1班院系:信息与电气工程学院日期:2014年6月18日摘要 (2)第一章引言 (3)1.1搜索法 (3)1.2遗传算法 (3)第二章遗传算法(Genetic Algorithms,GA) (4)2.1遗传算法的基本概念 (4)2.2遗传算法的实现步骤 (6)第三章遗传算法的特点及应用 (9)3.1遗传算法的特点 (9)3.2遗传算法的应用 (9)第四章遗传算法的缺点及发展 (12)4.1遗传算法的缺点 (12)第五章遗传算法代码实现 (13)附录遗传算法代码(GA Code) (14)摘要智能搜索算法包括遗传算法、禁忌算法、模拟退火算法等。
其中遗传算法(GA)是人类从基因遗传的生物进化思想的启发下提出的,它是一种进化计算,进化计算实质上是自适应的机器学习方法,遗传算法根据基因遗传时候的变化,它在运算的时候也分为选择、交叉、变异三种行为。
它比盲目的搜索效率高的多,又比专门的针对特定问题的算法通用性强,它是一种于问题无关的求解模式。
但是遗传算法又有很大的不确定性,以及过早的收敛性,所以可以和其他算法一起使用来对问题求解。
关键词:遗传算法;GA;实现;应用;改进第一章引言1.1搜索法人工智能问题广义地说,都可以看作是一个问题求解问题,在问题的求解过程中,人们所面临的大多数现实问题往往没有确定性的算法,通常需要用搜索算法来解决。
搜索法是人工智能中问题的求解的基本方法,搜索法可大致分为有信息搜索和无信息搜索,约束满足问题和博弈问题的求解均可表述为搜索过程。
搜索法的本质是再状态空间中从问题的初始状态搜索到通向目标状态的路径。
当前的智能搜索算法本质上也是搜索法,如遗传算法、蚁群算法、神经网络等。
一般搜索可以根据是否使用启发式信息分为盲目搜素和启发式搜索,也可以根据问题的表示方式分为状态空间搜索和与/或树搜索。
盲目搜索一般是指从当前状态到目标状态需要走多少步或者并不知道每条路径的花费,所能做的只是可以区分出哪个是目标状态。
毕业设计(论文)-基于遗传算法的数据挖掘方法研究及应用
目录摘要 (1)Abstract(英文摘要) (2)第一章绪论§1.1 引言 (3)§1.2 国内外研究现状 (3)第二章数据挖掘概述§2.1 数据挖掘的发展历史 (5)§2.2 数据挖掘的定义 (5)§2.3 数据挖掘的目的、任务和对象 (6)2.3.1 数据挖掘的目的 (6)2.3.2 数据挖掘的任务 (6)2.3.3 数据挖掘的对象 (7)§2.4 数据挖掘的特点 (8)§2.5 数据挖掘的常用方法 (8)2.5.1 归纳学习方法 (8)2.5.2 公式发现 (9)2.5.3 统计分析方法 (9)2.5.4仿生物技术 (9)2.5.5可视化技术 (10)§2.6 数据挖掘的基本步骤 (10)第三章关联规则基本理论§3.1 关联规则的定义及性质 (12)§3.2 关联规则的挖掘过程 (13)§3.3 衡量规则的价值 (14)第四章遗传算法概述§4.1 遗传算法的发展历史 (15)§4.2 遗传算法的特点 (15)§4.3 基本遗传算法的主要思想及术语 (16)§4.4 基本遗传算法的描述与形式化定义 (17)§4.5 遗传算法的基本实现技术及设计步骤 (17)4.5.1 编码方法的选取 (17)4.5.2 适应度函数的设计 (18)4.5.3 遗传算法的设计步骤 (18)第五章基于遗传算法的关联规则挖掘模型 (19)参考文献 (21)致谢 (22)摘要随着人们对数据库技术逐步深入的研究, 数据挖掘技术应运而生. 最初, 商业活动中的各种数据仅仅是存储在计算机的数据库中, 然而为了人们对数据库管理的需求, 我们开始能够查询并访问计算机的数据库, 从而实现了数据库的即时遍历. 数据挖掘技术甚至将数据库技术推动到了一个更为高级的阶段, 自此这项技术不仅能够查询和遍历过去的数据, 并且能够识别数据之间潜在的联系, 从而对信息的传递起到相当的促进作用. 作为一门典型交叉学科, 数据挖掘具有计算机科学、统计学的学术背景,其为当下数据库系统研究及应用领域的热门研究方向, 吸引了学术界和业界的广泛关注.首先,本文对数据挖掘技术做了概述, 以明确其定义、目的、任务、对象及主要过程、基本方法. 其次, 我们对关联规则的定义、性质及种类等概念作初步介绍. 再次, 重点介绍著名的优化搜索算法——遗传算法, 在回顾遗传算法的发展历史以及主要理论之后, 给出了基本遗传算法和算法描述以及算法的基本实现技术. 基于以上本文提出一种基于遗传算法的关联规则提取方法, 并从编码方法及适应度函数等方面详细讨论. 最后,本文给出遗传算法在关联规则挖掘中的应用模型.关键词:数据挖掘;遗传算法;关联规则;适应度函数AbstractData mining is a result of long-term research on database technology. Initially the data used on the business occasions were only stored incomputer’s database,whose inquiries and visits is later on developed then real-time database inquiries is further on so developed. Data mining pushed database technology to an even more advanced stage. It can not only inquire old data butalso identify the potential relationship between them, thusbenefit the information spreading. As a typical cross-discipline,data mining is a popular area for the current research on database system and its applications,ithas a double academic backgrounds on computer science and statistics, and it hasalsocaught the attentions from industrial fields.Firstly in this paper we give data mining an overview, as well as clarify its definition, purpose, mission andobjects, further we shall talk about the main processand techniques involved in data mining. Secondly weintroduce its definition, nature, typesof the associated rules. Witha huge significance weintroducegenetic algorithm,which is widely applied in data mining practices. We make a briefing on history and main theory of genetic algorithm, then give the basic genetic algorithms and its descriptionsalong with several basic implementation technologies. Last but not least, webring forward a mining method for association rules which is mainly based on genetic algorithms. At the same time, we would like to discussthe genetic algorithms fromthe aspects such as coding method, fitness function andgenetic operators.As the ending of the paper, we give the application model of the association rules mining based on genetic.Key Words: Data Mining;Genetic Algorithm; Fitness Function; Association Rules第一章绪论§1.1引言计算机科学及现代通信技术的迅猛发展已将人类带入了信息时代, 近几十年应由社会与经济发展的需求, 计算机的数据库存储的数据剧增, 人们掌握有大量的数据得以提取所需要的信息, 而这些数据所提供的信息在给人们带来方便的同时也对原有数据库技术提出了新的挑战. 现代社会的信息爆炸程度已远远超出了人们掌握和理解数据的能力, 这为正确地利用数据带来了困难. 人们开始逐渐意识到, 那些能够描述事物整体特征、预测未来发展趋势的信息往往是隐藏在大规模的数据背后更深层次的内容, 这些潜在信息对于人们做出决策具有重要的参考价值.那么如何透过巨量的数据信息获取这些有用的“知识”呢?计算机科学与统计学的最新研究给出回答:数据挖掘. 数据挖掘汇集了数据库、数理统计、人工智能、并行计算、可视化等诸多领域的研究者及业界的工程师,通过对数据库进行从微观到宏观的统计分析与综合推理, 以发现数据之间的相互关联, 乃至利用已有数据对未来进行预测, 从而针对实际问题为人们提供决策支持.§1.2国内外研究现状数据挖掘技术在诸多方面已得到广泛之应用, 但就其目前的研究状况来看, 这一技术还未能称得上成熟, 故在应用上有很大局限. 局限其一, 即挖掘对象之局限, 面对维数更高、各属性之间更为复杂的超大型数据库, 现有数据挖掘技术处理如此巨量数据不免捉襟见肘;局限其二, 大部分数据库在知识发现的过程中可能存在数据或属性丢失的问题;局限其三, 目前数据挖掘工具一般仅能处理特定数值型的结构化数据. 反而思之, 正是由于这些局限的存在, 方才能不断推动数据挖掘技术有着更为长足的发展.遗传算法作为全局并行优化搜索算法的有效性为人称道, 其在解决具有混沌、随机和非线性等典型特性的复杂问题中提供一种新的计算模型, 克服了由大量数据嘈杂无序造成的难题. 这一模拟自然界进化过程的通用全局搜索算法, 有效避免搜索过程中出现的局部最优, 有望在规则发掘中大施拳脚. 遗传算法自诞生至今虽已经过历次改进, 但仍有待进一步深入研究的必要. 其一, 算法的理论研究相对滞后, 遗传算法提出之灵感源于一种仿生的思想, 故其尽管在实践中被证明极为有用, 然而在理论证明上却遇到瓶颈;其二, 算法的参数设置仍无明确标准, 之前的应用中采用的均为过往的经验数值, 而不同编码与遗传技术将对遗传参数的选取产生影响, 这无疑制约了算法的通用性;其三, 算法对于约束化问题的处理缺乏足够的有效性.近年对关联规则挖掘的研究主要可分为四个方面. 一是改进由R. A g rawal等提出的Apriori算法, 这些工作主要集中在有效地生成最大项目集并改善该算法效率;二是对关联规则的阈值进行调整, 增强所挖掘规则的关联性与有效性使之更为符合人们的需求;三是提出用于关联规则发掘的并行算法;四是扩展关联规则发掘中的二级问题, 诸如多层/广义关联规则、循环关联规则、定量关联规则等.因遗传算法简单通用且适于并行处理之特性, 使其在数据挖掘技术占用举足轻重的地位. 目前, 对以遗传算法为基础的数据挖掘研究主要在分类系统方面, 而在关联规则提取方面的应用仍未常见. 本文提出用遗传算法辅助对关联规则进行挖掘, 便是希望能在这方面进行新的尝试.第二章数据挖掘概述§2.1数据挖掘的发展历史1989年8月, 于底特律召开的第十一届国际人工智能联合会议的专题讨论中首次提出KDD(Knowledge Discovery in Database)这一术语. 随后, 首届知识发现和数据挖掘国际学术会议于1995年在加拿大蒙特利尔召开. 亚太地区则于1997年在新加坡召开了第一届亚太知识发现和数据挖掘国际会议, 欧洲也于1998年召开了第一届欧洲知识发现和数据挖掘学术会议.知识发现和数据挖掘长期作为数据库和机器学习的分支, 直到1998年6月ACM(AssociationofComputingMachinery)成立SIGKDD(SpecialInternetGrouponKnowledgeDiscoveryandDataMining), 才使其正式脱身为一门独立学科.METAGroup有评论如下, “全球重要的企业及各类组织将会发现, 在二十一世纪, 数据挖掘技术将在决定其在商业经营中成功与否产生至关重要的影响”. IBM在之后几年随即发布IBMDB2智能挖掘器积分服务, 这一服务基于标准的数据挖掘技术, 提供个性化解决方案. 统计软件SPSS与SAS亦分别推出数据挖掘工具Clementine和EnterpriseMiner.§2.2数据挖掘的定义数据挖掘, 即从大量不完全并且模糊有噪声的随机数据中提取隐含其中事先未知却潜在有用的信息和知识的过程. 这一表述具有若干层次含义, 其一, 数据挖掘中原始数据真实、大量且含噪声;其二, 数据挖掘专注于发现人们感兴趣、有价值的知识;其三, 数据挖掘着力于发现直觉无法发现乃至有悖直觉的知识, 其越是出人意料, 便可能越有价值;其四, 潜在有用性是指数据挖掘发现的知识对于所讨论的业务或研究领域具有实用价值, 诸如常识性的结论、已掌握的事实及无法实现的推论均视作无意义;其五, 数据挖掘发现的知识须可为人们所接受、理解并运用于解决实际问题;其六, 数据挖掘并非要发现那些放之四海皆准的真理抑或全新的自然科学定理, 所有被发现的知识都具有特定约束条件或面向特定领域.目前来说, 学术界对数据挖掘仍未形成统一的精确定义, 在不同的文献中, 不同的应用领域里有着不同侧重的定义表述. 常见的如Ferruzza定义数据挖掘为于知识发现过程用以辨识存在数据间未知关系和模式的方法;Zekulin定义数据挖掘为从大型数据库中提取未知的、可理解的、可执行的信息并利用其辅助商业决策的过程;Parsaye 则认为数据挖掘是为获取未知的信息模式而研究大型数据集合的决策支持过程.§2.3数据挖掘的目的、任务和对象2.3.1数据挖掘的目的随着数据库及信息系统技术逐步深入的应用, 面对长时间积累所形成的海量数据人们常无所适从, 以至淹没在数据的海洋中却缺少“知识”. 我们开始考虑尝试发现数据中存在的关系和规则并根据已有数据预测未来发展趋势, 从而做到不被信息淹没, 提高信息利用率. 现在, 数据挖掘分析海量数据并发现其中的潜在联系.2.3.2数据挖掘的任务数据挖掘有关联分析、时间序列模式、聚类、分类、偏差检测及预测六项基本任务.我们先讨论关联分析. 当若干数据项取值出现重复, 这之间即有某种关联, 从而可建立关联规则. 我们常用“可信度”与“支持度”对其进行筛选.时间序列模式即根据时间序列搜索重复发生概率较高的模式. 我们需要在时序模式中找出在某个最小时间段内出现概率高于阈值的规则, 当然, 随着形式的变化我们将对规则做出适当的调整.聚类, 即根据意义之不同对数据库中的数据划分一系列子集, 即类. 人们通过聚类以建立宏观概念,统计分析、机器学习和神经网络均是常见方法.分类作为数据挖掘中应用最多的任务, 描述一个类别的概念以代表这类数据的整体信息, 称为其内涵描述, 一般用规则或决策树表示. 分类可将数据库中元组影射到给定类别的某一个中. 分类通常是基于训练样本集(已知数据库元组及类别所组成的样本)通过相关算法求得.然后是偏差检测. 数据库中数据往往存在诸多异常, 偏差检测便是寻找观察结果与参照之间的差别. 观察结果一般为一个或多个域的值的汇总, 参照则通常是给定模型的预测结果、外界提供的标准或另一个观察结果.最后我们讨论预测. 预测, 顾名思义, 从历史数据中寻找变化规律以建立模型, 并基于此预测未来. 主流的预测方法有回归分析和神经网络, 回归分析用于预测连续数值, 而神经网络预测则连续、离散皆适用.2.3.3数据挖掘的对象理论上, 在任何类型的数据存储上均可进行数据挖掘, 包括关系数据库、事务数据库、数据仓库等. 这里我们对主要的数据挖掘对象予以介绍.首先是关系数据库. 关系数据库是表的集合, 每个表命名唯一, 其中包含一组属性用于存放大量元组. 关系中每一元组代表一个被唯一关键字标识的对象, 并由一组属性值所描述. 关系数据库可通过数据库的结构化查询语言访问. 关系数据库拥有完备的数学理论基础且具有相当高的普及度, 是当下数据挖掘最为丰富的数据源之一.其次, 我们讨论事务数据库. 一般地, 事务数据库由一个文件组成, 每一个事物由其中一个记录所代表. 通常, 一个事务有唯一的事务标识号和一个组成项列表(部分包含事务的处理时间). 事务数据库常应用于“购物篮数据分析”, 其对关联规则的数据挖掘十分有效.再次, 我们介绍数据仓库. 数据仓库的创始人WilliamH.Inmon对数据仓库定义如下:数据仓库是面向主题的(Subject-Oriented)、集成的(Integrated)、随时间而变化的(Time-Variant)、稳定的(Non-V olatile)数据集合. 从辨证的角度来看, 从关系数据模型到数据仓库的诞生, 数据仓库的出现与广泛为人们所接受实质上是数据管理螺旋式的上升.数据仓库技术的逐步成熟很大程度上推动了数据挖掘技术的繁荣.近年来, 数据库技术发生了翻天覆地的变化, 其已由最初单一的关系数据库逐步发展为面向对象数据库、事物数据库、空间数据库、对象-关系数据库、多媒体数据库等新的数据库系统, 与此同时, 数据挖掘的数据来源也更多地取自于新型的高级数据库系统.§2.4数据挖掘的特点数据挖掘的特点可初步归纳为五个方面. 其一, 数据挖掘所处理的数据规模十分庞大;其二, 数据库查询一般是即时的随机查询, 因不能有精确查询要求, 数据挖掘技术则可辅助寻找用户感兴趣的知识;其三, 在一些应用中数据在很短时间内即有较大变化, 数据挖掘技术能够在这种情况下快速反应以提供决策支持;其四, 数据挖掘不仅要发现潜在规则, 而且要管理、维护规则, 规则往往不是一成不变的, 随着数据的不断更新, 规则亦需随之而变;其五, 数据挖掘是基于大样本统计规律发现规则, 这未必适用于全部数据, 当达到某一阈值时即可认为此规则成立.§2.5数据挖掘的常用方法2.5.1归纳学习方法归纳学习方法从技术上分为两类:信息论方法与集合论方法.我们先讨论前者. 信息论方法主要基于信息论原理建立决策树, 由于最终将以决策树的形式表示知识, 故文献中经常称其为决策树方法. 这里我们介绍两种较有特色的信息论方法. 一是ID3等系列方法, 其利用信息增益寻找包含最大信息量的字段以建立树的结点, 由不同字段取值建立分枝, 再对数据子集重复以上过程, 最终建立决策树. 对愈为庞大的数据库, 这一方法愈为有效;还有一种方法我们称为IBLE(Information-BasedLearningfromExamples)方法, 其根据信息量大小寻找各字段取值建立树的结点, 并将结点中指定字段值的权值和与阈值比较, 建立三个分枝, 再对各分枝子集重复以上过程, 最终建立决策树.再说集合论方法.这类方法广为人知的有覆盖正例排斥反例的方法、概念树方法和粗糙集(RoughSet)方法.概念树方法则是将数据库中的属性字段根据归类方式进行合并, 以此建立的层次结构称为概念树;最后介绍粗糙集方法, 我们将数据库中的行元素看作对象, 列元素看作属性(分为条件属性与决策属性). 定义等价关系R为不同对象某一个或多个属性具有相同取值, 称满足同一等价关系的对象所组成的集合为该等价关系的等价类. 条件属性上等价类E与决策属性上等价类Y之间有三种关系, 分别是下近似(Y包含E)、上近似(Y和E的交非空)和无关(Y和E的交为空). 我们对下近似建立确定性规则, 对上近似建立不确定性规则, 而无关情况下则不存在规则.2.5.2公式发现公式发现的含义即是对工程或科学数据库中的若干数据项进行数学运算并求相应的数学公式. 这里举两个典型的例子. 一是经验公式发现系统FDD, 其基本思想是对两个数据项交替取初等函数后再与另一数据项进行线性组合, 若组合结果为直线, 就得到由数据项的初等函数表示的线性组合公式;二是物理定律发现系统BACON, 其基本思想很简单, 就是对数据项进行初等数学运算以形成组合数据项, 若值为常数, 就得到组合数据项等于常数的公式.2.5.3统计分析方法统计分析利用统计学原理分析数据库中数据从而得到其中的统计信息与知识, 已发展成一门独立的学科. 下面简要介绍六种统计分析中的基本方法. 一是常用统计, 即求最简单的统计量;二是相关分析, 即计算变量间的相关系数;三是回归分析, 即以回归方程表示变量间数量关系;四是差异分析, 即从样本统计量的出发进行假设检验;五是聚类分析, 即直接计算样本数据间的距离, 将距离小于某一阈值的归为一类;六是判别分析, 即确立一个判别标准以建立一个或多个判别函数, 据此将未知对象划归到某一类别.2.5.4仿生物技术典型的仿生物技术方法有遗传算法和神经网络方法.我们先讨论遗传算法. 遗传算法的基本思路是模拟生物进化过程, 有选择、交叉和变异三个基本遗传算子. 选择算子描述从旧种群选择出具有更强竞争力的个体产生新种群的过程;交叉算子描述两个不同个体(染色体)的部分(基因序列)进行交换并产生新个体的过程;变异算子描述个体的某些基因进行变异(1变0, 0变1)的现象. 在优化计算和分类机器学习方面遗传算法已广泛应用并证实了其显著的效果. 后文将对遗传算法做进一步介绍.再讨论神经网络方法. 神经网络方法基于MP模型与Hebb学习规则, 模拟人脑神经元结构建立三类多种神经网络模型. 一是前馈式网络, 其代表为感知机、BP反向传播模型及函数型网络. 此类网络在预测和模式识别方面有广泛应用;二是反馈式网络, 其代表是Hopfield的连续及离散模型, 分别应用于优化计算和联想记忆;三是自组织网络, 其代表为Kohonen模型和ART模型, 常用于聚类.2.5.5可视化技术可视化技术, 顾名思义, 是一种图形显示技术. 以图形显示多维数据, 可深刻揭示数据的分布规律及内在本质. 同样, 对数据挖掘过程进行可视化与人机交互可显著提高挖掘效果. D.A.Keim定义数据挖掘可视化为寻找并分析数据库以找到隐藏的有用信息的过程. 常见的可视化方法有三种, 一是提取几何图元, 在构造、仿真和分析数据分布模型上极为有效;二是绘制, 主要基于计算机图形学近年的发展成果来进行图像生成、消隐、光照效应及部件绘制;三是显示和演放, 为取得更佳显示效果, 图片组合、文件标准、着色、旋转、放大和存储等诸多功能在这一部件中均有提供.§2.6数据挖掘的基本步骤以下我们将以顺序方式列出数据挖掘的各步骤, 但数据挖掘过程并不是线性的, 需不断重复以下步骤以得到最优的结果.步骤一:确定业务对象. 首先, 对业务问题要有清晰的定义, 数据挖掘的第一步也是最为重要的一步即是认清数据挖掘的目的;步骤二:数据准备.包含数据选择、预处理与转换;步骤三:数据挖掘. 挖掘已经过转换之数据, 只需选择适当的挖掘算法, 剩下的工作可交由计算机自动完成.步骤四:结果分析. 即解释并评估结果, 用到的分析方法由数据挖掘的具体操作决定, 可视化技术通常会被应用于此.步骤五:知识的同化. 即在业务信息系统的组织结构中集成数据挖掘所得知识.第三章关联规则基本理论§3.1关联规则的定义及性质定义3.1 设{}12=, , , m I i i i 为m 个不同项目之集合, D 为事务数据库, 其中每一事务T 为一项目子集, 即T I ⊆. 称事务T 包含项目集X , 表示为XT ⊆. 关联规则为形如X Y ⇒的逻辑蕴含式, 其中X T ⊂, Y T ⊂且X Y ⋂=∅. X 称作前提, Y称作结果.定义3.2 若事务数据库中有%s 的事务包含XY ⋃, 则称规则X Y ⇒的支持度为s ;若事务数据库中包含X 的事务中有%c 也包含Y , 则称规则X Y ⇒的置信度为c .可信度表示的是一条规则可信赖的程度. 我们发现关联规则是为了找到可信赖且具有代表性的规则, 因而我们需要事先对支持度和可信度分别给定最小阈值, 所谓发现关联规则, 即是发现可信度与支持度均高于阈值的规则.性质4.1 若关联规则XZ ⇒与Y Z ⇒在D 中均成立, 规则X Y Z ⋃⇒不一定在D 中成立.性质4.2 若X Y ⋂=∅, 且D 中支持Z 的都只支持X 或Y , 则X Y Z ⋃⋃的支持度为零, 故规则XY Z ⋃⇒的可信度为零. 性质4.1-2描述了关联规则的非结合性, 因其据定义显然, 故此不复证之. 类似地, 若X Y ⇒与X Z ⇒成立, XY Z ⇒⋃不一定成立. 性质4.3 若XY Z ⋃⇒在D 中成立, X Z ⇒与Y Z ⇒不一定在D 中成立. 证 由su p p ()su p p ()X Y X Y Z ⋃≥⋃⋃与su p p ()su p p ()X Z X Y Z ⋃≥⋃⋃, 若X Y Z ⇒⋃成立, 则X Y ⇒与X Z ⇒均成立, 矛盾, 故得证.性质4.3描述的是关联规则的不可分解性.性质4.4 由XY ⇒及Y Z ⇒不能推出X Z ⇒. 证 设()()()T X T Y T Z ⊂⊂最小可信度为m in co n f , 即()()m in co n f X Y co n f Y Z co n f ⇒=⇒=由()()T X T Y ⊂, ()()/()()/()m in co n f X Y S X Y S Y S X S Y co n f⇒=⋃==由()()T Y T Z ⊂, ()()/()()/()m in co n f Y Z S Y Z S Z S Y S Z co n f ⇒=⋃== 由()()T XT Z ⊂, ()()/()()/()co n f X Y S X Z S Z S X S Z ⇒=⋃=, 又m in co n f 1<, 故2m in m in c o n f X Z c o n f c o n f ⇒=<(), 故规则X Z ⇒不成立.证毕.性质4.4描述的是关联规则的不可传递性.性质4.5 设项目集, , L A B 满足BA L ⊆⊂, 若()A L A ⇒-不满足最小可信度条件, 则()B L B ⇒-也不满足最小可信度条件.证 由子集支持性质, 设A 和B 是两个不同的项目集, 若A B ⊆, 则su p p ()su p p ()A B ≥. 又因D 中支持B 的交易一定支持A , 故su p p ()su p p ()B A ≥, 再由可信度定义有(())su p p ()/su p p ()su p p ()/su p p ()m in co n f B L B L B L A co n f -=≤<,同理, 对满足, D C L D ⊆⊂=∅的项目集, , L D C , 若()L C C -⇒成立, 则()L D D -⇒亦成立.性质4.5描述的是关联规则的可扩展性, 当项目集及支持度已确定, 可用这一性质加速规则发现的过程.§3.2关联规则的挖掘过程关联规则的挖掘一般有两个过程, 一是找出所有频繁项集,二是由频繁项集产生关联规则, 这些规则须满足可信度和支持度条件.第二个过程须在前一个的基础上进行, 工作量较小, 而过程一则决定了关联规则挖掘总体性能. 关联规则的可信度较之期望要高方才表明A 的出现对B 的出现产生促进作用, 即表明其之间在某种程度上相关. 对于给定交易集, 挖掘关联规则便是发现可信度与支持度均大于预先给定阈值的关联规则.§3.3衡量规则的价值在用数据挖掘方法发现了一些关联规则后, 系统如何得知哪些规则对于用户来说是有价值的?对这个问题常分为两个层面来考虑, 即系统客观层面与用户主观层面.我们先讨论系统客观层面. 首先, 我们需明确一点:使用前文所述的“支持度和信任度”框架可能发掘出“不正确”的规则, 即若我们人为地将阈值设置得过低, 则可能得到互相矛盾的规则, 而反之,若阈值被设置得过高, 则所得到的规则又可能不合实际. 因此只依靠可信度与支持度的阈值设定不一定能得出我们需要的规则. 于是, “兴趣度”这一概念被引入用来筛掉我们不感兴趣的规则. 在统计独立性假设下, 定义一条规则的兴趣度为真实强度与期望强度之比值.再是用户主观层面的考虑, 之前的讨论仅仅是基于系统方面, 但规则的价值判定最终仍应取决于用户, 因为有能力分辨所挖掘规则有效性与可行性的只有用户. 这里我们提出可以采用一种基于约束(Constraint-Based)的挖掘方式, 包括数据约束、维度/层次的约束乃至规则约束, 这其中的约束条件能够和算法紧密结合, 从而可以做到既提高效率, 又更加明确挖掘的目的.第四章遗传算法概述。
遗传算法毕业论文【精品毕业设计】(完整版)
目录1 引言 (1)2 问题描述 (2)3 基于遗传算法TSP算法 (2)3.1 基于遗传算法的TSP算法总体框架 (2)3.2算法的详细设计 (3)3.2.1 解空间的表示方式 (3)3.2.2 种群初始化 (4)3.2.3适应度函数 (4)3.2.4选择操作 (4)3.2.5交叉操作 (5)3.2.6变异操作 (6)3.2.7进化逆转操作 (6)3.3 实验结果分析 (7)4 基于模拟退火算法的TSP算法 (10)4.1 SA算法的实现过程 (10)4.2 算法流程图 (10)4.3模拟退火算法的实现过程 (10)4.4实验结果 (11)5 对两种算法的评价 (14)5.1遗传算法优缺点 (14)5.2 模拟退火算法的优缺点 (15)6结语 (15)参考文献 (17)附录: ............................................................................................................ 错误!未定义书签。
廊坊师范学院本科生毕业论文论文题目:基于遗传算法与模拟退火算法的TSP算法求解10大城市最短旅途论文摘要:TSP问题为组合优化中的经典的NP完全问题.本论文以某旅行社为中国十大旅游城市--珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海制定最短旅途为例,分别利用基于遗传算法的TSP算法与基于模拟退火算法的TSP算法求解10大城市旅游路线问题.本论文给出了遗传算法与模拟退火算法中各算子的实现方法,并展示出求解系统的结构和求解系统基于MATLAB的实现机制.利用MATLAB软件编程,运行出结果,并对基于遗传算法的TSP算法结果与基于模拟退火算法的TSP算法的结果进行比较,描述其优缺点,并选择最为恰当的TSP算法,实现最短旅途的最优解.关键词:遗传算法;模拟退火算法;TSP;最短路径;Title:TSP Algorithm Based on Genetic Algorithm or Simulated Annealing Algorithm for Solving the Shortest Journey of 10 CitiesAbstract:TSP problem is a classic NP problem about combinatorial optimization.This article takes a travel agency looking for the shortesttrip of ten tourist cities in China-Zhuhai,Xi'an,Hangzhou,Lhasa,Beijing,Lijiang,Kunming,Chengdu,Luoyang and Weihai forinstance,and solves this problem by TSP algorithm based on geneticalgorithm and simulated annealing algorithm.The article gives theimplementations of every operator of genetic algorithm and simulatedannealing algorithm and demonstrates the architecture and theimplementation mechanism of the solving system based on MATLAB.Iprogram and operate the results by MATLAB software,and compare theresults based on genetic algorithm and simulated annealingalgorithm.And describe their advantages and disadvantages so thatchoose the most appropriate TSP algorithm to achieve the optimalsolution for the shortest path.Keywords:genetic algorithm;simulated annealing algorithm;TSP;the shortest path1 引言TSP问题为组合优化中的经典问题,已经证明为一NP完全问题[1],即其最坏情况下的时间复杂性随着问题规模的扩大,按指数方式增长[2],到目前为止不能找到一个多项式时间的有效算法.TSP问题可描述为:已知n个城市相互之间的距离,某一旅行商从某个城市出发访问每个城市一次且仅一次,最后回到出发城市,如何安排才使其所走路线最短.TSP问题不仅仅是一个简单的组合优化问题,其他许多的NP完全问题可以归结为TSP问题,如邮路问题、装配线上的螺帽问题和产品的生产安排问题等,使得TSP问题的有效求解具有重要的意义.本文中的TSP算法主要采用遗传算法与模拟退火算法.遗传算法是一种进化算法,其基本原理是仿效生物界中的“物竞天择,适者生存”的演化法则[3].遗传算法把问题参数编码为染色体,再按照所选择的适应度函数,利用迭代的方式进行选择、交叉、变异以及进化逆转等运算对个体进行筛选和进化,使适应值大的个体被保留,适应值小的个体被淘汰[4],新的群体继承了上一代的信息,又优于上一代,这样反复循环,直至满足条件,最后留下来的个体集中分布在最优解的周围,筛选出最优个体作为问题的解.模拟退火算法的出发点是基于物理中固体物质的退火过程与一般的组合优化问题之间的相似性[5],该算法是一种优化算法,其物理退火过程由三部分组成,分别为:加温过程、等温过程、冷却过程.其中,加温过程对应算法设定初温,等温过程对应算法的Metropolis[6]抽样过程,冷却过程对应控制参数的下降.这里能量的变化就是目标函数,要得到的最优解就是能量最低态[7].Metropolis准则是SA算法收敛于全局最优解的关键所在,Metropolis 准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱.2 问题描述本案例为某旅行社为中国十大旅游城市,分别为珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海,根据全程路径最短为目的,制定最优的旅游顺序依次游玩这十个城市.这类问题就由TSP算法来解决,寻找出一条最短遍历这10个城市的路径.利用google地图找到城市坐标,下表为这十个城市的位置坐标如表2-1所示.表2-1 10个城市的位置坐标3 基于遗传算法TSP算法3.1 基于遗传算法的TSP算法总体框架TSP问题的遗传算法包括编码设计、种群初始化、适应度函数选择、终止条件设定、选择操作设定、交叉操作设定以及变异操作设定和进化逆转操作.为简化TSP问题的求解,假设每个城市和其它任意一个城市之间都以欧氏距离[8]直接相连.遗传算法TSP问题的流程图如图2-1所示.。
毕业论文-遗传算法在函数优化中的应用
遗传算法在函数优化中的应用目录1.绪论 (2)概述 (2)遗传算法的发展历史与研究进展 (4)2.遗传算法流程与应用举例 (6)遗传算法中各重要因素分析 (6)2.2重要参数设置 (8)简单的遗传算法运算示例 (8)3.遗传算法在函数优化应用中的性能研究 (12)遗传算法在实际应用中的性能影响因素 (12)函数优化问题的描述 (14)求解函数优化问题的最优交叉、变异率组合的研究 (16)一种求解函数优化问题的自适应遗传算法 (19)小结 (21)结束语 (21)参考文献 (22)致谢 (23)1.绪论遗传算法(genetic algorithms简称GA)由美国密歇根大学的John H.Holland教授等创立的一类仿生型的优化算法。
它是以达尔文的生物进化论和孟德尔的遗传变异理论为基础、模拟生物进化过程、自适应启发式全局优化的搜索算法。
由于遗传算法无需过多地考虑问题的动力学信息,如连续、可微等,该算法结构简单,并且具有全局搜索能力、信息处理的隐并行性、鲁棒性和可规模化等优点,它在思路上突破原有的最优化方法的框架,尤其适用于处理传统搜索方法难以解决的复杂和非线性问题,现己被广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域,并且在经济和决策方面也有很好的应用,是21世纪有关智能计算中的关键技术之一。
遗传算法的处理对象不是参数本身,而是对参数进行了编码的个体,因此不仅可以对传统的目标函数优化求解,而且可以处理诸如矩阵、树和图等结构形式的对象,用适应度函数同时对搜索空间的多个解进行评估,它将每个可能的问题表示为“染色体”,然后按遗传学规律进行选择、交叉和变异操作,直到满足终止条件为止。
隐含并行性和全局搜索性是遗传算法的两大特点,前者可使遗传算法只需检测少量的结构就能反映搜索空间的大量区域,后者则使遗传算法具有良好的稳健性。
在遗传算法的诸多应用中,函数优化是最显而易见的应用,也是经典的应用。
遗传算法的研究与应用
遗传算法的研究与应用
遗传算法是以自然界中生物进化规律为基础构建的一种智能优化算法。
它在不同的专业领域有着持续的发展和广泛的应用,如优化设计、复杂系统控制和组装优化等。
遗传算法通过一系列反复迭代的近似搜索过程,自动地进行搜索和优化,通过“自然的选择机制”来进行优化处理,其中有一组参数,即“遗传算子”,用于控制搜索对象及搜索过程,它能够以最佳成本解决未知约束和复杂非线性结构优化问题。
首先,一般而言,遗传算法包括三个基本的操作步骤:1)初始化:从原始群体中初始化有效的染色体;2)交叉:利用遗传算子进行繁殖,较优的染色体重新进行繁殖;3)变异:在染色体序列上进行变异,以优化搜索成果。
其次,在遗传算法中,选择步骤是一个非常重要的组成部分。
它决定了最终搜索得到的最优值。
在遗传算法中,每一次迭代可以选择一定数量的最优个体或被认为是最符合优化要求的染色体,并将其加入下一代繁殖族群中,从而获得更好的搜索效果。
最后,在现实的应用中,由于遗传算法具有计算复杂性低,实时性好和收敛性强的特点,因此,它在众多计算优化和决策分析中有着广泛的应用。
例如可以用于路线规划、神经网络训练、通信系统设计、后勤任务调度、机器人规划和人工智能控制等。
遗传算法的应用及研究动向5则范文
遗传算法的应用及研究动向5则范文第一篇:遗传算法的应用及研究动向遗传算法的应用及研究动向摘要本文主要介绍了遗传算法的基本概念和基本原理,分析说明了遗传算法应用领域,指出了遗传算法在应用中的几个关键问题,同时简要介绍了遗传算法研究新动向及存在的问题。
关键词遗传算法;编码机制;遗传算子;适应度函数一、遗传算法的基本原理遗传算法类似于自然进化,通过作用于染色体上基因寻找最好的染色体来求解问题。
与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对遗传算法所产生的染色体有更多的繁殖机会。
在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合成下一代新的种群,对这个新种群进行下一轮进化[1]。
二、遗传算法的应用遗传算法在应用中最关键的问题有如下3 个[2-3]。
(1)串的编码方式。
本质是问题编码。
一般把问题的各种参数用二进制编码,构成子串;然后把子串拼接构成“染色体”串。
串长度及编码形式对算法收敛影响极大。
(2)适应函数的确定。
适应函数(fitness function)也称对象函数(object function),这是问题求解品质的测量函数;往往也称为问题的“环境”。
一般可以把问题的模型函数作为对象函数;但有时需要另行构造。
(3)遗传算法自身参数设定。
遗传算法自身参数有3 个,即群体大小n、交叉概率Pc 和变异概率Pm。
群体大小n 太小时难以求出最优解,太大则增长收敛时间。
一般n=30-160。
交叉概率Pc 太小时难以向前搜索,太大则容易破坏高适应值的结构。
一般取Pc=0.25-0.75。
变异概率Pm太小时难以产生新的基因结构,太大使遗传算法成了单纯的随机搜索。
一般取Pm=0.01-0.2。
遗传算法的主要应用领域[4-5]在于函数优化(非线性、多模型、多目标等),机器人学(移动机器人路径规划、关节机器人运动轨迹规划、细胞机器人的结构优化等),控制(瓦斯管道控制、防避导弹控制、机器人控制等),规划(生产规划、并行机任务分配等),设计(VLSI 布局、通信网络设计、喷气发动机设计等),组合优化(TSP 问题、背包问题、图分划问题等),图像处理(模式识别、特征提取、图像恢复等),信号处理(滤波器设计等),人工生命(生命的遗传进化等)。
毕业设计(论文)遗传算法
摘要优化设计的方法有多种,一般的就只是单纯的计算,运用数学方程式对弹簧的各个参数加以优化,后来人们有了更多更新的方法对其进行优化,例如,蚁群算法、Matlab、遗传算法等等。
在不同的机构或零件优化设计中,参数的性质也对优化设计有着至关重大的影响。
其中变量参数有些是实数,还有些是整数,这就影响了在设计中用到的变量有着不同的选择,可以是实数变量或者整数变量甚至是混合变量。
此次论文对压缩弹簧进行优化设计。
首先,要确定目标函数与设计变量;其次,确定约束函数;最后,建立数学模型,利用计算机求出优化结果。
此次设计运用了vb编程,并且根据弹簧参数特性运用了实数变量进行优化设计。
与经验设计方法相比较,采用优化设计方法可节约原材料,并且有效实用。
因此,优化设计方法在机械设计行业具有广阔的发展前景。
关键词:压缩弹簧;优化设计;遗传算法;整数变量;VB编程AbstractThere are many optimization design methods ,which are generally to optimize all the parameters of a spring by using the pure caculation and mathematic equation and there are more and newer methods to do it such as Matlab genetic algorithm and so on since then . In the optimization design of the various machinery and components ,the character of the parameter takes a great effect on the design .There are some real number ,some integer of all the variable parameters ,which decide the choice of the parameters used including real variable or integeral variable and even mixed variable in the design The paper dissertates the optimation design of the compressing sping.First,ascertain the object function and the design variable ;Second ,ascertain the restriction function ;At last ,build the mathematic model and get the optimation result by computer.The author does the optimation design by utilizing the VB weave and by utilizing the real variable accoding to the character of the variable of the sping. Compared with the experiential design ,using the optimization design can cut down the cost and is efficient and practical.So the optimization design owns the wide view in the machining design .Key words :compressing spring ; optimization design ; genetic algorithm ;integeral variable ; VB weave.目录摘要 (I)A BSTRACT (II)目录 (III)第1章绪论 (1)1.1课题研究的背景和意义及其研究现状 (1)1.2论文主要研究内容 (2)第2章遗传算法的原理及改进 (2)2.1遗传算法概述 (2)2.2算法的基本步骤 (4)2.3遗传算法的基本要点 (5)2.4遗传算法的约束问题处理方式 (9)2.5遗传算法的发展前景 (12)第3章传动优化数学模型的建立 (13)3.1 弹簧相关参数的选择确定........................................................................3.2 弹簧优化设计数学模型的建立..................................................................第4章齿轮传动优化设计的遗传算法实现方法 . (19)4.1设计变量的编码 (19)4.2群体规模的选择 (21)4.3初始解的产生 (21)4.4目标函数和适应函数的产生 (22)4.5选择复制操作 (24)4.6交叉操作 (25)4.7变异运算 (26)4.8终止规则 (29)4.9优化算例 (29)4.10优化设计程序代码 (29)结论 (42)参考文献 (43)致谢 (45)附录1英文参考资料附录2 英文参考资料的中文翻译第1章绪论课题研究的背景和意义及其研究现状1.1.1 课题研究的背景和意义遗传算法(Genetic Algorithm, GA)是近年来迅速发展起来的一种全新的随机搜索与优化算法,其基本思想是基于Darw in的进化论和Mendel的遗传学说。
基于遗传算法求解作业车间调度问题本科毕业设计论文
基于遗传算法求解作业车间调度问题摘要作业车间调度问题(JSP)简单来说就是设备资源优化配置问题。
作业车间调度问题是计算机集成制造系统(CIMS)工程中的一个重要组成部分,它对企业的生产管理和控制系统有着重要的影响。
在当今的竞争环境下,如何利用计算机技术实现生产调度计划优化,快速调整资源配置,统筹安排生产进度,提高设备利用率已成为许多加工企业面临的重大课题。
近年来遗传算法得到了很大的发展,应用遗传算法来解决车间调度问题早有研究。
本文在已有算法基础上详细讨论了染色体编码方法并对其进行了改进。
在研究了作业车间调度问题数学模型和优化算法的基础上,将一种改进的自适应遗传算法应用在作业车间调度中。
该算法是将sigmoid函数的变形函数应用到自适应遗传算法中,并将作业车间调度问题中的完工时间大小作为算法的评价指标,实现了交叉率和变异率随着完工时间的非线性自适应调整,较好地克服了标准遗传算法在解决作业车间调度问题时的“早熟”和稳定性差的缺点,以及传统的线性自适应遗传算法收敛速度慢的缺点。
以改进的自适应遗传算法和混合遗传算法为调度算法,设计并实现了作业车间调度系统,详细介绍了各个模块的功能与操作。
最后根据改进的编码进行遗传算法的设计,本文提出了一种求解车间作业调度问题的改进的遗传算法,并给出仿真算例表明了该算法的有效性。
关键词:作业车间调度;遗传算法;改进染色体编码;生产周期Solving jopshop scheduling problem based ongenetic algorithmAbstractSimply speaking, the job shop scheduling problem(JSP) is the equipment resources optimization question. Job Shop Scheduling Problem as an important part of Computer IntegratedManufacturing System (CIMS) engineering is indispensable, and has vital effect onproduction management and control system. In the competion ecvironment nowadays, how touse the assignments quickly and to plan production with due consideration for all concernedhas become a great subject for many manufactory.In recent years,the genetic algorithms obtained great development it was used to solve the job shop scheduling problem early.This paper discusses the chromosome code method in detail based on the genetic algorithms and make the improvement on it. Through the research on mathematics model of JSP and optimized algorithm, theimproved adaptive genetic algorithm (IAGA) obtained by applying the improved sigmoidfunction to adaptive genetic algorithm is proposed. And in IAGA for JSP, the fitness ofalgorithm is represented by completion time of jobs. Therefore, this algorithm making thecrossover and mutation probability adjusted adaptively and nonlinearly with the completiontime, can avoid such disadvantages as premature convergence, low convergence speed andlow stability. Experimental results demonstrate that the proposed genetic algorithm does notget stuck at a local optimum easily, and it is fast in convergence, simple to be implemented. the job shop scheduling system based on IAGA and GASH is designed andrealized, and the functions and operations of the system modules are introduced detailedly. In the end ,according to the code with improved carries on the genetic algorithms desing, this paper offer one improved genetic algorithms about soloving to the job shop scheduling problem, and the simulated example has indicated that this algorithm is valid.Keywords: jop shop scheduling; genetic algorithm; improvement chromosome code; production cycl毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
毕业论文-遗传算法研究【范本模板】
湖南工业大学毕业设计(论文)题目遗传算法研究学院湖南工业大学专业计算机应用技术学号12535901012401姓名谭玉婷指导教师二零一四年六月十日摘要遗传算法(GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法.作为一种有效的全局优化搜索算法,它具有简单、通用、鲁棒性(Robust)强和适于并行分布处理的特点.基本遗传算法提供了一种通用的算法框架,方便根据具体的问题提供改进策略或者和其它算法混合使用,因此具有广泛的应用潜力。
本文中介绍的改良遗传算法改进了基本遗传算法的选择和变异操作,选择操作使用了最优保存策略,保证了当前产生最优个体不会因为交叉、变异而丢失,目的是提高算法的收敛速度;变异操作采用交换、倒序、插入三种变异算子混合的方式,增加种群的多样性,防止算法过早的陷入局部最优解而出现“早熟”现象,目的是提高解的质量。
为了验证算法改进策略的有效性,以求解TSP为例,针对不同规模的TSP(eil51、eil76、eil101)做了大量的数据统计.通过对比交换、倒序、插入变异算子以及三种算子混合时解的质量来说明使用多种变异算子混合的优势。
同时通过求解相同的问题(att48)与其它智能优化算法(基本遗传算法、模拟退火算法、基本蚁群算法)做了对比,验证算法改进策略的有效性.关键词:改良遗传算法旅行商问题最优保存策略混合变异算子AbstractThe genetic algorithm (GA)is a random search algorithm learn from biological natural selection and natural genetic mechanisms. As a kind of effective global parallel optimization search algorithm, It has a simple,universal,robustness strong and suitable for the parallel distributed processing characteristics。
遗传算法 (1)【精品毕业设计】(完整版)
遗传算法定义遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是有美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。
遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。
每个个体实际上是染色体(chromosome)带有特征的实体。
染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。
因此,在一开始需要实现从表现型到基因型的映射即编码工作。
由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜务汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。
这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
遗传算法特点遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法,与传统的优化算法相比,主要有以下特点:1、遗传算法以决策变量的编码作为运算对象。
传统的优化算法往往直接决策变量的实际植本身,而遗传算法处理决策变量的某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念,可以模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计遗传算法的研究及应用摘要本文分为三部分:第一部分:遗传算法的概述。
主要介绍了遗传算法的基本思想、遗传算法的构成要素、遗传算法的特点、遗传算法的基本模型、遗传算法的应用情况及今后的研究方向等等的内容。
第二部分:基于Matlab 7.0下的遗传算法求解函数最值问题。
遗传算法作为一种新的优化方法,广泛地用于计算科学、模式识别和智能故障诊断等方面,它适用于解决复杂的非线性和多维空间寻优问题,近年来也得到了较为广阔的应用。
本人选择了函数优化这个应用领域,按照遗传算法的步骤,即编码、解码、计算适应度(函数值)、选择复制运算、交叉运算和变异运算,对函数进行求解最值。
第三部分:对遗传算法求函数最值问题的改进。
这部分主要针对本文第二部分进行改进,通过改变基本遗传算法运行参数值,如改变交叉概率Pc值和变异概率Pm值,从而使最优值更加接近相对标准下函数的最值。
关键词:遗传算法适应度交叉概率变异概率目录1 前言 (1)2 遗传算法概述 (1)2.1生物进化理论和遗传学的基本知识 (1)2.2遗传算法的基本思想 (3)2.3遗传算法的构成要素 (3)2.3.1 染色体编码方法 (3)2.3.2 适应度函数 (4)2.3.3 遗传算子 (4)2.3.4 基本遗传算法运行参数 (5)2.4遗传算法的特点 (6)2.5遗传算法的基本模型 (7)2.6遗传算法的应用 (8)2.7遗传算法今后的研究方向 (10)3 基于MATLAB 7.0下的遗传算法求解函数最值问题 (11)3.1遗传算法的标准函数 (11)3.2解题步骤说明 (12)3.2.1 编码问题 (12)3.2.2 选择运算 (12)3.2.3 交叉运算 (13)3.2.4 变异运算 (13)3.3运行参数说明 (14)3.4对遗传算法求得的最值的分析 (14)3.5运行程序以及对其解释 (14)3.6从数学的角度求解函数最优值 (18)3.6.1 自变量x以0.2为步进单位 (18)3.6.2 自变量x以0.1为步进单位 (19)3.6.3 自变量x以更精确的数为步进单位 (21)4 对遗传算法求解函数最值问题的改进 (21)4.1寻找求得最优解的运行参数值 (22)4.1.1 当Pc=0.9和Pm=0.0001 (22)4.1.2 当Pc=0.9和Pm=0.001 (23)4.1.3 当Pc=0.9和Pm=0.01 (24)4.1.4 当Pc=0.9和Pm=0.1 (26)4.1.5 当Pc=0.4和Pm=0.1 (27)5 结论 (29)参考文献 (30)ABSTRACT (31)附录 (32)致谢 (38)仲恺农业工程学院毕业论文(设计)成绩评定表 (39)1 前言生命科学与工程科学的相互交叉、相互渗透和相互促进是近代科学技术发展的一个显著特点,而遗传算法的蓬勃发展正体现了科学发展的这一特征和趋势。
遗传算法(Genetic Algorithm---GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是由美国Michigan大学的J.Holland教授于1975年首先提出的。
J.Holland教授和他的研究小组围绕遗传算法进行研究的宗旨有两个:一是抽取和解释自然系统的自适应过程,二是设计具有自然系统机理的人工系统。
毫无疑问,J.Holland 教授的研究无论对自然系统还是对人工系统都是十分有意义的。
众所周知,在人工智能领域中,有不少问题需要在复杂而庞大的搜索空间中寻找最优解或准最优解。
因此,研究能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程,从而得到最优解或准最优解的通用搜索算法一直是令人瞩目的课题。
遗传算法就是这种特别有效的算法。
它的主要特点是简单、通用、鲁棒性强,适用于并行分布处理,应用范围广。
尽管遗传算法本身在理论和应用方法上仍有许多待进一步研究的问题,但它在组合优化问题求解、自适应控制、规划设计、机器学习和人工生命等领域的应用中已发展现了其特色和魅力。
2 遗传算法概述2.1 生物进化理论和遗传学的基本知识在介绍遗传算法之前,有必要了解有关的生物进化理论和遗传学的基本知识。
达尔文的生物进化论告诉我们,“适者生存,优胜劣汰”。
在生物自然环境中,生物种群的自然繁衍,生存,发展,最终取决于它对自然环境的适应能力。
当一个种群相对其他种群,对周围的环境能够显示出良好的适应能力,它将在生物竞争中处于优势地位,获取较大的生存机会,反之,该种群则趋向于消亡。
所以,一个种群的优异的适应能力是该种群得以繁衍发展的根本。
从达尔文的进化论我们可以看出,生物环境对生物的进化主要通过三个途径来进行:选择,交叉和变异。
遗传算法是一种模拟生物进化过程的学习方法,它操作的对象是由多个个体构成的种群,通过对种群中的成员模拟生物进化的方式来产生下一代种群,新种群总是在旧种群的基础上获得改进和提高,周而复始,从而使得种群的整体质量朝着优良的方向发展。
由于遗传算法是借鉴生物进化的思想,所以,遗传算法仍然沿用生物学中的一些术语。
染色体:它是遗传算法中运行的最基本的单位,是特定问题在算法中的表现形式,一般由二进制的数串所组成;基因:它是染色体的最小组成单位,在二进制数串中它由一个数位来表示;基因片:多个基因构成基因片;种群:种群是由多个染色体构成的集合,它的数目称之为种群规模;适应度:适应度反映了染色体所蕴涵的问题解质量的优劣,一般来说,染色体的适应度是一个非负数;适应度函数:染色体到适应度之间的映射关系;选择:遗传算子之一,是算法基于适应度对染色体进行优胜劣汰的操作过程;交叉:遗传算子之一,是算法产生新个体的途径之一,又称之为基因重组;变异:遗传算子之一,是算法产生新个体的途径之一,是小概率发生事件。
遗传算法所借鉴的生物学基础就是生物的遗传、变异和进化。
遗传---世间的生物从其父代继承特性或性状,这种生命现象就称为遗传。
生物的遗传方式有以下三个:(1) 复制生物的主要遗传方式是复制。
遗传过程中,父代的遗传物质DNA被复制到子代。
即细胞在分裂时,遗传物质DNA通过复制而转移到新生的细胞中,新细胞就继承了旧细胞的基因。
(2) 交叉有性生殖生物在繁殖下一代时,两个同源染色体之间通过交叉而重组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交叉组合而形成两个新的染色体。
(3) 变异在进行细胞复制时,虽然概率很小,仅仅有可能产生某些复制差错,从而使DNA发生某种变异,产生出新的染色体。
这些新的染色体表现出新的性状。
生物的不同品种都属于变异,在丰富多彩的生物界中,蕴含着形形色色的变异现象。
在这些变异现象中,有的仅仅是由于环境因素的影响造成的,并没有引起生物体内的遗传物质的变化,因而不能够遗传下去,属于不遗传的变异。
有的变异现象是由于生殖细胞内的遗传物质的改变引起的,因而能够遗传给后代,属于可遗传的变异。
敌酋上的生物,都是经过长期进化而形成的。
根据达尔文的自然选择学说,地球上的生物具有很强的繁殖能力。
在繁殖过程中,大多数生物通过遗传,使物种保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。
正是由于生物的不断繁殖后代,生物数目大量增加,而自然界中生物赖以生存的资源却是有限的。
因此,为了生存,生物就需要竞争。
生物在生存竞争中,根据对环境的适应能力,适者生存,不适者消亡。
自然界中的生物,就是根据这种优胜劣汰的原则,不断地进行进化。
2.2 遗传算法的基本思想遗传算法实质上是一种繁衍、监测和评价的迭代算法。
它一般要包含以下几个处理步骤:(1) 对问题的解进行编码,即用染色体表示问题的可能潜在解,生成经过编码的初始种群,适应度函数因优化问题的目标函数而定;(2) 根据适应度大小挑选个体进行遗传操作; (3) 按照适者生存和优胜劣汰的原理逐代演化,得到问题的最优解或近似最优解。
每个个体在种群演化过程中都被评价优劣并得到其适应度值,个体在选择、交叉以及变异算子的作用下向更高的适应度进化以达到寻求问题最优解的目标。
2.3 遗传算法的构成要素遗传算法中包含五个基本要素,即染色体的编码方法、适应度函数、遗传算子、基本遗传算法运行参数及约束条件的处理。
每个要素对应不同的环境有各种相应的设计策略和方法,而不同的策略和方法决定了相应的遗传算法具有不同的特征。
2.3.1 染色体编码方法遗传算法不能直接处理问题空间的参数,而需要把问题的可行解从其解空间转换到遗传算法所能处理的搜索空间中,这一转换方法就称为编码。
一般来说,由于遗传算法的鲁棒性,它对编码的要求并不苛刻。
但由于编码的方法对于个体的染色体排列形式,以及个体从搜索空间的基因型到解空间的表现型的转换和遗传算子的运算都有很大影响,因此编码方法在很大程度上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。
针对一个具体应用问题,如何设计一种完美的编码方案是遗传算法的应用难点,而目前还没有一套既严密又完整的指导理论及评价准则能帮我们设计编码方案。
对于实际应用问题,仍须对编码方法、选择运算方法、交叉运算方法、变异运算方法、解码方法统一考虑,以寻求到一种对问题的描述最为方便、遗传运算效率最高的编码方案。
在目前看来,人们已经提出了许多种不同的编码方法,主要有:二进制编码、格雷码和浮点数编码等等[2]。
2.3.2 适应度函数适应度函数指为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数。
遗传算法在进化搜索中基本不利用外部信息,仅以种群中每个个体的适应度函数值为依据进行搜索,因此适应度函数的选取至关重要。
遗传算法常常将目标函数直接作为适应度函数,但由于在执行选择操作时,它要按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的几率,而要正确计算此概率,要求所有个体的适应度值必须非负[3]。
2.3.3 遗传算子(1) 选择算子选择操作建立在对个体的适应度进行评价的基础之上,适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体被遗传到下一代群体中的概率较小,因而可以避免有效基因的损失,使高性能的个体得以较大的概率生存,从而提高全局收敛性和计算效率。
最常用的选择算子是比例选择算子,它是以正比于个体适应度值的概率来选择相应的个体。
另外还有比较常用的选择算子还有:最优保存策略选择、排序选择和随机联赛选择。
(2) 交叉算子遗传算法中,在交叉运算之前还必须先对群体中的个体进行随机配对,然后在这些配对个体组中两个个体之间进行交叉操作。
交叉算子用于组合产生新的个体,它要求对个体编码串中的优良模式不能有太多的破坏并且能有效的产生出一些较好的新个体模式,以便在解空间中能进行有效搜索,且保证对有效模式的破坏概率较小。
最常用的交叉算子有单点交叉算子和算术交叉算子。