基于动物迁徙优化算法的函数寻优算法

一、理论基础

1、动物迁徙优化算法

动物迁徙优化(Animal Migration Optimization, AMO)算法是李祥涛等于2013年提出的一种用于求解函数优化问题的新型群智能优化算法。AMO算法突出优点是可调节的参数少,算法实现简单且精度相对较高。同时,AMO有较强的广度和深度全局搜索能力,一般不会陷入局部最优,这使得AMO具有广阔的应用前景。
动物迁徙优化算法是模拟上述动物行为的优化算法,动物迁徙算法主要分为种群迁徙过程和个体更新过程。为了便于描述动物迁徙优化算法,首先做以下2个理想假设:

  1. 动物种群所处栖息地最优的动物个体将会保存到下一代。
  2. 动物种群在迁徙过程中,有的动物会离开种群,同时有新的动物个体会加入种群,假设动物种群的规模是确定的,动物会依概率 P a P_a Pa被新的个体所替代。

在迁徙过程中,算法模拟动物群体从当前所处栖息地域迂往新的所处栖息地域。在这个过程中,每个个体应当服从以上2个准则。在更新过程中,一些动物离开动物群体,一些动物又加入到动物群体。假定有一个全局最优解和候选的个体,置 D D D维空间编码向量表示一个个体,用最大值和最小值约束 D D D维向量;初始化种群大小为 N P NP NP,动物个体可表示为: X → min ⁡ = { x 1 , min ⁡ , x 2 , min ⁡ , ⋯   , x D , min ⁡ } (1) \overrightarrow X_{\min}=\left\{x_{1,\min},x_{2,\min},\cdots,x_{D,\min}\right\}\tag{1} X min={ x1,min,x2,min,,xD,min}(1) X → max ⁡ = { x 1 , max ⁡ , x 2 , max ⁡ , ⋯   , x D , max ⁡ } (2) \overrightarrow X_{\max}=\left\{x_{1,\max},x_{2,\max},\cdots,x_{D,\max}\right\}\tag{2} X max={ x1,max,x2,max,,xD,max}(2)因此,第 i i i个向量的第 j j j个分量初始化为: x j , i , 0 = x j , min ⁡ + rand i , j [ 0 , 1 ] ⋅ ( x j , max ⁡ − x j , min ⁡ ) (3) x_{j,i,0}=x_{j,\min}+\text{rand}_{i,j}[0,1]\cdot(x_{j,\max}-x_{j,\min})\tag{3} xj,i,0=xj,min+randi,j[0,1](xj,maxxj,min)(3)其中, rand i , j [ 0 , 1 ] \text{rand}_{i,j}[0,1] randi,j[0,1]是在0和1之间服从均匀分布的随机数, i = 1 , 2 , ⋯   , N P i=1,2,\cdots,NP i=1,2,,NP j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D
在动物迁徙过程中,动物会迁往食物丰富、水源充足、气候条件适宜的区域,此栖息地域可根据最优个体的位置确定最适宜动物所处栖息地域。动物个体服从3个准则:(1)个体和它邻居的位置不会冲突;(2)个体和邻居朝着相同的方向进斤迁徙;(3)新的个体仍然和原邻居相邻。对于第一条准则,要求群体中每个个体的位置不同。对于后两个准则,要求个体应当根据它邻居的当前位置迁往一个新的位置。图1采用一个环状拓扑结构解释个体邻居的定义。为了便于说明,设置每一维设置邻居的个数为5。如果个体的下标是 i i i,那么它的邻居下标是由下标为 i − 2 , i − 1 , i , i + 1 , i + 2 i-2,i-1,i,i+1,i+2 i2,i1,i,i+1,i+2组成。如果个体的下标是 1 1 1,那么它的邻居下标是由下标为 N P − 1 , N P , 1 , 2 , 3 NP-1,NP,1,2,3 NP1,NP,1,2,3组成。如果个体的下标是 2 2 2,那么它的邻居下标是由下标为 N P , 1 , 2 , 3 , 4 NP,1,2,3,4 NP,1,2,3,4组成。如果个体的下标是 N P NP NP,那么它的邻居下标是由下标为 N P − 2 , N P − 1 , N P , 1 , 2 NP-2,NP-1,NP,1,2 NP2,NP1,NP,1,2组成。如果个体的下标是 N P − 1 NP-1 NP1,那么它的邻居下标是由下标为 N P − 3 , N P − 2 , N P − 1 , N P , 1 NP-3,NP-2,NP-1,NP,1 NP3,NP2,NP1,NP,1组成。邻居的拓扑结构建立之后,随机选择一个邻居,然后根据它邻居的位置更新个体的位置,更新公式如下: X i , G + 1 = X i , G + δ ⋅ ( X neighboorhood , G − X i , G ) (4) X_{i,G+1}=X_{i,G}+\delta\cdot(X_{\text{neighboorhood},G}-X_{i,G})\tag{4} Xi,G+1=Xi,G+δ(Xneighboorhood,GXi,G)(4)其中, X neighboorhood , G X_{\text{neighboorhood},G} Xneighboorhood,G是邻居的当前位置;根据不同的问题可以改变 δ \delta δ的值,本文的 δ \delta δ是由高斯分布生成的随机数; X i , G X_{i,G} Xi,G是第 i i i个个体的位置; X i , G + 1 X_{i,G+1} Xi,G+1是第 i i i个个体的新位置。
在这里插入图片描述

