基本遗传算法(讲的很好很透彻_学习亲测)

合集下载

遗传算法遗传算法

遗传算法遗传算法
11
(5)遗传算法在解空间进行高效启发式搜索,而非盲 目地穷举或完全随机搜索;
(6)遗传算法对于待寻优的函数基本无限制,它既不 要求函数连续,也不要求函数可微,既可以是数学解 析式所表示的显函数,又可以是映射矩阵甚至是神经 网络的隐函数,因而应用范围较广;
(7)遗传算法具有并行计算的特点,因而可通过大规 模并行计算来提高计算速度,适合大规模复杂问题的 优化。
26
(4)基本遗传算法的运行参数 有下述4个运行参数需要提前设定:
M:群体大小,即群体中所含个体的数量,一般取为 20~100; G:遗传算法的终止进化代数,一般取为100~500; Pc:交叉概率,一般取为0.4~0.99;
Pm:变异概率,一般取为0.0001~0.1。
27
10.4.2 遗传算法的应用步骤
遗传算法简称GA(Genetic Algorithms)是1962年 由美国Michigan大学的Holland教授提出的模拟自然 界遗传机制和生物进化论而成的一种并行随机搜索最 优化方法。
遗传算法是以达尔文的自然选择学说为基础发展起 来的。自然选择学说包括以下三个方面:
1
(1)遗传:这是生物的普遍特征,亲代把生物信息交 给子代,子代总是和亲代具有相同或相似的性状。生 物有了这个特征,物种才能稳定存在。
18
(3)生产调度问题 在很多情况下,采用建立数学模型的方法难以对生
产调度问题进行精确求解。在现实生产中多采用一些 经验进行调度。遗传算法是解决复杂调度问题的有效 工具,在单件生产车间调度、流水线生产车间调度、 生产规划、任务分配等方面遗传算法都得到了有效的 应用。
19
(4)自动控制。 在自动控制领域中有很多与优化相关的问题需要求
10

基本遗传算法的几个基本概念 -回复

基本遗传算法的几个基本概念 -回复

基本遗传算法的几个基本概念-回复基本遗传算法是一种启发式搜索算法,它基于生物进化过程中的自然选择和遗传机制。

这种算法模仿了生物进化中的基本原理,通过随机生成的初始个体群体,通过选择、交叉和变异等操作,逐代地优化并进化个体,最终找到适应度最高的解。

在理解基本遗传算法之前,我们需要了解几个基本概念:1. 个体(Individual):个体是基本遗传算法中的搜索空间中的一个解,可以是具体的问题的一个可行解,也可以是一个参数向量等。

2. 群体(Population):群体是由一组个体组成的搜索空间,一般由固定数量的个体构成。

群体的初始个体是通过随机生成来的。

3. 适应度函数(Fitness Function):适应度函数是用来评估个体的优劣程度的函数。

适应度函数根据实际问题的特性来定义,一般是一个数值,用来衡量个体对问题解的适应程度。

4. 选择(Selection):选择是基于个体的适应度来确定下一代个体的过程。

通常,适应度越高的个体更有可能被选择到下一代,从而使整个种群逐渐进化。

5. 交叉(Crossover):交叉是将两个个体的基因组合并生成新个体的过程。

通过交叉操作,可以将两个个体的优良特征进行组合,产生新的个体。

6. 变异(Mutation):变异是在个体基因中引入随机扰动的过程。

变异操作有助于增加种群的多样性,并保持种群在搜索空间中的广泛探索能力。

基本遗传算法的具体步骤如下:1. 初始化群体:随机生成初始的个体群体,并给每个个体赋予适应度。

2. 选择操作:根据个体的适应度选择一部分个体作为父代。

3. 交叉操作:从父代中选取两个个体进行交叉,生成新的子代。

交叉操作可以采用单点交叉、多点交叉、均匀交叉等方式。

4. 变异操作:对新生成的子代个体进行变异操作,引入一定概率的随机扰动。

变异操作有助于增加种群的多样性。

5. 更新群体:根据适应度函数重新评估新个体的适应度,并根据选择策略确定下一代的个体。

6. 终止条件:通过迭代运行上述步骤,直到满足终止条件,例如达到最大迭代次数或找到满足要求的解。

基本遗传算法及的应用举例

基本遗传算法及的应用举例

