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