遗传算法_精品文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
几种方法求得: • 预先指定的一个较大的数。 • 进化到当前代为止的最大目标函数值。 • 当前代或最近几代群体中的最大目标函数值。
遗传算法
2.名词解释
(3)染色体与基因
染色体(chromosome) 就是问题中个体的某种字符串形式的编码表示。字符串
中的字符也就称为基因(gene)。
例如:
个体
染色体
• 预先指定的一个较小的数。 • 进化到当前代为止的最小目标函数值。 • 当前代或最近几代群体中的最小目标函数值。
遗传算法
➢ 个体适应度评价
方法二:对于求目标函数最小值的优化问题,变换方法为:
F(X) =
Cmax - f(X) if f(X) Cmax
0
if f(X) Cmax
其中,Cmax是一个适当地相对比较大的数,它可用下面
遗传算法
➢ 选择-复制操作
[论盘选择示例]
个体序号 适应度
适应度累计值 随机数
被选中的个体号
1 2 3 4 5 6 7 8 9 10 8 2 17 7 2 12 11 7 3 7 8 10 27 34 36 48 59 66 69 76 1 9 17 25 33 41 49 57 65 73 1 2 3 3 4 6 7 7 8 10
种群
繁殖
变异
交叉
后种群
遗传算法
1. 处理步骤
(1)对优化问题构造初始可行解解集并对其编码,每个可行 解的编码对应于遗传中的一条染色体,编码的目的是为了方便 后续处理。
→ 种群 (2)对每个可行解进行评价,淘汰一部分较差的可行解,剩 下的可行解构成一个可以繁殖下一代的群体。
→ 繁殖 (3)淘汰后剩下的可行解两两交叉繁殖出新的子代解。
解)的一种称呼,一个个体也就是搜索空间中的一个点。
种群(population) 就是模拟生物种群而由若干个体组成的群体, 它一般是
整个搜索空间的一个很小的子集。
遗传算法
2.名词解释
(2) 适应度与适应度函数
适应度(fitness) 就是借鉴生物个体对环境的适应程度,而对问题中的
个体对象所设计的表征其优劣的一 种测度。
解:此例中,共有六个优化变量,采用实数编码 若有一个可行解
x (1.156,2.566,2.355,0.518,0.709,2.367 )T
则其实数编码为
(1.156,2.566,2.355,0.518,0.709,2.367)
遗传算法
三. 算例
解: 与前面的二进制编码相比,编码中的每一个分量都是一
遗传算法
遗传算法
概念
步骤
算例
展望
遗传算法
化工中 的应用
优势
特点
遗传算法
一.基本概念
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规 律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方 法。
提出:美国的J.Holland教授 → 1975 特点:(1)直接对结构对象进行操作,不存在求导和函数连
遗传算法
➢ 选择-复制操作 用轮盘赌的方法确定个体复制次数
按复制数复制个体 将新复制的个体组成种群备交叉操作
遗传算法
➢ 选择-复制操作
轮盘法
个体被选中的概率取决于个体的相对适应度:
pi = fi / fi ( i=1,2,…,M )
式中 pi——个体i被选中的概率; fi——个体i的适应度; fi——群体的累加适应度。
遗传算法
三. 算例
例:用遗传算法求解: min f (x) xT x, x (x1, x2, x3, x4, x5, x6 )T (5 xi 5)
解集中包含10个可行解,淘汰率为40%,交叉点和变异点 数均为2。
解:(1)确定初始解集,设置k=0 根据变量取值域为[-5,5]的要求,在此区间随机确定
9 ---- 1001
(2,5,6)---- 010 101 110
遗传算法
2.名词解释
(4) 遗传操作 遗传操作亦称遗传算子(genetic operator) 就是关于染色体的运算。 遗传算法中有三种遗传操作:
选择-复制(selection-reproduction) 交叉(crossover,亦称交换、交配或杂交) 变异(mutation,亦称突变)
F(X)=f(X)
遗传算法
➢个体适应度评价
• 对于求目标函数最小值的优化问题
理论上只需简单地对其增加一个负号就可将其转化为求 目标函数最大值的优化问题,即:
min f(X)=max ( - f(X))
但实际优化问题中的目标函数值有正也有负,优化目标有求 函数最大值,也有求函数最小值,显然上面两式保证不了所 有情况下个体的适应度都是非负数这个要求。
→ 交叉 (4)对新产生的子代解进行修正,并构成新的可行解集。
→ 变异
遗传算法
1. 处理步骤
遗传学中的概念 个体 染色体 适应性 群体 交叉
遗传算法中的术语 可行解
可行解的编码 评价函数值 可行解集 交叉操作
遗传算法
2.名词解释
(1) 个体与种群
个体 就是模拟生物个体而对问题中的对象(一般就是问题的
10个初始可行解如下:
遗传算法
三. 算例
解: xk,1 (1.559,2.796,2.032,3.297,2.855,4.495)T
xk,2 (0.764,0.891,4.475,0.821,0.666,4.972)T xk,3 (2.41,0.529,2.37,2.362,1.8,3.15)T xk,4 (0.452,2.564,3.976,3.986,1.15,0.808)T xk,5 (1.823,1.761,1.421,4.842,2.466,2.379)T xk,6 (1.549,0.965,2.367,1.515,2.117,2.062)T xk,7 (0.021,0.193,1.399,2.217,0.754,1.436)T xk,8 (4.057,1.053,0.99,1.3323,2.527,3.499)T xk,9 (1.156,2.566,2.355,0.518,0.709,2.367)T xk,10 (3.458,3.572,3.317,0.786,1.632,2.415)T
交叉操作的几种方式: 一点交叉
个体A 1 0 0 1 ┆1 1 1 → 1 0 0 1 0 0 0 新个体A*
个体B 0 0 1 1 ┆0 0 0 → 0 0 1 1 1 1 1 新个体B* 两点交叉
个体A 1 0 ┆ 1 1 0┆ 1 1 → 1 0 0 1 0 1 1 新个体A*
个体B 0 0 ┆ 0 1 0┆ 0 0 → 0 0 1 1 0 0 0 新个体B* 仅对两个交叉点之间的码串进行交换
续性的限定; (2)具有内在的隐并行性和更好的全局寻优能力; (3)采用概率化的寻优方法,能自动获取和指导优化 的搜索空间,自适应地调整搜索方向,不需要确定的 规则。 应用:组合优化、机器学习、信号处理、自适应控制和人工 生命等领域,它是现代有关智能计算中的关键技术。
遗传算法
生物进化的基本过程:
评价
➢ 变异操作
遗传算法
[变异操作示例]
个体 编号
1
2
3
1--0 个体 1010
1100
0010
0.801 0.120
0.102 0.706
0.760 0.473
0.266 0.105 0.894
新ቤተ መጻሕፍቲ ባይዱ体
0.373 0.840 0.001
0011
遗传算法
二. 运算过程
• a) 初始化 设置进化代数计数器t=0,设置最大进化代数T,随机生成M 个个体作为初始群体P(0)。
适应度函数(fitness function) 就是问题中的 全体个体与其适应度之间的一个对应
关系。它一般是一个实值函数。该函数就是遗传算法 中指导搜索的评价函数。
遗传算法
➢个体适应度评价
要求所有个体的适应度必须为正数或零,不能是负数。
• 当优化目标是求函数最大值
并且目标函数总取正值时可以直接设定个体的适应度F(X) 就等于相应的目标函数值f(X),即:
个实数而不是一个二进制数,一个编码表示的是一组优化 变量二不是一个优化变量。这种编码方式大大缩短了编码 长度,减小了计算量,且精度高。同时应该看到的是,实 数编码与二进制编码相似之处都是把优化变量转化成一列 数,这对于后续操作是比较有利的。
对于某些问题,可能这两种编码方式都不适用,那么具 体的编码方式就没有固定的规律可循,需要视实际情况而 定。
显然,个体适应度愈高,被选中的概率愈大。但是,适应 度小的个体也有可能被选中,以便增加下一代群体的多样 性。
遗传算法
➢ 选择-复制操作
图中指针固定不动,外 圈的圆环可以自由转动, 圆环上的刻度代表各个个 体的适应度。当圆环旋转 若干圈后停止,指针指定 的位置便是被选中的个体。
从统计意义讲,适应度 大的个体,其刻度长,被 选中的可能性大;反之, 适应度小的个体被选中的 可能性小,但有时也会被 “破格”选中。
遗传算法
➢ 交叉操作
多点交叉(广义交叉)
三点交叉图示 在红绿两个染色体随机选择3个交叉点
四点交叉图示 在蓝绿两个染色体随机选择4个交叉 点
➢ 交叉操作
遗传算法
一致交叉
旧个体 A 0 0 1 1 1 1 旧个体 B 1 1 1 1 0 0 —————————————— 屏蔽字 0 1 0 1 0 1 —————————————— 新个体 A* 0 1 1 1 1 0 新个体 B* 1 0 1 1 0 1
N
j = pc·M?
Y
Gen=Gen+1
j = j+1
N
j = pm·L·M?
Y
遗传算法
三. 算例
例:用遗传算法求解:
min f (x) xT x, x (x1, x2, x3, x4, x5, x6 )T (5 xi 5)
解集中包含10个可行解,淘汰率为40%,交叉点和变异点 数均为2。
• b) 个体评价 计算群体P(t)中各个个体的适应度。
• c) 选择运算 将选择算子作用于群体。选择的目的是把优化的个体直接 遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。 选择操作是建立在群体中个体的适应度评估基础上的.
遗传算法
二. 运算过程
• d) 交叉运算 将交叉算子作用于群体。所谓交叉是指把两个父代个体的部 分结构加以替换重组而生成新个体的操作。遗传算法中起核 心作用的就是交叉算子。
满足终止条件?
Y
N
计算群体中各个体适应度
从左至右依次执行遗传算子
pc
j=0
j=0
输出结果 终止
pm
j=0
根据适应度选择复制个体
选择两个交叉个体
选择个体变异点
执行复制
执行交叉
执行变异
将复制的个体添入 新群体中
将交叉后的两个新个体 添入新群体中
将变异后的个体添入 新群体中
j = j+1
N
j = M?
Y
j = j+2
遗传算法
➢ 交叉操作
将新复制的个体组成种群并两两随机匹配
按预先设定的交叉概率Pc决定对每对个体 是否需要进行交叉操作
在一串的n个数字中,随机选取一整数k(0<k<n),将两个 匹配串从位置k到串末尾的子串互相交换,形成两个新串
把所有新串与群体中未参加 交叉操作的个体组成新的群体
遗传算法
➢ 交叉操作
其他交叉法
二维交叉,树结构交叉等
遗传算法
➢ 变异操作
对于基本遗传算法中用二进制编码符号串所表示的个体, 若需要进行变异操作的某一基因座上的原有基因值为0,则变 异操作将该基因值变为1,反之,若原有基因值为1,则变异 操作将其变为0。
A :1010 1 01010 A*:1010 0 01010
变异是针对个体的某一个或某一些基因座上的基因值执行 的,因此变异概率Pm也是针对基因而言,即:
Pm =
B M ·l
式中 B——每代中变异的基因数目 M——每代中群体拥有的个体数目 λ——个体中基因串长度。
遗传算法
➢ 变异操作
[变异操作示例]
变异字符的位置是随机确定的,如下表所示。 某群体有3个个体,每个体含4个基因。针对每个个体的 每个基因产生一个[0, 1] 区间具有3位有效数字的均匀随机 数。假设变异概率 Pm=0.01,则随机数小于0.01的对应基 因值产生变异。 表中3号个体的第4位的随机数为0.001,小于0.01,该 基因产生变异,使3号个体由 0010 变为 0011 。 其余基因的随机数均大于0.01,不产生变异。
• e) 变异运算 将变异算子作用于群体。即是对群体中的个体串的某些基 因座上的基因值作变动。群体P(t)经过选择、交叉、变异运 算之后得到下一代群体P(t1)。
• f) 终止条件判断 若t=T,则以进化过程中所得到的具有最大适应度个体作为 最优解输出,终止计算。
遗传算法 开始
Gen=0 编码
随机产生M个初始个体
遗传算法
➢ 个体适应度评价
基本遗传算法一般采用下面两种方法之一将目标函数值f(x) 变换为个体的适应度F(x):
方法一:对于求目标函数最大值的优化问题,变换方法为:
F(X) =
f(X)+Cmin if f(X)+Cmin> 0
0
if f(X)+Cmin ≤ 0
其中,Cmin为一个适当地相对比较小的数,它可用下面方 法之一来选取:
遗传算法
➢ 选择-复制操作
[论盘选择示例] 上述轮盘选择过程,可描述如下: Ⅰ. 顺序累计群体内各个体的适应度,得相应的累计值Si,最 后一个累计值为Sn; Ⅱ. 在[0, Sn]区间内产生均匀分布的随机数r; Ⅲ. 依次用Si与r比较,第一个出现Si大于或等于r的个体j被选 为复制对象; Ⅳ. 重复 Ⅲ、Ⅳ 项,直至新群体的个体数目等于父代群体的 规模。
遗传算法
2.名词解释
(3)染色体与基因
染色体(chromosome) 就是问题中个体的某种字符串形式的编码表示。字符串
中的字符也就称为基因(gene)。
例如:
个体
染色体
• 预先指定的一个较小的数。 • 进化到当前代为止的最小目标函数值。 • 当前代或最近几代群体中的最小目标函数值。
遗传算法
➢ 个体适应度评价
方法二:对于求目标函数最小值的优化问题,变换方法为:
F(X) =
Cmax - f(X) if f(X) Cmax
0
if f(X) Cmax
其中,Cmax是一个适当地相对比较大的数,它可用下面
遗传算法
➢ 选择-复制操作
[论盘选择示例]
个体序号 适应度
适应度累计值 随机数
被选中的个体号
1 2 3 4 5 6 7 8 9 10 8 2 17 7 2 12 11 7 3 7 8 10 27 34 36 48 59 66 69 76 1 9 17 25 33 41 49 57 65 73 1 2 3 3 4 6 7 7 8 10
种群
繁殖
变异
交叉
后种群
遗传算法
1. 处理步骤
(1)对优化问题构造初始可行解解集并对其编码,每个可行 解的编码对应于遗传中的一条染色体,编码的目的是为了方便 后续处理。
→ 种群 (2)对每个可行解进行评价,淘汰一部分较差的可行解,剩 下的可行解构成一个可以繁殖下一代的群体。
→ 繁殖 (3)淘汰后剩下的可行解两两交叉繁殖出新的子代解。
解)的一种称呼,一个个体也就是搜索空间中的一个点。
种群(population) 就是模拟生物种群而由若干个体组成的群体, 它一般是
整个搜索空间的一个很小的子集。
遗传算法
2.名词解释
(2) 适应度与适应度函数
适应度(fitness) 就是借鉴生物个体对环境的适应程度,而对问题中的
个体对象所设计的表征其优劣的一 种测度。
解:此例中,共有六个优化变量,采用实数编码 若有一个可行解
x (1.156,2.566,2.355,0.518,0.709,2.367 )T
则其实数编码为
(1.156,2.566,2.355,0.518,0.709,2.367)
遗传算法
三. 算例
解: 与前面的二进制编码相比,编码中的每一个分量都是一
遗传算法
遗传算法
概念
步骤
算例
展望
遗传算法
化工中 的应用
优势
特点
遗传算法
一.基本概念
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规 律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方 法。
提出:美国的J.Holland教授 → 1975 特点:(1)直接对结构对象进行操作,不存在求导和函数连
遗传算法
➢ 选择-复制操作 用轮盘赌的方法确定个体复制次数
按复制数复制个体 将新复制的个体组成种群备交叉操作
遗传算法
➢ 选择-复制操作
轮盘法
个体被选中的概率取决于个体的相对适应度:
pi = fi / fi ( i=1,2,…,M )
式中 pi——个体i被选中的概率; fi——个体i的适应度; fi——群体的累加适应度。
遗传算法
三. 算例
例:用遗传算法求解: min f (x) xT x, x (x1, x2, x3, x4, x5, x6 )T (5 xi 5)
解集中包含10个可行解,淘汰率为40%,交叉点和变异点 数均为2。
解:(1)确定初始解集,设置k=0 根据变量取值域为[-5,5]的要求,在此区间随机确定
9 ---- 1001
(2,5,6)---- 010 101 110
遗传算法
2.名词解释
(4) 遗传操作 遗传操作亦称遗传算子(genetic operator) 就是关于染色体的运算。 遗传算法中有三种遗传操作:
选择-复制(selection-reproduction) 交叉(crossover,亦称交换、交配或杂交) 变异(mutation,亦称突变)
F(X)=f(X)
遗传算法
➢个体适应度评价
• 对于求目标函数最小值的优化问题
理论上只需简单地对其增加一个负号就可将其转化为求 目标函数最大值的优化问题,即:
min f(X)=max ( - f(X))
但实际优化问题中的目标函数值有正也有负,优化目标有求 函数最大值,也有求函数最小值,显然上面两式保证不了所 有情况下个体的适应度都是非负数这个要求。
→ 交叉 (4)对新产生的子代解进行修正,并构成新的可行解集。
→ 变异
遗传算法
1. 处理步骤
遗传学中的概念 个体 染色体 适应性 群体 交叉
遗传算法中的术语 可行解
可行解的编码 评价函数值 可行解集 交叉操作
遗传算法
2.名词解释
(1) 个体与种群
个体 就是模拟生物个体而对问题中的对象(一般就是问题的
10个初始可行解如下:
遗传算法
三. 算例
解: xk,1 (1.559,2.796,2.032,3.297,2.855,4.495)T
xk,2 (0.764,0.891,4.475,0.821,0.666,4.972)T xk,3 (2.41,0.529,2.37,2.362,1.8,3.15)T xk,4 (0.452,2.564,3.976,3.986,1.15,0.808)T xk,5 (1.823,1.761,1.421,4.842,2.466,2.379)T xk,6 (1.549,0.965,2.367,1.515,2.117,2.062)T xk,7 (0.021,0.193,1.399,2.217,0.754,1.436)T xk,8 (4.057,1.053,0.99,1.3323,2.527,3.499)T xk,9 (1.156,2.566,2.355,0.518,0.709,2.367)T xk,10 (3.458,3.572,3.317,0.786,1.632,2.415)T
交叉操作的几种方式: 一点交叉
个体A 1 0 0 1 ┆1 1 1 → 1 0 0 1 0 0 0 新个体A*
个体B 0 0 1 1 ┆0 0 0 → 0 0 1 1 1 1 1 新个体B* 两点交叉
个体A 1 0 ┆ 1 1 0┆ 1 1 → 1 0 0 1 0 1 1 新个体A*
个体B 0 0 ┆ 0 1 0┆ 0 0 → 0 0 1 1 0 0 0 新个体B* 仅对两个交叉点之间的码串进行交换
续性的限定; (2)具有内在的隐并行性和更好的全局寻优能力; (3)采用概率化的寻优方法,能自动获取和指导优化 的搜索空间,自适应地调整搜索方向,不需要确定的 规则。 应用:组合优化、机器学习、信号处理、自适应控制和人工 生命等领域,它是现代有关智能计算中的关键技术。
遗传算法
生物进化的基本过程:
评价
➢ 变异操作
遗传算法
[变异操作示例]
个体 编号
1
2
3
1--0 个体 1010
1100
0010
0.801 0.120
0.102 0.706
0.760 0.473
0.266 0.105 0.894
新ቤተ መጻሕፍቲ ባይዱ体
0.373 0.840 0.001
0011
遗传算法
二. 运算过程
• a) 初始化 设置进化代数计数器t=0,设置最大进化代数T,随机生成M 个个体作为初始群体P(0)。
适应度函数(fitness function) 就是问题中的 全体个体与其适应度之间的一个对应
关系。它一般是一个实值函数。该函数就是遗传算法 中指导搜索的评价函数。
遗传算法
➢个体适应度评价
要求所有个体的适应度必须为正数或零,不能是负数。
• 当优化目标是求函数最大值
并且目标函数总取正值时可以直接设定个体的适应度F(X) 就等于相应的目标函数值f(X),即:
个实数而不是一个二进制数,一个编码表示的是一组优化 变量二不是一个优化变量。这种编码方式大大缩短了编码 长度,减小了计算量,且精度高。同时应该看到的是,实 数编码与二进制编码相似之处都是把优化变量转化成一列 数,这对于后续操作是比较有利的。
对于某些问题,可能这两种编码方式都不适用,那么具 体的编码方式就没有固定的规律可循,需要视实际情况而 定。
显然,个体适应度愈高,被选中的概率愈大。但是,适应 度小的个体也有可能被选中,以便增加下一代群体的多样 性。
遗传算法
➢ 选择-复制操作
图中指针固定不动,外 圈的圆环可以自由转动, 圆环上的刻度代表各个个 体的适应度。当圆环旋转 若干圈后停止,指针指定 的位置便是被选中的个体。
从统计意义讲,适应度 大的个体,其刻度长,被 选中的可能性大;反之, 适应度小的个体被选中的 可能性小,但有时也会被 “破格”选中。
遗传算法
➢ 交叉操作
多点交叉(广义交叉)
三点交叉图示 在红绿两个染色体随机选择3个交叉点
四点交叉图示 在蓝绿两个染色体随机选择4个交叉 点
➢ 交叉操作
遗传算法
一致交叉
旧个体 A 0 0 1 1 1 1 旧个体 B 1 1 1 1 0 0 —————————————— 屏蔽字 0 1 0 1 0 1 —————————————— 新个体 A* 0 1 1 1 1 0 新个体 B* 1 0 1 1 0 1
N
j = pc·M?
Y
Gen=Gen+1
j = j+1
N
j = pm·L·M?
Y
遗传算法
三. 算例
例:用遗传算法求解:
min f (x) xT x, x (x1, x2, x3, x4, x5, x6 )T (5 xi 5)
解集中包含10个可行解,淘汰率为40%,交叉点和变异点 数均为2。
• b) 个体评价 计算群体P(t)中各个个体的适应度。
• c) 选择运算 将选择算子作用于群体。选择的目的是把优化的个体直接 遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。 选择操作是建立在群体中个体的适应度评估基础上的.
遗传算法
二. 运算过程
• d) 交叉运算 将交叉算子作用于群体。所谓交叉是指把两个父代个体的部 分结构加以替换重组而生成新个体的操作。遗传算法中起核 心作用的就是交叉算子。
满足终止条件?
Y
N
计算群体中各个体适应度
从左至右依次执行遗传算子
pc
j=0
j=0
输出结果 终止
pm
j=0
根据适应度选择复制个体
选择两个交叉个体
选择个体变异点
执行复制
执行交叉
执行变异
将复制的个体添入 新群体中
将交叉后的两个新个体 添入新群体中
将变异后的个体添入 新群体中
j = j+1
N
j = M?
Y
j = j+2
遗传算法
➢ 交叉操作
将新复制的个体组成种群并两两随机匹配
按预先设定的交叉概率Pc决定对每对个体 是否需要进行交叉操作
在一串的n个数字中,随机选取一整数k(0<k<n),将两个 匹配串从位置k到串末尾的子串互相交换,形成两个新串
把所有新串与群体中未参加 交叉操作的个体组成新的群体
遗传算法
➢ 交叉操作
其他交叉法
二维交叉,树结构交叉等
遗传算法
➢ 变异操作
对于基本遗传算法中用二进制编码符号串所表示的个体, 若需要进行变异操作的某一基因座上的原有基因值为0,则变 异操作将该基因值变为1,反之,若原有基因值为1,则变异 操作将其变为0。
A :1010 1 01010 A*:1010 0 01010
变异是针对个体的某一个或某一些基因座上的基因值执行 的,因此变异概率Pm也是针对基因而言,即:
Pm =
B M ·l
式中 B——每代中变异的基因数目 M——每代中群体拥有的个体数目 λ——个体中基因串长度。
遗传算法
➢ 变异操作
[变异操作示例]
变异字符的位置是随机确定的,如下表所示。 某群体有3个个体,每个体含4个基因。针对每个个体的 每个基因产生一个[0, 1] 区间具有3位有效数字的均匀随机 数。假设变异概率 Pm=0.01,则随机数小于0.01的对应基 因值产生变异。 表中3号个体的第4位的随机数为0.001,小于0.01,该 基因产生变异,使3号个体由 0010 变为 0011 。 其余基因的随机数均大于0.01,不产生变异。
• e) 变异运算 将变异算子作用于群体。即是对群体中的个体串的某些基 因座上的基因值作变动。群体P(t)经过选择、交叉、变异运 算之后得到下一代群体P(t1)。
• f) 终止条件判断 若t=T,则以进化过程中所得到的具有最大适应度个体作为 最优解输出,终止计算。
遗传算法 开始
Gen=0 编码
随机产生M个初始个体
遗传算法
➢ 个体适应度评价
基本遗传算法一般采用下面两种方法之一将目标函数值f(x) 变换为个体的适应度F(x):
方法一:对于求目标函数最大值的优化问题,变换方法为:
F(X) =
f(X)+Cmin if f(X)+Cmin> 0
0
if f(X)+Cmin ≤ 0
其中,Cmin为一个适当地相对比较小的数,它可用下面方 法之一来选取:
遗传算法
➢ 选择-复制操作
[论盘选择示例] 上述轮盘选择过程,可描述如下: Ⅰ. 顺序累计群体内各个体的适应度,得相应的累计值Si,最 后一个累计值为Sn; Ⅱ. 在[0, Sn]区间内产生均匀分布的随机数r; Ⅲ. 依次用Si与r比较,第一个出现Si大于或等于r的个体j被选 为复制对象; Ⅳ. 重复 Ⅲ、Ⅳ 项,直至新群体的个体数目等于父代群体的 规模。