遗传算法
遗传算法(Genetic Algorithm)
遗传算法(Genetic Algorithm, 简称 GA)起源于对生物系统进行的计算机模拟研究, 是由美国 Michigan 大学的 Holland 教授提出, 后经 De Jong(1975年)、Goldberg(1989年)等归纳总结形成的一种基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化算法.
传统的优化算法大多基于单个目标函数的梯度或者较高次统计, 以产生一个确定性的实验解序列(如梯度法等), 而遗传算法不依赖于梯度信息, 不仅不受目标函数连续可微的约束, 还可以通过编码来实现任意设定其定义域.
遗传算法的基本理论
遗传算法搜索最优解的方法是模仿生物的进化过程, 模拟自然选择和遗传中发生的复制、交叉和变异等现象.
它从代表问题可能潜在解集的一个种群开始, 而一个种群则由经过基因编码的一定数目的个体组成. 对种群反复进行选择、交叉以及变异操作, 估计各个个体的适应值, 根据“适者生存、优胜劣汰”的进化规则, 从而产生一群更适应环境的个体, 也就使得群体越来越向最优解的方向进化, 最后把末代种群中最优个体经过解码, 获得满足要求的最优解.
遗传算法的流程
遗传算法的流程
利用遗传算法来解决模型的求解问题, 首先需要将模型的解选择适当的方式进行编码, 并根据模型的目标建立个体适应度函数, 然后随机生成初始种群(即一组初始的可行解), 再重复对种群进行选择、交叉、变异等遗传操作直至种群成熟, 停止优化.