GA遗传算法概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

遗传算法及其应用

摘要:遗传算法是一种基于生物自然选择和遗传机理的随机搜索与优化方法。近年来,由于遗传算法在求解复杂问题中的巨大潜力及其在工业工程领域的成功应用,受到了国内外学者的广泛关注。本文详细介绍了遗传算法的基本原理、主要特征以及主要应用。

关键词:遗传算法;选择算子;交叉算子;变异算子

Genetic Algorithm and Its Application

Abstract: Genetic algorithm is a random search and optimization method based on biological natural selection and genetic mechanism. In recent years,genetic algorithm has attracted many domestic and overseas scholars' attention for its potential in solving many complex problems and its successful application in the field of industrial engineering, This paper introduces the basic principle ,the main characteristics and applications of genetic algorithm in detail.

Key words: genetic algorithm, selection operator, crossover operator, mutation operator

1.遗传算法发展历史

1967年,Holland的学生Bagley在其博士论文中首次提出“遗传算法”[1]。1970年,Cavicchio把遗传算法应用于模式识别[2]。Hollstien最早把遗传算法应用于函数优化[3]。20世纪70年代,Holland教授提出了遗传算法的基本定理—模式定理[4],从而奠定了遗传算法的理论基础。1975年,Holland教授出版了第一本系统论述遗传算法和人工自适应系统的专著《Adaptation in Natural and Artificial Systems》。同年,K.A.De Song在博士论文《遗传自适应系统的行为分析》结合模式定理进行了大量的纯数值函数优化计算实验,建立了遗传算法的工作框架,为遗传算法及其应用打下了坚实的基础,他所得出的许多结论迄今仍具有普遍的指导意义。

2.遗传算法理论

2.1遗传算法的基本思想

遗传算法借鉴Darwin 的物竞天择、优胜劣汰、适者生存的自然选择和自然遗传的机理。与传统搜索算法不同,遗传算法从一组随机产生的初始解(称为群体)开始。群体中的每个个体是问题的一个解,称为“染色体”,这些染色体在后代迭代过程中不断进化。遗传算法主要通过选择、交叉和变异来实现,其本质是一种求解问题的高效并行全局搜索方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。

遗传算法是一个迭代的过程,在每次迭代过程中都保留一组候选解,按解的好坏进行排序,按照约束条件从中选取一组解,利用遗传算法中的三个算子对其进行计算,产生新一代的候选解,重复此过程直到满足某种收敛条件为止。

2.2遗传算法的数学基础

定义1:模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同的结构。在二进制编码中,模式是基于三个字符集(0,1,*)的字符串,符号*代表(0,1)中的任意字符。例如:10**1

定义2:模式H中确定位置的个数称为模式H的阶,记O(H)。例如O(10**1)=3。

定义3:模式H中第一个确定位置和最后一个确定位置之间的距离称为模式H的定义距,记作δ(H)。例如δ(10**1)=4。

模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本数就越少。在遗传操作中,即使阶数相同的模式,也会有不同的性质,而模式的

定义距就反映了这种性质的差异。

定义4:个体即要处理的对象、结构,也就是可行解。

定义5:适应度即可行解对应的适应函数的值,表现为个体对于环境的适应程度。

模式定理:具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释遗传算法机理提供了数学基础。

2.3群体的规模

群体规模的确定,根据模式定理,受遗传操作中选择算子的影响最大。一般来说,群体规模越大,群体中个体的多样性越高,算法陷入局部解的危险越小。

但群体规模太大,从计算效率着眼,群体越大其适应度评估次数增加,所以计算量增加,从而影响计算性能。太小会使遗传算法的搜索空间中分布范围有限,因而搜索有可能停在未成熟阶段,引起早收敛现象。初始群体的确定通常采用以下两个方法:(1)用随机方法产生,只有这样选取才能达到所有状态的遍历,使最优解在遗传算法的进化中最终得以生存。(2)使用其他优化方法或启发式方法选取使初始群体更优良。

2.4遗传算子简介

2.4.1选择算子

把当前群体中的个体按与适应值成比例的概率复制到新的群体中,遗传算法中最

常用的选择方式是轮盘赌选择方式。轮盘赌选择步骤如下:

(1)求群体中所有个体的适应值总和S;

(2)产生一个0到S之间的随机数M;

(3)从群体中编号为1的个体开始,将其适应值与后续个体的适应值相加,直到累加和大于等于M,则停止。其中,那个最后加进去的个体即为新选择的个体。

选择算子作用的效果是提高了群体的平均适应值及最差的适应值,低适应值的个体趋于被淘汰,高适应值的个体趋于被复制,但是是以损失群体的多样性为代价,选择算子并没有产生新的个体,当然群体中最好个体的适应值不会改进。

2.4.2 交叉算子

交叉算子(又称杂交算子)每次作用在种群随机选取的两个个体上产生两个不同的子个体,它们一般与父个体不同,但又包含父个体的遗传物质,交叉运算是遗传算法区别于其它进化算法的重要特征。

交叉规则内容包括两个方面:(1)从种群中对个体随即配对,并按预定的交叉概率来决定是否进行交叉操作。(2)设定个体的交叉点,并对这些点前后的配对个体的基因相互交换。

例如:首先产生一个1到h(其中h为染色体分量的个数)的随机数i(称为交叉点),然后配对的两个个体相互交换从(i+1)到h的位子,如对以下两个数进行交叉且交叉点选择在2,即i=2,则 1 1 |0 1 1 1

0 1 |1 0 1 0

对种群要确定交叉概率。随机选择N×个个体进行交叉,其余不变。

显然,利用选择、交叉算子可以产生具有更高平均适应值和更好个体的群体。但仅仅如此,容易导致局部最优解。

2.4.3 变异算子

变异算子能使个体发生突然变异,导入新的遗传信息,使寻优有可能指向未探知区域,是提高全局最优搜索能力的有效步骤,也是保持群体差异,防止过早出现收敛现象的重要手

相关文档
最新文档