全局优化的改进鸡群算法


文章目录

  • 全局优化的改进鸡群算法
  • 1.鸡群优化算法
  • 2.全局优化的改进鸡群算法
  • 2.1自适应策略
  • 2.2 偏好随机游动
  • 2.3 定向变异策略
  • 3.实验结果
  • 4.参考文献
  • 5.Matlab代码
  • 6.python代码



摘要: 在基本鸡群算法的基础上提出了一种改进版鸡群算法( ECSO) ,在公鸡位置的更新过程中引入自适应变异策略用于平衡算法迭代后期下降的种群多样性,提升收敛速度; 在母鸡移动过程中引入偏好随机游动策略来平衡算法的开发与探索阶段,增强算法的稳定性; 在小鸡位置更新时引入领导者策略,减少算法搜索的盲目性;

1.鸡群优化算法

2.全局优化的改进鸡群算法

2.1自适应策略

公鸡更新过程本质是一个个体变异的过程,高斯变异的过程有助于增强种群的多样性,但是前期和后期的搜索个体变异能力是保持不变的。众所周知,算法迭代的过程中种群的多样性是不断下降的,因此后期应当增强种群个体的变异能力,使得变异算子呈现递增的趋势。将公鸡位置更新的方式修改为maxt/2 之后为柯西变异。柯西变异是一种变异能力强于高斯变异的变异算子,后期较强的变异能力使得原先丢失的种群多样性能够得到一定的弥补;同时,为了增加算法后期的寻优收敛速度,整体采用线性递减策略,具体实现如下:
全局优化的改进鸡群算法-附代码_推荐算法

2.2 偏好随机游动

偏好随机游动过程出现在众多算法中,最典型的算法是布谷鸟算法。随机偏好游动本质是一种权重因子,本文引入式(9)来增强个体对自身的学习,借鉴自身的个体位置信息使得个体具有记忆性。
全局优化的改进鸡群算法-附代码_python_02

全局优化的改进鸡群算法-附代码_全局优化_03

大量实验证明,综合考虑算法的各项性能来看,全局优化的改进鸡群算法-附代码_算法_04

2.3 定向变异策略

差分进化算法中有多种变异策略,在这里简单介绍两种,文中小鸡的更新策略类似于 DE/rand/1。2015 年,Zheng 等人提出了一种定向变异策略(target mutation),该策略要优于 DE/rand/1 和 DE/best/1,将小鸡的更新方式修改为:
全局优化的改进鸡群算法-附代码_自适应_05
这种改进策略较于基本 CSO 来说,新的个体位置更新方式充分借鉴了最优个体的位置,也就是说在小鸡寻优时是存在一个领导者带领着其他个体进行寻优,这样就大大降低了算法搜索的盲目性。
综合上述三种优化算子,针对公鸡、母鸡和小鸡群体分别进行优化,maxt/2 代之后的柯西变异策略可以弥补下降的种群多样性;偏好随机游动策略平衡了算法的前后期的开发与探索,保持了算法的稳定性;定向变异策略使得群体存在领导者,降低了个体寻优的盲目性。

综合以上分析,可以将 ECSO 寻优步骤描述如下:
a)初始化种群,并将种群按比例进行分割。
b)随机给出一个最优位置,并计算其适应度值。

c)使用式(7)(8)(10)分别更新公鸡、母鸡、小鸡的位置,并将最优个体保留下来。
d)记录鸡群中最优个体的位置和适应度值。
e)检测是否满足最优条件,若满足,迭代终止;否则,返回步骤 c)。

3.实验结果

全局优化的改进鸡群算法-附代码_推荐算法_06

4.参考文献

[1]韩斐斐,赵齐辉,杜兆宏,刘升.全局优化的改进鸡群算法[J].计算机应用研究,2019,36(08):2317-2319+2327.

5.Matlab代码

6.python代码