1.简单介绍
略过遗传算法的发展史,本文直接讲解遗传算法的基本原理与实现。在生活中很多问题都可以转换为函数优化问题,大部分函数优化问题都可以写成求最大值或者最小值的形式,本文我们就用遗传算法来求一元函数最大值(最小值问题可以转化为最大值)。
遗传算法就是先产生出一定数量的个体,通过繁衍,交叉,变异产生更多的个体,对这些新的个体按一定条件进行筛选,始终留下一定数量的个体,如此反复,便能有最优解出现。
2.算法的实现
例:求函数 f(x)=x∗sin(3πx) f ( x ) = x ∗ s i n ( 3 π x ) 的最大值,定义域为 [−1,2] [ − 1 , 2 ] 。
1.参数设定
参数 | 设定值 |
---|---|
编码类型 | 十进制数 |
种群大小 | 50 |
编码长度 | 5 |
最大迭代次数 | 100 |
适应度函数 | f(x) f ( x ) |
交叉概率 | 0.8 |
变异概率 | 0.1 |
2.遗传过程
①.编码个体,当编码长度取5时,定义域被分为100000份, [0,99999]</