引入高斯变异算子的混合蛙跳算法

在基本混合蛙跳算法中,如果算法执行前两种更新策略失败后,是直接采用随机更新子群最差个体来产生新的个体,这样并不利于个体对可行域进行有效搜索,在处理复杂函数优化问题时容易陷入局部最优、收敛速度不佳。因此引入高斯变异算子对混合蛙跳算法中的更新策略进行一些修正,利用高斯变异算子良好的局部搜索能力,在算法执行原有策略失败后,用高斯变异算子对子群最差青蛙进行适当扰动,即:

X’ = X * ( 1+NormalRand(0,1) )

X’ = X + NormalRand(0,1)

其中NormalRand(0,1)为高斯随机分布函数

新的更新策略在整个迭代过程中,将提高群体的多样性和最差个体搜索的遍历性,可以确保群体持续进化,有利于提高收敛速度,并避免陷入局部最优,进而期望算法既能快速收敛到最优解的附近,又能有比较好的逼近精度,改进了混合蛙跳算法的性能。

参考:高斯变异随机数产生可以参考水文工具集写的VBA产生正态分布随机数NormalRand



发表评论

You must be logged in to post a comment.