Java教程

遗传算法(GA)的基本原理

本文主要是介绍遗传算法(GA)的基本原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

构成要素

1.种群和种群大小

种群是由染色体构成的。每个个体就是一个染色体,每个染色体对应着问题的一个解。

种群大小种群规模:Population Size , Pop-Size , NP

2.编码方法--二进制编码

3.遗传算子

(1)交叉

单切点交叉

双切点交叉

并不是所有的被选中的父代都要进行交叉操作,要设定一个交叉概率Pc,一般取一个较大的值。

(2)变异

变异是在种群中按照变异概率Pm任选若干基因位改变其位值。变异概率一般设定为一个比较小的数,在5%以下。

4.选择策略

最常用的选择策略是正比选择策略,即每个个体被选中进行遗传运算的概率为该个体的适应值群体中所有个体适应值总和的比例。

对于个体i,设其适应值为Fi,种群规模为NP,该个体的选择概率可以表示为

5.停止准则

遗传算法的停止准则一般是采用设定最大代数的方法,最大代数常表示为NG

6.适值函数


遗传算法流程图


步骤

(1)产生初始种群。设定参数:种群规模、最大代数、初始时刻

(2)判断停止准则。即判断最大参数是否达到NG。

(3)计算适应值。

(4)用旋轮法正比选择。

这篇关于遗传算法(GA)的基本原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!