Leonda Blog
Aug 2, 2021

遗传算法

1.算法介绍

遗传算法(genetic algorithm)是借鉴生物界自然选择和遗传机制的自适应全局优化搜索算法,不要求目标函数连续或者可微,使用“自然选择”原理在潜在的解决方案里找到最优解,可以用于最大或者最小问题。

算法涉及到的关键词包括种群、个体、适应度、选择、染色体交换和染色体变异(或者基因突变)。

种群:可行解的集合

个体:种群里的每个可行解

适应度:反映了个体对环境的适应程度或者一个解的优劣程度,通常适应度是目标函数本身或者修改形式

选择:在当前群体里选择最优的个体作为当前最优解;选择下一代种群。选择策略包括轮盘赌法,锦标赛法等。

染色体交换:父代以一定概率交换部分基因产生子代的过程

染色体变异:父代部分染色体以一定概率发生变异产生新个体的过程,目的是为了防止算法陷入局部最优。

锦标赛法

锦标赛法的流程是首先在当前种群中随机选出一定数量的个体,然后在选出来的个体里找到最优个体加入到下一代种群集合G,接着在当前种群集合执行染色体交换产生新的子代,循环直到下一代种群大小满足要求,然后再在下一代种群执行染色体变异操作。

2. 算法流程

遗传算法流程图

上图展示遗传算法的主要流程,如果当前种群满足迭代终止条件就停止迭代,否则通过选择、交换和突变产生新的子代继续进行评估。

从本质上讲,GA可以应用于几乎任何优化问题,只要能定义出适应度函数。

Leonda Blog
Leonda Blog

Written by Leonda Blog

0 Followers

Actor Critic

No responses yet