遗传算法介绍 - nuaa.edu.cnaircraftdesign.nuaa.edu.cn/mdo/lecture/06-ga .pdf ·...
Post on 16-Jun-2020
14 Views
Preview:
TRANSCRIPT
1 1 1
航空宇航学院
遗传算法介绍
2 2 2
航空宇航学院
遗传算法的概念
• 遗传算法(Genetic Algorithms,简称GAs)是
一类模拟生物界自然选择和遗传的启发式随机搜
索算法。
• 其基本步骤包括编码、初始群体的生成、适应度
评估和检测、选择、交叉操作和变异操作。
• 是一种具有“生成+检测”的迭代过程的搜索算
法。
3 3 3
航空宇航学院
计算流程
编 码
初始群体的生成
选 择
交 叉 变 异 生成新群体
群体中个体适应度函数的评估
4 4 4
航空宇航学院
编码(Coding)
• 编码的作用是将设计变量表示成遗传空间的基因型串结
构数据。
• 通常采用一定长度的二进制码代表设计变量的各种取值。
– x1: 0101
• 将各个变量的二进制码连成一串,得到一个二进制代码
串(染色体, chromosome,或称个体),它代表一个设
计方案。
– 0001 0101 … 1100 1111
– x1 x2 x8 x9
• 二进制码所有可能的结构代表了整个设计空间。
5 5 5
航空宇航学院
产生初始群体(Population)
• 遗传算法是一种群体操作算法,必须为遗传操
作准备一个由若干初始解组成的初始群体。
• 通常采用随机方法来产生初始群体。
• 群体规模越大,GA陷入局部最优解的危险性越
小,但计算量会增加。
• 群体规模太小,会使GA在搜索空间中分布范围
有限,会引起未成熟收敛现象。
6 6 6
航空宇航学院
适应度函数的评估(Fitness)
• 遗传算法在进化搜索中基本上不用外部信
息,仅用目标函数即适应度函数为依据。
• 适应度函数评估是选择操作的依据。
• 一般需将目标函数以一定的方式映射成适
应度函数。
7 7 7
航空宇航学院
选择算子(Selection)
• 选择算子的目的是把优化的个体(或设计点)直
接遗传到下一代或通过配对交叉产生新的个体
再遗传到下一代。
• 选择操作是建立在群体中个体的适应度评估基
础上的,适应度越大的个体,被选中的概率越
大,也就是说适应度越高的个体,有更多的机
会繁殖后代,使其优良特性得以遗传和保留。
8 8 8
航空宇航学院
交叉操作(Crossover)
• 在自然界生物进化过程中起核心作用的是生物遗传基
因的重组。
• 遗传算法中起核心作用的遗传操作的交叉算子。
• 所谓交叉是指把两个父代个体的部份结构加以替换重
组而生成新的个体,通过交叉,遗传算法的搜索能力
得以飞跃提高。
双亲 后代 1000┆10011110 1000┆11000110 0010┆11000110 0010┆10011110
9 9 9
航空宇航学院
变异算子(mutation operator)
• 变异算子的目的是模拟生物在自然的遗传环境
中由于各种偶然因素引起的基因突变。
• 其方法是以一定的概率选取群体中若干个体,
对已选取的每个个体,随机选取某一位,将该
位的数码翻转。
• 变异算子增加了群体基因材料的多样性,增加
了自然选择的余地,有利的变异将由于选择操
作的作用,得以遗传与保留,而有害的变异则
将在逐代遗传中被淘汰。
10 10 10
航空宇航学院
进化(迭代)
• 通过用选择、交叉、变异得到的新一代群体代
替其上一代群体,再进行评估、选择、交叉、
变异。
• 如此迭代下去,各代群体的优良基因成份逐渐
积累,群体的平均适应度和最优个体适应度不
断上升,直到迭代过程趋于收敛,适应度趋于
稳定,不再上升时,就找到了所需的最优解。
11 11 11
航空宇航学院
12 12 12
航空宇航学院
计算过程演示(初始群体)
13 13 13
航空宇航学院
计算过程演示(迭代416次后群体)
14 14 14
航空宇航学院
遗传算法的特点
• 处理的对象广
–计算对象编码,对象可以是连续变量、离散变量、
各种数据结构和树等。
• 是一种搜索全局最优解的算法
–GA同时对搜索空间中的多个点进行评估,具有较好
的全局搜索性能,减少了陷于局部最优解的风险。
• 应用范围广
–GA仅需适应度函数的值来进行遗传操作,不需导数
或其它信息,使得GA的应用范围大大扩展。
15 15 15
航空宇航学院
遗传算法的特点
–能处理目标或约束不连续的情况
16 16 16
航空宇航学院
遗传算法的缺点
• 收敛速度慢,计算量大。
• 处理约束能力较差。
17 17 17
航空宇航学院
遗传算法的发展
• 在标准遗传算法基础上,发展了众多改进遗传算法。其中
一种是多岛遗传算法(Multi-Island Genetic Algorithm)。
• 多岛遗传算法的基本思路:
–每个种群的个体被分为几个子群,称为“岛”。
–标准遗传算法的所有操作(选择、交叉、变异)分别在每个岛上进
行。
–每个岛上选定的个体定期地迁移到另外岛上,然后继续进行标准遗
传算法操作。
–多岛遗传算法中的迁移操作保持了解的多样性,提高了包含全局最
优解的机会,可抑制早熟现象的发生。
18 18 18
航空宇航学院
遗传算法和梯度下降法的组合策略
top related