基本遗传算法及应用举例遗传算法(Genetic Algorithms)是一种借鉴生物界自然选择和自然遗传机制的随机、高度并行、自适应搜索算法。

遗传算法是多学科相互结合与渗透的产物。

目前它已发展成一种自组织、自适应的多学科技术。

针对各种不同类型的问题,借鉴自然界中生物遗传与进化的机理,学者们设计了不同的编码方法来表示问题的可行解,开发出了许多不同环境下的生物遗传特征。

这样由不同的编码方法和不同的遗传操作方法就构成了各种不同的遗传算法。

但这些遗传算法有共同的特点,即通过对生物的遗传和进化过程中的选择、交叉、变异机理的模仿来完成对最优解的自适应搜索过程。

基于此共同点,人们总结出了最基本的遗传算法——基本遗传算法。

基本遗传算法只使用选择、交叉、变异三种基本遗传操作。

遗传操作的过程也比较简单、容易理解。

同时,基本遗传算法也是其他一些遗传算法的基础与雏形。

1.1.1 编码方法用遗传算法求解问题时,不是对所求解问题的实际决策变量直接进行操作,而是对表示可行解的个体编码的操作,不断搜索出适应度较高的个体,并在群体中增加其数量,最终寻找到问题的最优解或近似最优解。

因此,必须建立问题的可行解的实际表示和遗传算法的染色体位串结构之间的联系。

在遗传算法中,把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法称之为编码。

反之,个体从搜索空间的基因型变换到解空间的表现型的方法称之为解码方法。

编码是应用遗传算法是需要解决的首要问题,也是一个关键步骤。

迄今为止人们已经设计出了许多种不同的编码方法。

基本遗传算法使用的是二进制符号0和1所组成的二进制符号集{0,1},也就是说,把问题空间的参数表示为基于字符集{0,1}构成的染色体位串。

每个个体的染色体中所包含的数字的个数L 称为染色体的长度或称为符号串的长度。

一般染色体的长度L 为一固定的数,如X=10011100100011010100表示一个个体,该个体的染色体长度L=20。

基本遗传算法【精品毕业设计】(完整版)

基本遗传算法【精品毕业设计】(完整版)

基本遗传算法【精品毕业设计】(完整版)遗传算法1、遗传算法⽣物学基础和基本理论达尔⽂⾃然选择学说认为,⽣物要⽣存下去,就必须进⾏⽣存⽃争。

⽣存⽃争包括种内⽃争、种间⽃争以及⽣物跟⽆机环境之间的⽃争三个⽅⾯。

在⽣存⽃争中,具有有利变异(mutation)的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产⽣后代的机会也少得多。

因此,凡是在⽣存⽃争中获胜的个体都是对环境适应性⽐较强的。

达尔⽂把这种在⽣存⽃争中适者⽣存,不适者淘汰的过程叫做⾃然选择。

达尔⽂的⾃然选择学说表明,遗传和变异是决定⽣物进化的内在因素。

遗传是指⽗代与⼦代之间,在性状上存在的相似现象。

变异是指⽗代与⼦代之间,以及⼦代的个体之间,在性状上或多或少地存在的差异现象。

在⽣物体内,遗传和变异的关系⼗分密切。

⼀个⽣物体的遗传性状往往会发⽣变异,⽽变异的性状有的可以遗传。

遗传能使⽣物的性状不断地传送给后代,因此保持了物种的特性,变异能够使⽣物的性状发⽣改变,从⽽适应新的环境⽽不断地向前发展。

⽣物的各项⽣命活动都有它的物质基础,⽣物的遗传与变异也是这样。

根据现代细胞学和遗传学的研究得知,遗传物质的主要载体是染⾊体(chromsome),染⾊体主要是由DNA(脱氧核糖核酸)和蛋⽩质组成,其中DNA⼜是最主要的遗传物质。

现代分⼦⽔平的遗传学的研究⼜进⼀步证明,基因(gene)是有遗传效应的⽚段,它储存着遗传信息,可以准确地复制,也能够发⽣突变,并可通过控制蛋⽩质的合成⽽控制⽣物的性状。

⽣物体⾃⾝通过对基因的复制(reproduction)和交叉(crossover),即基因分离、基因⾃由组合和基因连锁互换)的操作使其性状的遗传得到选择和控制。

