智能算法 - GA

智能算法——GA(遗传算法)

这是GA算法,在原有的基础上加上了一些改进:高斯变异,简单的竞标赛选择,多点交配和最简单的自适应模型。

高斯变异:

变异不再是随机地生成一个范围内的数,而是通过高斯分布(正态分布),在原有点的周围产生一个新的点,然后继续计算。这改进可以有效提高算法性能。

简单的随机竞标赛选择:

不同以往的选择。改进的选择方式是:每次挑选两组解,然后比较哪一组的适应值更好,好的进入新的种群,直到到达数目。这只是最简单的随机竞标赛,还可以进一步改进。但可以提高算法的搜索空间。

多点交配:

交配不再只是一个点,而是多个点,把“染色体”分段,一段交配一段不交配,直到染色体末尾。

自适应模型

采用的是最简单的自适应,即,每次迭代之后,如果全局最优解有提高,则保持参数,如果没有,适当增加。这种方式过于简单,还可以进一步改进。

精英更新

每次挑解中最好的,如果比当前全局最优解好,则更新。如果不是,则将当前最差解,替换成最优解。

算法流程图:

智能算法 - GA_第1张图片

源码的评价函数的图像:

智能算法 - GA_第2张图片

调参过程

智能算法 - GA_第3张图片

发现好像变化不大。可能是评价函数维度太少,过于简单导致。

详细可以看GitHub

欢迎大家指正错误

你可能感兴趣的:(智能算法)