遗传算法

遗传算法(Genetic Algorithm,GA)是由John Holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的,来模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。

img

遗传算法的流程:

1
2
3
4
5
1.评估每条染色体所对应个体的适应度
While(未找到满意的解):
2.遵照适应度越高,选择概率越大的原则,从种群中选择两个个体作为父方和母方
3.抽取父母双方的染色体,进行交叉,产生子代
4.对子代的染色体进行变异

优点:

1) 遗传算法具有广泛的应用领域
2) 遗传算法具有群体搜索的特性
3) 遗传算法基于概率规则,搜索更为灵活

4) 遗传算法直接以目标函数作为搜索信息,不涉及目标函数值求微分的过程

缺点:

1) 遗传算法效率比较低

2) 遗传算法容易过早收敛
3) 遗传算法在编码时容易出现不规范不准确的问题