同时,通过基因重组、基因变异和染⾊体在结构和数⽬上的变异产⽣丰富多采的变异现象。

需要指出的是,根据达尔⽂进化论,多种多样的⽣物之所以能够适应环境⽽得以⽣存进化,是和上述的遗传和变异⽣命现象分不开的。

基本遗传算法(讲的很好很透彻_学习亲测)

基本遗传算法(讲的很好很透彻_学习亲测)

[说明] 这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,但目前
尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试 算后才能确定出这些参数合理的取值大小或取值范围。
1.2 基本遗传算法的形式化定义
基本遗传算法可定义为一个7元组:
GA= (M, F, s, c, m, pc, pm )
基本遗传算法(GA)
1 基本遗传算法描述
遗传算法在自然与社会现象模拟、工程计算等方面得到了广泛应用。在各个 不同的应用领域,为了取得更好的结果,人们对GA进行了大量改进,为了不至 于混淆,我们把Holland提出的算法称为基本遗传算法,简称 GA、SGA (Simple Genetic Algorithm )、CGA(Canonical Genetic Algorithm),将其它 的“GA类”算法称为GAs(Genetic Algorithms),可以把GA看作是GAs的一种特 例。
00000000…00000000=0 00000000…00000001=1 00000000…00000010=2
……
umin umin + umin + 2
11111111…11111111=2l–1
umax
其中, 为二进制编码的编码精度,其公式为:
= Umax umin 2l 1
(2) 解码
end
2 基本遗传算法的实现
根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计 算机语言来实现这个基本遗传算法。
现对具体实现过程中的问题作以下说明:
2.1 编码与解码
(1) 编码
假设某一参数的取值范围是[umin , umax],用长度为l的二进制编码符号串来表

遗传算法的使用方法和技巧指南

遗传算法的使用方法和技巧指南

遗传算法的使用方法和技巧指南遗传算法是一种启发式优化算法,它模拟了自然界中的生物进化过程来解决问题。

它具有强大的搜索能力和全局优化能力,在各个领域都有广泛的应用。

本文将介绍遗传算法的基本原理、使用方法以及一些重要的技巧指南。

一、遗传算法的基本原理遗传算法基于生物进化的思想,通过模拟人工选择、交叉和变异等过程来生成和更新解的种群,并利用适应度函数对种群进行评估和选择,以期望通过迭代的方式找到最优解。

遗传算法的基本流程如下:1. 初始化种群:随机生成一组个体作为初始种群。

2. 适应度评估:根据问题的特定要求,计算每个个体的适应度值。

3. 选择操作:利用适应度值选择父代个体进行繁殖,常用的选择算法有轮盘赌选择和竞争选择等。

4. 交叉操作:通过交叉运算生成新的后代个体,交叉操作能够保留父代的有益特征。

5. 变异操作:对交叉后的个体进行基因的随机变异,增加种群的多样性。

6. 替换操作:根据一定的规则,用新生成的后代个体替换原始种群中的一部分个体。

7. 终止条件判断:根据迭代次数或者达到某个预定义的解的条件,判断是否终止迭代。

8. 返回最优解。

二、遗传算法的使用方法为了正确有效地使用遗传算法,我们需要遵循以下几个步骤:1. 理解问题:首先,要准确理解问题的特性和要求,包括确定问题的目标函数、约束条件等。

只有对问题有清晰的认识,才能设计合适的遗传算法。

2. 设计编码方案:将问题的解表示为染色体的编码方案,更好的编码方案可以减少解空间的搜索范围。

常用的编码方式有二进制、浮点数、整数等。

3. 确定适应度函数:根据问题的特点,设计合适的适应度函数用于度量个体的优劣。

适应度函数应能够将问题的目标转化为一个数值,使得数值越大越好或者越小越好。

4. 选择操作:选择操作决定了如何根据适应度值选择父代个体。

常用的选择算法有轮盘赌选择、竞争选择、排名选择等。

轮盘赌选择是普遍应用的一种方法,根据个体的适应度值按比例选择。

5. 交叉操作:交叉操作决定了如何生成新的后代个体。

《遗传算法详解》课件