图1 当前个体邻居示意图

在动物种群个体更新过程中,一些个体离开群体,同时一些个体又加入到群体中,假定群体的数量是恒定的,旧的个体会被新的个体按照概率 P a P_a Pa所取代。通过个体的适应度值来设置 P a P_a Pa,对于最好的适应度值, P a P_a Pa为1,对于最差的适应度值, P a P_a Pa为1/NP。该过程实施步骤如下:
在这里插入图片描述其中, r 1 , r 2 ∈ [ 1 , N P ] r_1,r_2\in[1,NP] r1,r2[1,NP]随机选取的整数,且 r 1 ≠ r 2 ≠ i r_1\neq r_2\neq i r1=r2=i。当产生新的后代解 X i , G + 1 X_{i,G+1} Xi,G+1​后,会对 X i , G X_{i,G} Xi,G X i , G + 1 X_{i,G+1} Xi,G+1的适应度进行比较,如果新解更优才被保存至下一代。
随着时间的推移,动物的生存区域内食物量不断减少,当食物耗尽时,动物耍迁出原栖息区域,即进行新一轮的迁徙,这样就完成了动物迁徙的过程。

2、AMO算法伪代码

标准的AMO算法伪代码如图2所示。
在这里插入图片描述

图2 AMO算法伪代码

二、仿真实验与分析

