遗传算法及其在路径规划中的应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)种群(群体):所有个体的集合(population)。 (3)种群规模:种群中个体的数量称为种群规模(population size)。 (4)基因:个体中的每一位称为一个基因(gene)。 (5)适应度函数:能够评价个体对环境适应能力的函数 (fitness function)。
4
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.1.3 遗传算法应用引例 2 例:求 f ( x) x , x [0, 31] 的最大值。 解:(1)编码方式的确定 采用五位二进制代码表示变量x。 (2)初始种群的产生 设种群规模N=4,随机产生初始种群如表1所示。 表1 产生的初始种群
标号 1 2 3 4
交叉前 交叉后
individual 1
11001 11001 01010 00110
11001 00110 01010 11001
individual 2
图2 单点交叉
16
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
②两点交叉(Two-Point Crossover) 按交叉概率随机设置两个交叉点,然后交换两个父代个体 在两个交叉点之间的基因。
表5 变异操作过程
标号 1 交叉后 的种群 01000 变异点位置 3 / / /
新种群
01100
x值 12
25 29 18
f (x)=x2 144 625 841 324 1934 483.5 841
2 3 4
11001 11101 10010
11001 11101 10010 总 计
平均值 最大值
3
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.1 遗传算法的基本概念 1.1.1 进化的基本理论 (1)Darwin生物进化论 (2)Mendel自然遗传学说 1.1.2 遗传算法术语简介
(1)个体(染色体):遗传算法求解实际问题时,首先对待 优化问题的参数进行编码(一般采用二进制码串表示),从而 得到一个字符串,该字符串被称为一个个体(individual )或 一个染色体(chromosome)。
576 64 361 1170
292.5 576
1.00
1.97
0.492
7
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(5)交叉
采用随机交叉配对,一点交叉方式进行交叉。 表4 交叉操作过程
交叉点 配对对象 复制后匹配 新种群 标号 池中的个体 (随机选取) (随机选取) 1 01101 3 3 5 3 5 01000
遗传算法及其在路径规划 中的应用
北京科技大学自动化学院控制科学与工程系
1
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
参考书目:
(1)周德俭,吴斌. 智能控制. 重庆:重庆大学出 版社,2005 (2)李少远,王景成. 智能控制. 北京:机械工业 出版社,2005 (3)李人厚. 智能控制理论和方法. 西安:西安电 子科技大学出版社,1999 (4)王顺晃,舒迪前. 智能控制系统及其应用(第 二版). 北京:机械工业出版社,2005
(1)采用二进制形式编码,个体的位数多,描述得比较 细致,从而加大了搜索范围;但交叉运算的计算量较大,并且 由于大量的具体问题本身都是十进制的,所以还需对实际参数 进行编码和译码,从而增加了额外的计算时间。 (2)采用实数(浮点数)编码,交叉运算的计算量较小, 但变异过程难于进行。 (3)符号编码方式通常在一些专门的应用场合使用。
x值 8
25 29 18
f (x)=x2 64 625 841 324 1854 463.5 841
2 3 4
11000 11000 10011
4 1 2 总 计
平均值 最大值
11001 11101 10010
8
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(6)变异 采用单点随机变异方式进行变异操作。
13
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
③对于最大化问题(如需要),一般采用如下转换形式:
J ( x) cmin f ( x) 0
当J ( x) cmin 0 其它
其中,cmin既可以是当前代中目标函数 J(x) 的最小值,也可以根 据经验人为设定。 ④采用如下的指数函数形式:
适应度
f (x)=x2 169
复制概率
fi
f
期望的复制 数
i
fi fi
实际得到 的复制数 1 2 0 1 4 1 2
0.144 0.492 0.055 0.309 1.000 0.25
0.58
1.97 0.22 1.23 4.00
2 3 4
11000 01000 10011 总 计
平均值 最大值
24 8 19
其中,a,b是系数,可根据具体问题的特征及所期望适应度的 分散程度来确定。 ②对于最小化问题,一般采用如下转换形式:
cmax J ( x) f ( x) 0
当 J ( x) cmax 其它
其中,cmax既可以是到目前为止所有进化代中目标函数 J(x) 的 最大值(此时cmax将随着进化而有所变化),也可以根据经验 人为设定。
17
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
交叉前
交叉后
individual 1 template individual 2
0101100110 1001010101 0110010001
0100110011
0111000100
图4 均匀交叉 ④算数交叉(Arithmetic Crossover) 算数交叉的操作对象一般是由浮点数编码所表示的个体, 它通过两个父代个体的线性组合而产生出两个新的个体。 t 假设在两个父代个体 X A , B 之间进行算数交叉,则交叉运 Xt 算后所产生出的两个新个体是
11000 01000 10011
适应度值
x值
13 24 8 19
f (x)=x2
169
576 64 361
总 计
平均值 最大值
6
1170
292.5 576
北京科技大学自动化学院控制科学与工程系
2013年10月31日6时47分
(4)复制 采用赌轮法计算各个个体被复制的次数。
表3 复制操作过程
标号 初始种群 x值 1 01101 13
f ( x) c J ( x )
在最大化问题时,c一般取1.618或2;而在最小化问题时, c可取为0.618。这样,既保证了适应wenku.baidu.com值非负,又使适应度值 增大方向和目标函数优化方向一致。
14
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(4)复制(选择)(Reproduction or Selection) 复制是基于适者生存理论而提出的,是指种群中每一个体 按照适应度函数进入到匹配池中的过程。适应度值高于种群平 均适应度的个体在下一代中将有更多的机会繁殖一个或多个后 代,而低于平均适应度的个体则有可能被淘汰掉。复制的目的 在于保证那些适应度高的优良个体在进化中生存下去,复制不 会产生新的个体。常用的复制方法有: ①赌轮法 ②两两竞争法 从种群中随机地选择两个个体,将其中适应度较大的个体 作为被复制的个体;若两个体适应度相同,则任意选择一个。 ③排序法 首先根据目标函数值的大小将个体排序,根据具体问题应 用各个体的排序序号分配各自进入匹配池的概率。适应度可以 按序号线性变化,也可以按某种非线性关系变化。
11
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(2)初始种群的产生 初始种群对应着问题的初始解,通常有两种方式产生: ①完全随机方式产生(字符串每一位均随机产生); ②随机数发生器方式产生(整个字符串用随机数发生器一 次产生)。 另外,如果对于寻优问题有某些先验知识,则可先将这些 先验知识转变为必须满足的一组约束,然后再在满足这些约束 的解中随机地选取个体以组成初始种群。 (3)适应度函数的确定 适应度函数是遗传算法与实际优化问题之间的接口。在遗 传算法中要求适应度函数值是非负的,且任何情况下都希望其 值越大越好;而实际优化问题的目标函数并不一定满足这个条 件,有的是正的,有的可能为负,甚至可能是复数值。因此, 对于任意优化问题,首先应把其数学形式表示为遗传算法适于 求解的形式,同时要保证二者在数学优化层面上是等价的。这 个过程称为适应度转换。
2
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1 遗传算法产生的背景
20世纪60年代,美、德等国家的一些科学家开始模仿生物 和人类进化的方法来求解复杂优化问题,从而形成了模拟进化 优化方法(Optimization Method by Simulated Evolution), 其代表性方法有遗传算法(GA:Genetic Algorithms)、进化 规划(EP:Evolutionary Programming)、进化策略(ES: Evolutionary Strategies)。本讲将主要对GA进行详细介绍。 常规的数学优化技术基于梯度寻优技术,计算速度快,但 要求优化问题具有可微性,且通常只能求得局部最优解;而模 拟进化方法无可微性要求,适用于任意的优化问题,尤其适用 于求解组合优化问题以及目标函数不可微或约束条件复杂的非 线性优化问题。由于它们采用随机优化技术,所以会以较大的 概率求得全局最优解。其计算费用较高的问题也因计算机软硬 件技术的飞速发展而不再成为制约因素。
9
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.2 遗传算法的基本步骤 1.2.1 遗传算法的流程
确定表示问题解的编码
随机生成初始种群 确定适应度函数f 计算种群中各个体的适应度 fi 选择高适应度的个体进行复制 交叉 变异
是否满足收敛判据? 否
是 输出最优解
图1 遗传算法的基本流程图
10
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.2.2 遗传算法的具体实现 (1)编码方式的选取 利用遗传算法求解实际问题时,问题的解是用字符串来表 示的,遗传算子也是直接对字符串进行操作的。因此,如何用 适当的字符串编码来表示问题的解成为了遗传算法应用过程中 的首要问题。 目前所使用的字符串编码方式主要有:二进制、实数(浮 点数)和符号等。
5
初始种群 01101 11000 01000 10011
x值 13 24 8 19
北京科技大学自动化学院控制科学与工程系
2013年10月31日6时47分
(3)适应度函数值的计算 取适应度函数为f (x)=x2,则4个样本的适应度值分别如下 表所示。 表2 适应度函数计算
标号 1
2 3 4
初始种群 01101
15
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(5)交叉(Crossover) 交叉是指对从匹配池中随机选出的两个个体按一定的交叉 概率 pc 部分地交换某些基因的过程。一般分两步实现:第一步 是将新复制产生的匹配池中的个体随机两两配对;第二步是进 行交叉繁殖,产生一对新的个体。交叉的目的是为了生成新的 个体,产生新的基因组合,避免每代种群中个体的重复。 ①单点交叉(One-Point Crossover) 对每一对相互配对的个体,依设定的交叉概率pc在其交叉 点处相互交换两个父代个体的部分染色体,从而产生出两个新 的个体,如下图所示。
交叉前 交叉后
individual 1 individual 2
11 01011 000 10 10110 101
11 10110 000 10 01011 101
图3 两点交叉
③均匀交叉(Uniform Crossover) 其操作过程是:先选出两个父代个体,之后依据交叉概率 pc 产生一个与父代个体同样长度的二进制串,这里称其为模板 (template)。若模板中的某位为0,则两个父代个体对应位不 进行交换;反之,模板中的某位为1时,则交换两个父代个体 对应位的基因。
12
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
适应度转换首先要保证适应度值是非负的,其次要求目标 函数的优化方向应与适应度值增大的方向一致。设实际优化问 题的目标函数为J(x),遗传算法的适应度函数为f(x),则有: ①可以将适应度函数表示为实际优化问题目标函数的线性 形式,即有 f ( x) a J ( x) b
4
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.1.3 遗传算法应用引例 2 例:求 f ( x) x , x [0, 31] 的最大值。 解:(1)编码方式的确定 采用五位二进制代码表示变量x。 (2)初始种群的产生 设种群规模N=4,随机产生初始种群如表1所示。 表1 产生的初始种群
标号 1 2 3 4
交叉前 交叉后
individual 1
11001 11001 01010 00110
11001 00110 01010 11001
individual 2
图2 单点交叉
16
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
②两点交叉(Two-Point Crossover) 按交叉概率随机设置两个交叉点,然后交换两个父代个体 在两个交叉点之间的基因。
表5 变异操作过程
标号 1 交叉后 的种群 01000 变异点位置 3 / / /
新种群
01100
x值 12
25 29 18
f (x)=x2 144 625 841 324 1934 483.5 841
2 3 4
11001 11101 10010
11001 11101 10010 总 计
平均值 最大值
3
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.1 遗传算法的基本概念 1.1.1 进化的基本理论 (1)Darwin生物进化论 (2)Mendel自然遗传学说 1.1.2 遗传算法术语简介
(1)个体(染色体):遗传算法求解实际问题时,首先对待 优化问题的参数进行编码(一般采用二进制码串表示),从而 得到一个字符串,该字符串被称为一个个体(individual )或 一个染色体(chromosome)。
576 64 361 1170
292.5 576
1.00
1.97
0.492
7
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(5)交叉
采用随机交叉配对,一点交叉方式进行交叉。 表4 交叉操作过程
交叉点 配对对象 复制后匹配 新种群 标号 池中的个体 (随机选取) (随机选取) 1 01101 3 3 5 3 5 01000
遗传算法及其在路径规划 中的应用
北京科技大学自动化学院控制科学与工程系
1
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
参考书目:
(1)周德俭,吴斌. 智能控制. 重庆:重庆大学出 版社,2005 (2)李少远,王景成. 智能控制. 北京:机械工业 出版社,2005 (3)李人厚. 智能控制理论和方法. 西安:西安电 子科技大学出版社,1999 (4)王顺晃,舒迪前. 智能控制系统及其应用(第 二版). 北京:机械工业出版社,2005
(1)采用二进制形式编码,个体的位数多,描述得比较 细致,从而加大了搜索范围;但交叉运算的计算量较大,并且 由于大量的具体问题本身都是十进制的,所以还需对实际参数 进行编码和译码,从而增加了额外的计算时间。 (2)采用实数(浮点数)编码,交叉运算的计算量较小, 但变异过程难于进行。 (3)符号编码方式通常在一些专门的应用场合使用。
x值 8
25 29 18
f (x)=x2 64 625 841 324 1854 463.5 841
2 3 4
11000 11000 10011
4 1 2 总 计
平均值 最大值
11001 11101 10010
8
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(6)变异 采用单点随机变异方式进行变异操作。
13
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
③对于最大化问题(如需要),一般采用如下转换形式:
J ( x) cmin f ( x) 0
当J ( x) cmin 0 其它
其中,cmin既可以是当前代中目标函数 J(x) 的最小值,也可以根 据经验人为设定。 ④采用如下的指数函数形式:
适应度
f (x)=x2 169
复制概率
fi
f
期望的复制 数
i
fi fi
实际得到 的复制数 1 2 0 1 4 1 2
0.144 0.492 0.055 0.309 1.000 0.25
0.58
1.97 0.22 1.23 4.00
2 3 4
11000 01000 10011 总 计
平均值 最大值
24 8 19
其中,a,b是系数,可根据具体问题的特征及所期望适应度的 分散程度来确定。 ②对于最小化问题,一般采用如下转换形式:
cmax J ( x) f ( x) 0
当 J ( x) cmax 其它
其中,cmax既可以是到目前为止所有进化代中目标函数 J(x) 的 最大值(此时cmax将随着进化而有所变化),也可以根据经验 人为设定。
17
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
交叉前
交叉后
individual 1 template individual 2
0101100110 1001010101 0110010001
0100110011
0111000100
图4 均匀交叉 ④算数交叉(Arithmetic Crossover) 算数交叉的操作对象一般是由浮点数编码所表示的个体, 它通过两个父代个体的线性组合而产生出两个新的个体。 t 假设在两个父代个体 X A , B 之间进行算数交叉,则交叉运 Xt 算后所产生出的两个新个体是
11000 01000 10011
适应度值
x值
13 24 8 19
f (x)=x2
169
576 64 361
总 计
平均值 最大值
6
1170
292.5 576
北京科技大学自动化学院控制科学与工程系
2013年10月31日6时47分
(4)复制 采用赌轮法计算各个个体被复制的次数。
表3 复制操作过程
标号 初始种群 x值 1 01101 13
f ( x) c J ( x )
在最大化问题时,c一般取1.618或2;而在最小化问题时, c可取为0.618。这样,既保证了适应wenku.baidu.com值非负,又使适应度值 增大方向和目标函数优化方向一致。
14
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(4)复制(选择)(Reproduction or Selection) 复制是基于适者生存理论而提出的,是指种群中每一个体 按照适应度函数进入到匹配池中的过程。适应度值高于种群平 均适应度的个体在下一代中将有更多的机会繁殖一个或多个后 代,而低于平均适应度的个体则有可能被淘汰掉。复制的目的 在于保证那些适应度高的优良个体在进化中生存下去,复制不 会产生新的个体。常用的复制方法有: ①赌轮法 ②两两竞争法 从种群中随机地选择两个个体,将其中适应度较大的个体 作为被复制的个体;若两个体适应度相同,则任意选择一个。 ③排序法 首先根据目标函数值的大小将个体排序,根据具体问题应 用各个体的排序序号分配各自进入匹配池的概率。适应度可以 按序号线性变化,也可以按某种非线性关系变化。
11
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(2)初始种群的产生 初始种群对应着问题的初始解,通常有两种方式产生: ①完全随机方式产生(字符串每一位均随机产生); ②随机数发生器方式产生(整个字符串用随机数发生器一 次产生)。 另外,如果对于寻优问题有某些先验知识,则可先将这些 先验知识转变为必须满足的一组约束,然后再在满足这些约束 的解中随机地选取个体以组成初始种群。 (3)适应度函数的确定 适应度函数是遗传算法与实际优化问题之间的接口。在遗 传算法中要求适应度函数值是非负的,且任何情况下都希望其 值越大越好;而实际优化问题的目标函数并不一定满足这个条 件,有的是正的,有的可能为负,甚至可能是复数值。因此, 对于任意优化问题,首先应把其数学形式表示为遗传算法适于 求解的形式,同时要保证二者在数学优化层面上是等价的。这 个过程称为适应度转换。
2
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1 遗传算法产生的背景
20世纪60年代,美、德等国家的一些科学家开始模仿生物 和人类进化的方法来求解复杂优化问题,从而形成了模拟进化 优化方法(Optimization Method by Simulated Evolution), 其代表性方法有遗传算法(GA:Genetic Algorithms)、进化 规划(EP:Evolutionary Programming)、进化策略(ES: Evolutionary Strategies)。本讲将主要对GA进行详细介绍。 常规的数学优化技术基于梯度寻优技术,计算速度快,但 要求优化问题具有可微性,且通常只能求得局部最优解;而模 拟进化方法无可微性要求,适用于任意的优化问题,尤其适用 于求解组合优化问题以及目标函数不可微或约束条件复杂的非 线性优化问题。由于它们采用随机优化技术,所以会以较大的 概率求得全局最优解。其计算费用较高的问题也因计算机软硬 件技术的飞速发展而不再成为制约因素。
9
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.2 遗传算法的基本步骤 1.2.1 遗传算法的流程
确定表示问题解的编码
随机生成初始种群 确定适应度函数f 计算种群中各个体的适应度 fi 选择高适应度的个体进行复制 交叉 变异
是否满足收敛判据? 否
是 输出最优解
图1 遗传算法的基本流程图
10
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
1.2.2 遗传算法的具体实现 (1)编码方式的选取 利用遗传算法求解实际问题时,问题的解是用字符串来表 示的,遗传算子也是直接对字符串进行操作的。因此,如何用 适当的字符串编码来表示问题的解成为了遗传算法应用过程中 的首要问题。 目前所使用的字符串编码方式主要有:二进制、实数(浮 点数)和符号等。
5
初始种群 01101 11000 01000 10011
x值 13 24 8 19
北京科技大学自动化学院控制科学与工程系
2013年10月31日6时47分
(3)适应度函数值的计算 取适应度函数为f (x)=x2,则4个样本的适应度值分别如下 表所示。 表2 适应度函数计算
标号 1
2 3 4
初始种群 01101
15
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
(5)交叉(Crossover) 交叉是指对从匹配池中随机选出的两个个体按一定的交叉 概率 pc 部分地交换某些基因的过程。一般分两步实现:第一步 是将新复制产生的匹配池中的个体随机两两配对;第二步是进 行交叉繁殖,产生一对新的个体。交叉的目的是为了生成新的 个体,产生新的基因组合,避免每代种群中个体的重复。 ①单点交叉(One-Point Crossover) 对每一对相互配对的个体,依设定的交叉概率pc在其交叉 点处相互交换两个父代个体的部分染色体,从而产生出两个新 的个体,如下图所示。
交叉前 交叉后
individual 1 individual 2
11 01011 000 10 10110 101
11 10110 000 10 01011 101
图3 两点交叉
③均匀交叉(Uniform Crossover) 其操作过程是:先选出两个父代个体,之后依据交叉概率 pc 产生一个与父代个体同样长度的二进制串,这里称其为模板 (template)。若模板中的某位为0,则两个父代个体对应位不 进行交换;反之,模板中的某位为1时,则交换两个父代个体 对应位的基因。
12
2013年10月31日6时47分
北京科技大学自动化学院控制科学与工程系
适应度转换首先要保证适应度值是非负的,其次要求目标 函数的优化方向应与适应度值增大的方向一致。设实际优化问 题的目标函数为J(x),遗传算法的适应度函数为f(x),则有: ①可以将适应度函数表示为实际优化问题目标函数的线性 形式,即有 f ( x) a J ( x) b