《遗传算法详解》课件
特点
遗传算法具有全局搜索能力、对问题 依赖性小、可扩展性强、鲁棒性高等 特点。
遗传算法的基本思想
初始化
随机生成一组解作为初始种群。
适应度评估
根据问题的目标函数计算每个解 的适应度值。
选择操作
根据适应度值的大小,选择优秀 的解进行遗传操作。
迭代更新
重复以上过程,直到满足终止条 件。
变异操作
对某些基因进行变异,增加解的 多样性。
《遗传算法详解》 ppt课件
• 遗传算法概述 • 遗传算法的基本组成 • 遗传算法的实现流程 • 遗传算法的优化策略 • 遗传算法的改进方向 • 遗传算法的未来展望
目录
Part
01
遗传算法概述
定义与特点
定义
遗传算法是一种模拟生物进化过程的 优化算法,通过模拟基因遗传和变异 的过程来寻找最优解。
Part
05
遗传算法的改进方向
混合遗传算法的研究
混合遗传算法
结合多种优化算法的优点,提高遗传算法的全局搜索能力和收敛速 度。
混合遗传算法的原理
将遗传算法与其他优化算法(如梯度下降法、模拟退火算法等)相 结合,利用各自的优势,弥补各自的不足。
混合遗传算法的应用
在许多实际问题中,如函数优化、路径规划、机器学习等领域,混 合遗传算法都取得了良好的效果。
自适应交叉率
交叉率控制着种群中新个体的产生速度。自适应交叉率可以根据种群中个体的适应度差 异进行调整,使得适应度较高的个体有更低的交叉率,而适应度较低的个体有更高的交 叉率。这样可以提高算法的搜索效率。
自适应变异率
变异率决定了种群中新个体的产生速度。自适应变异率可以根据种群中个体的适应度进 行调整,使得适应度较高的个体有更低的变异率,而适应度较低的个体有更高的变异率

遗传算法基本概念

遗传算法基本概念

遗传算法基本概念一、引言遗传算法(Genetic Algorithm,GA)是一种基于生物进化原理的搜索和优化方法,它是模拟自然界生物进化过程的一种计算机算法。

遗传算法最初由美国科学家Holland于1975年提出,自此以来,已经成为了解决复杂问题的一种有效工具。

二、基本原理遗传算法通过模拟自然界生物进化过程来求解最优解。

其基本原理是将问题转换为染色体编码,并通过交叉、变异等操作对染色体进行操作,从而得到更优的解。

1. 染色体编码在遗传算法中,问题需要被转换成染色体编码形式。

常用的编码方式有二进制编码、实数编码和排列编码等。

2. 适应度函数适应度函数是遗传算法中非常重要的一个概念,它用来评价染色体的适应性。

适应度函数越高,则该染色体越有可能被选中作为下一代群体的父代。

3. 选择操作选择操作是指从当前群体中选择出适应度较高的个体作为下一代群体的父代。

常用的选择方法有轮盘赌选择、竞赛选择和随机选择等。

4. 交叉操作交叉操作是指将两个父代染色体的一部分基因进行交换,产生新的子代染色体。

常用的交叉方法有单点交叉、多点交叉和均匀交叉等。

5. 变异操作变异操作是指在染色体中随机改变一个或多个基因的值,以增加种群的多样性。

常用的变异方法有随机变异、非一致性变异和自适应变异等。

三、算法流程遗传算法的流程可以概括为:初始化种群,计算适应度函数,选择父代,进行交叉和变异操作,得到新一代种群,并更新最优解。

具体流程如下:1. 初始化种群首先需要随机生成一组初始解作为种群,并对每个解进行编码。

2. 计算适应度函数对于每个染色体,需要计算其适应度函数值,并将其与其他染色体进行比较。

3. 选择父代根据适应度函数值大小,从当前种群中选择出若干个较优秀的染色体作为下一代群体的父代。

4. 进行交叉和变异操作通过交叉和变异操作,在选出来的父代之间产生新的子代染色体。

5. 更新最优解对于每一代种群,需要记录下最优解,并将其与其他染色体进行比较,以便在下一代中继续优化。

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