将AMO与PSO、DE、CS、GSA和ABC进行对比,实验设置种群规模为50,最大迭代次数为1500,每个算法独立运行25次,以常用23个测试函数中的F1、F2(单峰函数/30维)、F10、F11(多峰函数/30维)、F18、F19(固定维度多峰函数/2维、3维)为例,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
PSO:最差值: 149.6465, 最优值: 24.171, 平均值: 74.1763, 标准差: 36.5306, 秩和检验: 1.4157e-09
DE:最差值: 1.7842e-15, 最优值: 7.6355e-17, 平均值: 4.5412e-16, 标准差: 4.2518e-16, 秩和检验: 1.4157e-09
CS:最差值: 1.4179e-05, 最优值: 2.7967e-06, 平均值: 5.5278e-06, 标准差: 2.4281e-06, 秩和检验: 1.4157e-09
GSA:最差值: 3.0655e-17, 最优值: 1.0815e-17, 平均值: 1.7966e-17, 标准差: 4.4299e-18, 秩和检验: 1.4157e-09
ABC:最差值: 3.6496e-08, 最优值: 4.3648e-09, 平均值: 1.352e-08, 标准差: 6.9537e-09, 秩和检验: 1.4157e-09
AMO:最差值: 1.4194e-48, 最优值: 3.7815e-50, 平均值: 3.3755e-49, 标准差: 3.4229e-49, 秩和检验: 1
函数:F2
PSO:最差值: 7.0552, 最优值: 2.0069, 平均值: 4.3942, 标准差: 1.5362, 秩和检验: 1.4157e-09
DE:最差值: 1.5849e-07, 最优值: 1.0658e-08, 平均值: 6.0266e-08, 标准差: 3.8856e-08, 秩和检验: 1.4157e-09
CS:最差值: 0.13762, 最优值: 0.021838, 平均值: 0.058907, 标准差: 0.031631, 秩和检验: 1.4157e-09
GSA:最差值: 2.7006e-08, 最优值: 1.2876e-08, 平均值: 2.1022e-08, 标准差: 3.6661e-09, 秩和检验: 1.4157e-09
ABC:最差值: 7.7496e-08, 最优值: 2.3459e-08, 平均值: 4.782e-08, 标准差: 1.5489e-08, 秩和检验: 1.4157e-09
AMO:最差值: 1.7473e-26, 最优值: 2.3689e-27, 平均值: 9.021e-27, 标准差: 3.6268e-27, 秩和检验: 1
函数:F10
PSO:最差值: 8.7501, 最优值: 4.1375, 平均值: 6.127, 标准差: 0.99632, 秩和检验: 9.7285e-11
DE:最差值: 1.2229e-08, 最优值: 2.6363e-09, 平均值: 5.8608e-09, 标准差: 2.5608e-09, 秩和检验: 9.7285e-11
CS:最差值: 6.2232, 最优值: 0.24773, 平均值: 2.308, 标准差: 1.2014, 秩和检验: 9.7285e-11
GSA:最差值: 3.9279e-09, 最优值: 2.3455e-09, 平均值: 3.2144e-09, 标准差: 4.2036e-10, 秩和检验: 9.7285e-11
ABC:最差值: 5.3041e-05, 最优值: 1.9564e-05, 平均值: 3.4627e-05, 标准差: 8.9912e-06, 秩和检验: 9.7285e-11
AMO:最差值: 4.4409e-15, 最优值: 4.4409e-15, 平均值: 4.4409e-15, 标准差: 0, 秩和检验: NaN
函数:F11
PSO:最差值: 2.4037, 最优值: 1.2683, 平均值: 1.6339, 标准差: 0.31542, 秩和检验: 1.3762e-10
DE:最差值: 3.8747e-14, 最优值: 0, 平均值: 2.0384e-15, 标准差: 7.6713e-15, 秩和检验: 3.8012e-07
CS:最差值: 0.0052815, 最优值: 9.7176e-05, 平均值: 0.0013631, 标准差: 0.0012985, 秩和检验: 1.3762e-10
GSA:最差值: 1.2262, 最优值: 0, 平均值: 0.31909, 标准差: 0.43684, 秩和检验: 2.7661e-08
ABC:最差值: 0.00080241, 最优值: 1.3309e-07, 平均值: 3.3862e-05, 标准差: 0.00016014, 秩和检验: 1.3762e-10
AMO:最差值: 1.1102e-16, 最优值: 0, 平均值: 4.4409e-18, 标准差: 2.2204e-17, 秩和检验: 1
函数:F18
PSO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.2979e-15, 秩和检验: 0.17351
DE:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.3597e-15, 秩和检验: 0.13047
CS:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 7.3644e-16, 秩和检验: 0.17095
GSA:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.7507e-15, 秩和检验: 1.2715e-07
ABC:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 3.0647e-15, 秩和检验: 1.8763e-09
AMO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.0094e-15, 秩和检验: 1
函数:F19
PSO:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.2662e-15, 秩和检验: NaN
DE:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.2662e-15, 秩和检验: NaN
CS:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.2662e-15, 秩和检验: NaN
GSA:最差值: -2.8367, 最优值: -3.8628, 平均值: -3.4245, 标准差: 0.25433, 秩和检验: 3.6574e-10
ABC:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.2662e-15, 秩和检验: NaN
AMO:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.2662e-15, 秩和检验: NaN

实验结果表明:AMO算法优于对比算法。

三、参考文献

[1] Li, X., Zhang, J., Yin, M. Animal migration optimization: an optimization algorithm inspired by animal migration behavior[J]. Neural Computing and Applications, 2014, 24: 1867-1877.
[2] 马明智. 动物迁徙算法及其应用研究[D]. 南宁: 广西民族大学, 2015.

猜你喜欢

转载自blog.csdn.net/weixin_43821559/article/details/123730056