Java教程

基于自然选择和随机扰动改进磷虾群算法matlab源码

本文主要是介绍基于自然选择和随机扰动改进磷虾群算法matlab源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 一、理论基础
    • 1、磷虾群算法(KH)
    • 2、改进的磷虾群算法(ANRKH)
      • (1)觅食权重和运动权重的时变非线性递减策略
      • (2)随机扰动
      • (3)自然选择
      • (4)ANRKH算法步骤
  • 二、仿真实验与分析
  • 三、参考文献
  • 四、Matlab仿真程序

1、磷虾群算法(KH)

磷虾群(Krill herd algorithm, KH)算法是一种新的启发式智能优化算法,该算法主要是基于对南极磷虾群在海洋环境中的生存运动过程的仿真研究。对于每个磷虾个体,它的位置更新主要受到3个因素的影响:

 

2、改进的磷虾群算法(ANRKH)

(1)觅食权重和运动权重的时变非线性递减策略

 

二、仿真实验与分析

为了验证ANRKH算法的性能,本文将ANRKH算法与两种相关算法—KH 算法和KHLD算法进行比较。以文献[1]中的f2、f3、f5为例。为了保证测试算法的公平性,3种算法中共同的参数设置如下:磷虾个体数目N P = 100 NP=100NP=100,最大迭代次数t m a x = 1000 t_{max}=1000tmax​=1000,最大诱导速度N m a x = 0.001 N^{max}=0.001Nmax=0.001,最大觅食速度V f = 0.02 V_f=0.02Vf​=0.02,最大随机扩散速度D m a x = 0.005 D^{max}=0.005Dmax=0.005;3种算法中不同的参数取值见表1;每个函数进行30次独立数值实验。

表1 KH、KHLD和ANRKH中的参数取值

在这里插入图片描述结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F2
KH:最大值: 124.3161,最小值:28.6977,平均值:43.0134,标准差:29.4007
KHLD:最大值: 101.6416,最小值:26.2886,平均值:30.2278,标准差:13.5046
ANRKH:最大值: 81.6635,最小值:24.9959,平均值:28.6219,标准差:12.2347
函数:F3
KH:最大值: 0.91102,最小值:0.37651,平均值:0.60851,标准差:0.12396
KHLD:最大值: 0.024535,最小值:0.0063132,平均值:0.013014,标准差:0.0046107
ANRKH:最大值: 9.4045e-07,最小值:1.4627e-07,平均值:5.5261e-07,标准差:1.9059e-07
函数:F5
KH:最大值: 0.27584,最小值:0.18773,平均值:0.22487,标准差:0.024735
KHLD:最大值: 0.038433,最小值:0.019181,平均值:0.027884,标准差:0.0054838
ANRKH:最大值: 0.00044475,最小值:0.00026492,平均值:0.00033714,标准差:4.5962e-05

由此可以看出,ANRKH算法能够有效地避免陷入局部最优,在全局搜索和局部勘探能力上有着显著优势。

三、参考文献

[1] 刘沛, 高岳林, 郭伟. 基于自然选择和随机扰动的改进磷虾群算法[J]. 小型微型计算机系统, 2017, 38(8): 1845-1849.
[2] Li J , Tang Y , Hua C , et al. An improved krill herd algorithm: Krill herd with linear decreasing step[J]. Applied Mathematics & Computation, 2014, 234:356-367.
[3] Gandomi A H, Alavi A H. Krill Herd:a new bio- inspired optimization algorithm[J]. Commun Nonlinear Sci Numer Simul, 2012, 17(12) : 4831-4845.

四、Matlab仿真程序

代码下载https://www.cnblogs.com/matlabxiao/p/14883637.html

这篇关于基于自然选择和随机扰动改进磷虾群算法matlab源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!