2.6 算法流程图
开始 Gen=0 编码 随机产生M个初始个体 满足终止条件?
Y
输出结果
N
计算群体中各个体适应度 从左至右依次执行遗传算子
终止
pm
j=0 选择个体变异点 执行变异
pc
j=0 根据适应度选择复制个体 执行复制 将复制的个体添入 新群体中 j = j+1
j=0 选择两个交叉个体 执行交叉 将交叉后的两个新个体 添入新群体中 j = j+2
若染色体的长度为l ,则共有(l-1)个可能的交叉点位置。
Ⅲ. 对每一对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个个 体的部分染色体,从而产生出两个新的个体。 单点交叉运算的示例如下所示: A;10110111 00 单点交叉 A’:10110111 11 B:00011100 11 B’:00011100 00
M——群体大小; F——个体适应度评价函数; s——选择操作算于; c——交叉操作算子: m——变异操作算于; pc——交叉概率; pm——变异概率;
1.3 基本遗传算法描述
Procedure GA Begin initialize P(0); t=0; while (t<=T) do for i=1 to M do Evaluate fitness of P(t); end for for i=1 to M do Select operation to P(t); end for for i=1 to M/2 do Crossover operation to P(t); end for for i=1 to M do Mutation operation to P(t); end for for i=1 to M do P(t+1) = P(t); end for t=t+1 end while end
基本遗传算法(GA)
1 基本遗传算法描述
遗传算法在自然与社会现象模拟、工程计算等方面得到了广泛应用。在各个
不同的应用领域,为了取得更好的结果,人们对GA进行了大量改进,为了不至 于混淆,我们把Holland提出的算法称为基本遗传算法,简称 GA、SGA (Simple Genetic Algorithm )、CGA(Canonical Genetic Algorithm),将其它 的“GA类”算法称为GAs(Genetic Algorithms),可以把GA看作是GAs的一种特 例。
式中
B——每代中变异的基因数目; M——每代中群体拥有的个体数目 l——个体中基因串长度。
[变异操作示例] 变异字符的位置是随机确定的,如下表所示。某群体有3个个体,每个体含4 个基因。针对每个个体的每个基因产生一个[0, 1] 区间具有3位有效数字的均 匀随机数。假设变异概率 pm = 0.01,则随机数小于0.01的对应基因值产生变 异。表中3号个体的第4位的随机数为0.001,小于0.01,该基因产生变异, 使3号个体由 0010 变为 0011 。其余基因的随机数均大于0.01,不产生变异。
轮盘选择的原理:
图中指针固定不动,外圈的圆环可以 自由转动, 圆环上的刻度代表各个个 体的适应度。当圆环旋转若干圈后停止, 指针指定的位置便是被选中的个体。 从统计意义讲,适应度大的个体,其 刻度长,被选中的可能性大;反之,适 应度小的个体被选中的可能性小,但有 时也会被“破格”选中。
[轮盘选择示例]
(2) 解码
假设某一个体的编码是:
x: bl bl-1 bl-2……b2b1
则对应的解码公式为:
U umin x = umin + ( bi ·2i-1 ) · max i=l 2l 1
1
[例 ]
设 -3.0 ≤ x ≤ 12.1 , 精度要求 =1/10000,由公式: =
Umax umin
Umax umin
2l 1
= - 0.3 + 70352(12.1+3)/(218-1) = 1.052426
2.2 个体适应度评价
如前所述,要求所有个体的适应度必须为正数或零,不能是负数。 (1) 当优化目标是求函数最大值,并且目标函数总取正值时,可以直接设定个体 的适应度F(X)就等于相应的目标函数值f(X),即: F(X)=f(X) (2) 对于求目标函数最小值的优化问题,理论上只需简单地对其增加一个负号就
将变异后的个体添入 新群体中
j = j+1
N
j = M? Y
N
j = pc· M? Y
Gen=Gen+1
N
j = pm· L· M? Y
3 基本遗传算法应用举例 —— 基本遗传算法在函数优化中的应用。
[例] Rosenbrock函数的全局最大值计算。
max s.t.
如图所示:
f(x1,x2) = 100 (x12-x22)2 + (1-x1)2 -2.048 ≤ xi ≤ 2.048 (xi=1,2)
[说明]
这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,但目前 尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试 算后才能确定出这些参数合理的取值大小或取值范围。
1.2 基本遗传算法的形式化定义
基本遗传算法可定义为一个7元组:
GA= (M, F, s, c, m, pc, pm )
可将其转化为求目标函数最大值的优化问题,即:
min f(X)=max ( - f(X)) 但实际优化问题中的目标函数值有正也有负,优化目标有求函数最大值,也有 求函数最小值,显然上面两式保证不了所有情况下个体的适应度都是非负数这个 要求。
基本遗传算法一般采用下面两种方法之一将目标函数值 f(x)变换为个体的适应度F(x): 方法一:对于求目标函数最大值的优化问题,变换方法为: f(X)+Cmin if f(X)+Cmin> 0 F(X) = 0 if f(X)+Cmin ≤ 0 其中,Cmin为一个适当地相对比较小的数,它可用下面方法之一来选取: • 预先指定的一个较小的数。 • 进化到当前代为止的最小目标函数值。 • 当前代或最近几代群体中的最小目标函数值。
2l 1
得:
2l =
Umax umin +1 12.1 + 3.0 +1 = 1/10000 = 151001
即: 217 < 151001 < 218 x需要18位 {0/1} 符号表示。 如:010001001011010000 解码:
1
x = umin + ( bi
i=l
·2i-1) ·
2.3 比例选择算子
(1) 选择算子或复制算子的作用: 从当前代群体中选择出一些比较优良的个体,并将其复制到下一代群体中。 (2) 最常用和最基本的选择算子: 比例选择算子。
(3) 比例选择算子:
指个体被选中并遗传到下一代群体中的概率与该个体的适应度大小成正比。 (4) 执行比例选择的手段是轮盘选择。
(2) 个体适应度评价 基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传 到下一代群体中的机会多少。为正确计算这个概率,这里要求所有个体的适应 度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数 值到个体适应度之间的转换规则,特别是要预先确定好当目标函数值为负数时 的处理方法。 (3) 遗传算子
方法二:对于求目标函数最小值的优化问题,变换方法为: F(X) =
Cmax - f(X) if f(X) Cmax 0 if f(X) Cmax
其中,Cmax是一个适当地相对比较大的数,它可用下面几种方法求得: • 预先指定的一个较大的数。 • 进化到当前代为止的最大目标函数值。 • 当前代或最近几代群体中的最大目标函数值。
上述轮盘选择过程,可描述如下:
Ⅰ. 顺序累计群体内各个体的适应度,得相应的累计值Si,最后一个累计值为Sn; Ⅱ. 在[0, Sn]区间内产生均匀分布的随机数r; Ⅲ. 依次用Si与r比较,第一个出现Si大于或等于r的个体j被选为复制对象; Ⅳ. 重复 Ⅲ、Ⅳ 项,直至新群体的个体数目等于父代群体的规模。
2 基本遗传算法的实现
根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计
算机语言来实现这个基本遗传算法。
现对具体实现过程中的问题作以下说明:
2.1 编码与解码
(1) 编码
假设某一参数的取值范围是[umin , umax],用长度为l的二进制编码符号串来表 示该参数,则它总共能够产生 2l种不同的编码,参数编码时的对应关系如下:
该函数有两个局部极大点,
2.5 基本位变异算子
基本位变异算子是最简单和最基本的变异操作算子。
对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作 的某一基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有 基因值为1,则变异操作将其变为0。 基本位变异因子的具体执行过程是: Ⅰ. 对个体的每一个基因座,依变异概率pm指定其为变异点。
轮盘法的基本精神是:个体被选中的概率取决于个体的相对适应度:
pi = fi / fi ( i=1,2,…,M )
式中 pi——个体i被选中的概率;
fi——个体i的适应度;
fi——群体的累加适应度。 显然,个体适应度愈高,被选中的概率愈大。但是,适应度小的个体也有可
能被选中,以便增加下一代群体的多样性。
交叉概率
pc =
Mc M
式中 M——群体中个体的数目; Mc——群体中被交换个体的数目。 [交叉操作示例] 交叉的个体是随机确定的,如下表所示。某群体有n个个体,每个个体含8 个等位基因。针对每个个体产生一个[0, 1] 区间的均匀随机数。假设交叉概率 pc = 0.6,则随机数小于0.6的对应个体与其随机确定的另一个个体交叉,交叉 点随机确定。 个体编号 1 2 3 4 … 个体 11011000 10101011 00101100 10001101 … 随机数 0.728 0.589 0.678 0.801 … 交叉操作 11011000 101010 11 00101100 100011 01 … 100011 11 … 101010 01 新个体
相关文档
最新文档