遗传算法基础简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变异
基本内容:对群体中的个体串的某些基因座上的 基因值作变动 最常用的即基本位变异算子
基本位变异算子的具体执行过程: (1)对个体的每一个基因座,依变异概率pm指定其 为变异点; (2)对每一个指定的变异点,对其基因值做取反运 算或用其他等位基因来代替,从而产生出一个 新 的个体。
例:X:1 0 1 0 1 0 1 0 1 0
这里介绍一个比例选择算子 所谓比例选择算子,是指个体被 选中并遗传到下 一代群体中的概率与该个体的 适应度大小成正比。
比例选择算子的具体执行过程是: (a)先计算出群体中所有个体的适应度的总和; (b)其次计算出每个个体的相对适应度的大小,它 即为各个个体被遗传到下一代群体中的概率;
设给定的规模为n的群体{X1 , X2 ,…, Xn },个 体Xj 适应度为F(Xj ),则其选择概率为
传基因组成的一个染色体,f x 为目标函数
群体:又称种群,代表问题的解空间子集
遗传算法的基本运算步骤:
a)初始化:设置最大进化代数T,群体大小M,交叉概率
pc变异概率pm,随机生成M个个体作为初始群体P(0)。
b)染色体编码:基本遗传算法使用固定长度的二进
制符号串来表示群体中的个体,其等位基因是由二值 符号集{0,1}所组成。
应用领域:
组合优化 多目标优化 模糊优化 可靠性设计 调度问题 高级运输问题 网络设计与路径 制造元设计 机器学习 信号处理
自适应控制
人工生命
遗传算法中的基本概念
对于一个求函数最大值f x 的优化问题,一般可描
述为下述数学规划模型:
max f x
s.t. X R
R U
式中,X [x1, x2 ,L , xn ]T为决策变量,即由n个遗
如:X [0,10] 用10位二进制来编码
若编码为:0000110101,其十进制值为:53 转换成变量域的实际值为:53*10/1023
适应度值计算
适应度函数一般即选取目标函数,要求适应度必须为正或 零。因此需注意目标函数值为负数时的处理方法
方法一:对于求目标函数最大值的优化问题,变换方法为:
F
遗传算法是一类借鉴生物界的进化规律(适者生存,
优胜劣汰)演化而来的随机化搜索方法。
由美国J.Holland教授在1975年提出 的。
特点:
遗传算法的处理对象不是参数本身,而是经过编码后的 个体。 不是传统的单点搜索法,而是同时处理群体中的多个个 体,减少了陷入局部最优解的风险。 遗传算法只用适应度函数来评价个体,不受不可连续可 微的约束。 遗传算法采用概率变迁来指导搜索方向 具有自组织、自适应和自学习性。
交叉——核心作用
所谓交叉,即指把两个父代个体的部分结 构加以替换重组而生成新个体的操作。
交叉算子根据交叉概率pm将种群中的两个 个体随机地交换某些基因,能够产生新的基 因组合,期望将有益基因组合在一起。
最常用的是单点交叉:
具体执行过程如下:
(a)对群体中的个体进行两两随机配对。若群体的
大小为M,则共有[M/2]对相互配对的个体组。其 中[x]表示不大于x的最大整数;
(b)对每一组相互配对的个体,根据交叉概率随机 设置交叉点。若染色体的长度为n,则共有n-1个 可能的交叉点位置;
(c) 在其交叉点处相互交换两个个体的部分染色体, 从而产生出两个新的个体。
例:
个体A:1 0 0 1 个体B:0 0 1 1
111 0 00
1 0 0 1 0 0 0 新个体 0 0 1 1 1 1 1 新个体
ps
Xj
F
n
Xj
j 1, 2,L , n
F Xi
i 1
(c)最后再使用模拟赌盘操作(即0到1之间的随机
数)来确定各个个体被选中的概率
轮盘赌操作
在此方法中,各个个体的选择概率和其适应度值成比 例。 设群体大小为n,其中个体i的适应度为s, i被选择的概率 为P(i)。 概率反映了个体i的适应度在整个群体的个体适应度总 和中所占的比例,个体适应度越大,其被选择的概率 就越高 为了选择交配个体,需要进行多轮选择,每一轮产生 一个【0,1】之间均匀随机数,将该随机数作为选择 指针来确定被选个体。个体被选后,可随机地组成交 配对,以供后面的交叉操作。
x
f 0
x
Cmຫໍສະໝຸດ Baidun
if if
f x Cmin 0 f x Cmin 0
方法二:对于求目标函数最小值的优化问题,变换方法为:
F
x
C0max
f
x if
if
f x Cmin f x Cmin
选择
目标:把优化的个体直接遗传到下一代或通过 配对交叉产生新的个体再遗传到下一代 常用的选择算子有:适应度比例算法,随机遍 历抽样法,局部选择法。
基本遗传算法的运行参数
● M:群体大小,即群体中所含个体 的数量,一般取为100~200。 ● T:遗传运算的终止进化代数,一般 取为500~100。 ● pc:交叉概率,一般取为0.4~0.6 ● pm:变异概率,一般取为0.001~0.1
染色体编码方法
基本遗传算法使用固定长度的二进制符号 串来表示群体中的个体,其等位基因是由二 值符号集{0,1}所组成。初始种群各个个体的 基因值可用均匀分布的随机数来生成。
称为交叉概率,crossover rate)交换它们之间的部
分染色体。 f)变异运算:将变异算子作用于群体。对群体P(t)中的 每一个个体,以某一概率(称为变异概率,mutation
rate)改变某一个或某一些基因座上的基因值为其它
等位基因。 群体P(t)经过选择、交叉、变异运算之后得到下一代群 体P(t 1)。 g)终止条件判断:找出进化过程中所得到的具有最大适 应度个体,当达到最大进化代数T,选出最优解输出, 终止计算。
c)个体评价:计算群体P(t)中各个个体的适应度。
d)选择运算:将选择算子作用于群体。根据染色体对应 的适应值和问题的要求,筛选种群P(t)中的染色体, 染色体的适应度越高,保存到P(t+1)的概率越大,反 之则越小,甚至被淘汰。
e)交叉运算;将交叉算子作用于群体。将群体P(t)内 的个体随机搭配成对,对每一个个体,以某个概率(
变异点
基本位变异:X’:1 0 1 0 0 0 1 0 1 0
终止条件
当最优个体的适应度达到给定的阀值, 或者最优个体的适应度和群体适应度不再上 升时,或者迭代次数达到预设的代数时,算 法终止。预设的代数一般设置为100-500代。