文章目录

  • 一、理论基础
    • 1、人工大猩猩部队优化算法(GTO)
      • 1.1 探索阶段
      • 1.2 开发阶段
        • 1.2.1 跟随银背大猩猩
        • 1.2.2 竞争成年雌性
    • 2、GTO算法伪代码
  • 二、仿真实验与分析
    • 1、函数测试与数值分析
    • 2、GTO优化WSN覆盖
      • 2.1 节点覆盖模型
      • 2.2 实验分析
  • 三、参考文献

一、理论基础

本文从大猩猩部队的社会智能出发,提出了一种新的元启发式算法,称为人工大猩猩部队优化算法(Artificial Gorilla Troops Optimizer, GTO)。在这个算法中,大猩猩的群体生活被数学化,新的机制被设计用来进行探索和开发。

1、人工大猩猩部队优化算法(GTO)

1.1 探索阶段

该阶段的数学模型如下所示: G X ( t + 1 ) = { ( U B − L B ) × r 1 + L B , r a n d < p ( r 2 − C ) × X r ( t ) + L × H , r a n d ≥ 0.5 X ( i ) − L × ( L × ( X ( t ) − G X r ( t ) ) ) + r 3 × ( X ( t ) − G X r ( t ) ) , r a n d < 0.5 (1) GX(t+1)=\begin{dcases}(UB-LB)×r_1+LB,\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\,\,\, rand<p\\(r_2-C)×X_r(t)+L×H,\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\, rand≥0.5\\X(i)-L×(L×(X(t)-GX_r(t)))+r_3×(X(t)-GX_r(t)),\quad rand<0.5\end{dcases}\tag{1} GX(t+1)=⎩⎪⎨⎪⎧​(UB−LB)×r1​+LB,rand<p(r2​−C)×Xr​(t)+L×H,rand≥0.5X(i)−L×(L×(X(t)−GXr​(t)))+r3​×(X(t)−GXr​(t)),rand<0.5​(1)其中, G X ( t + 1 ) GX(t+1) GX(t+1)是下次迭代时大猩猩个体的候选位置向量; X ( t ) X(t) X(t)是大猩猩个体的当前位置向; r 1 , r 2 , r 3 r_1,r_2,r_3 r1​,r2​,r3​和 r a n d rand rand是在每次迭代中更新的范围为0到1的随机值; p p p是一个给定的介于0到1之间的参数,该参数确定选择迁移机制到未知位置的概率; U B UB UB和 L B LB LB分别表示变量的上限和下限; X r X_r Xr​和 G X r GX_r GXr​分别是从整个种群中随机选择的大猩猩中的一员,随机选择的大猩猩候选位置向量,包括每个阶段更新的位置;最后,分别使用式(2)、(4)和(5)计算 C C C、 L L L和 H H H。 C = F × ( 1 − I t M a x I t ) (2) C=F×\left(1-\frac{It}{MaxIt}\right)\tag{2} C=F×(1−MaxItIt​)(2) F = cos ⁡ ( 2 × r 4 ) + 1 (3) F=\cos(2×r_4)+1\tag{3} F=cos(2×r4​)+1(3) L = C × l (4) L=C×l\tag{4} L=C×l(4)其中,在式(2)中, I t It It是当前迭代次数, M a x I t MaxIt MaxIt为最大迭代次数, F F F由式(3)计算所得;在式(3)中, cos ⁡ \cos cos表示余弦函数, r 4 r_4 r4​是在每次迭代中更新的从0到1的随机值;在式(4)中, l l l为-1到1之间随机值。
此外,在式(1)中, H H H利用式(5)进行计算, Z Z Z使用式(6)进行计算,并且 Z Z Z是问题维度中范围为 [ − C , C ] [-C,C] [−C,C]的随机值。 H = Z × X ( t ) (5) H=Z×X(t)\tag{5} H=Z×X(t)(5) Z = [ − C , C ] (6) Z=[-C,C]\tag{6} Z=[−C,C](6)在探索阶段结束时,进行群体操作。在探索阶段结束时,计算所有 G X GX GX个体的成本,如果成本满足 G X ( t ) < X ( t ) GX(t)<X(t) GX(t)<X(t),则使用 G X ( t ) GX(t) GX(t)个体作为 X ( t ) X(t) X(t)个体。因此,该阶段产生的最优个体也被视为银背大猩猩。

1.2 开发阶段

在GTO算法的开发阶段,采用了跟随银背大猩猩和竞争成年雌性的两种行为。银背大猩猩领导一个群体,做出所有决定,决定群体的行动,并引导大猩猩走向食物来源。它还负责团队的安全和福祉,团队中的所有大猩猩都遵守银背大猩猩的所有决策。另一方面,银背大猩猩可能会变弱、变老并最终死亡,群体中的黑背大猩猩可能会成为群体的领导者,或者其他雄性大猩猩可能会与银背大猩猩交战并主宰群体。如开发阶段使用的两种机制所述,可以使用式(2)中的数值选择跟随银背或竞争成年雌性。如果 C ≥ W C≥W C≥W,则选择跟随银背机制,但如果 C < W C<W C<W,则选择竞争成年雌性机制。 W W W是优化操作之前要设置的参数。

1.2.1 跟随银背大猩猩

如果 C ≥ W C≥W C≥W,则选择跟随银背大猩猩机制,式(7)模拟了此种行为。 G X ( t + 1 ) = L × M × ( X ( t ) − X s i l v e r b a c k ) + X ( t ) (7) GX(t+1)=L×M×(X(t)-X_{silverback})+X(t)\tag{7} GX(t+1)=L×M×(X(t)−Xsilverback​)+X(t)(7) M = ( ∣ 1 N ∑ i = 1 N G X i ( t ) ∣ g ) 1 g (8) M=\left(\left|\frac1N\sum_{i=1}^NGX_i(t)\right|^g\right)^{\frac1g}\tag{8} M=(∣∣∣∣∣​N1​i=1∑N​GXi​(t)∣∣∣∣∣​g)g1​(8) g = 2 L (9) g=2^L\tag{9} g=2L(9)其中,在式(7)中, X ( t ) X(t) X(t)是大猩猩的位置向量, X s i l v e r b a c k X_{silverback} Xsilverback​是银背大猩猩的位置向量(最佳位置),此外, L L L由式(4)计算, M M M由式(8)计算;在式(8)中, G X i ( t ) GX_i(t) GXi​(t)表示每个候选大猩猩在第 t t t次迭代时的位置向量, N N N表示大猩猩个体的总数(种群规模), g g g由式(9)计算所得;在式(9)中, L L L由式(4)计算所得。

1.2.2 竞争成年雌性

如果 C < W C<W C<W,则选择开发阶段的第二个机制。一段时间后,当年轻的大猩猩进入青春期时,它们会与其他雄性大猩猩在选择成年雌性的问题上展开竞争,这种竞争通常是激烈的。式(10)模拟了这种行为。 G X ( i ) = X s i l v e r b a c k − ( X s i l v e r b a c k × Q − X ( t ) × Q ) × A (10) GX(i)=X_{silverback}-(X_{silverback}×Q-X(t)×Q)×A\tag{10} GX(i)=Xsilverback​−(Xsilverback​×Q−X(t)×Q)×A(10) Q = 2 × r 5 − 1 (11) Q=2×r_5-1\tag{11} Q=2×r5​−1(11) A = β × E (12) A=\beta×E\tag{12} A=β×E(12) E = { N 1 , r a n d ≥ 0.5 N 2 , r a n d < 0.5 (13) E=\begin{dcases}N_1,\quad rand≥0.5\\N_2,\quad rand<0.5\end{dcases}\tag{13} E={N1​,rand≥0.5N2​,rand<0.5​(13)其中,在式(10)中, X s i l v e r b a c k X_{silverback} Xsilverback​为银背大猩猩的位置向量(最佳位置), X ( t ) X(t) X(t)为当前大猩猩个体的位置向量, Q Q Q用于模拟冲击力,使用式(11)计算;在式(11)中, r 5 r_5 r5​是0到1间的随机值,使用式(12)计算确定冲突中暴力程度的系数向量 A A A;在式(12)中, β \beta β是在优化操作之前给定的参数值, E E E使用式(13)进行评估,同时用于模拟暴力对解决方案维度的影响。如果 r a n d ≥ 0.5 rand≥0.5 rand≥0.5,则 E E E的值将等于正态分布和问题维度中的随机值;但如果 r a n d < 0.5 rand<0.5 rand<0.5, E E E将等于正态分布中的随机值。 r a n d rand rand是介于0和1之间的随机值。
在开发阶段结束时,进行一次群体操作,在该操作中,估计所有 G X GX GX个体的成本,如果成本满足 G X ( t ) < X ( t ) GX(t)<X(t) GX(t)<X(t),则使用 G X ( t ) GX(t) GX(t)作为 X ( t ) X(t) X(t)个体,并将在整个种群中获得的最佳解视为银背大猩猩。

2、GTO算法伪代码

GTO算法伪代码如Algorithm 1所示。
Algorithm 1. Pseudocode of GTO

% GTO setting
Inputs: The population sizeNand maximum number of iterationsTand parametersβandp
Outputs: The location of Gorilla and its fitness value
% initialization
Initialize the random populationX i N( = 1 , 2 , , )…i
Calculate the fitness values of Gorilla
% Main Loop
while (stopping condition is not met) doUpdate theCusing Equation (2)Update theLusing Equation (4)% Exploration phasefor (each Gorilla (Xi)) doUpdate the location Gorilla using Equation (1)end for% Create groupCalculate the fitness values of Gorillaif GX is better than X, replace themSet Xsilverback as the location of silverback(best location)% Exploitation phasefor (each Gorilla (Xi)) doif (|C|>=1) thenUpdate the location Gorilla using Equation (7)ElseUpdate the location Gorilla using Equation (10)End ifend for% Create groupCalculate the fitness values of Gorillaif New Solutions are better than previous solutions, replace themSet Xsilverback as the location of silverback(best location)
end while
Return XBestGorilla, bestFitness

二、仿真实验与分析

1、函数测试与数值分析

将GTO与WOA、MFO、SCA、GWO进行对比,以文献[1]中的F1、F2(单峰函数/50维)、F10、F11(多峰函数/50维)、F16、F17(固定维度多峰函数/2维)为例,种群规模设置为30,最大迭代次数设置为500,每个算法独立运算30次,以最差值、最优值、平均值、标准差和Wilcoxon秩和检验为评价指标,结果显示如下:

函数:F1
WOA:最差值: 6.9795e-69,最优值:3.9142e-85,平均值:2.3446e-70,标准差:1.274e-69,秩和检验:1.2118e-12
MFO:最差值: 41090.6903,最优值:433.785,平均值:11972.9225,标准差:11674.1559,秩和检验:1.2118e-12
SCA:最差值: 3804.1992,最优值:1.7025,平均值:530.8187,标准差:874.3239,秩和检验:1.2118e-12
GWO:最差值: 2.107e-18,最优值:8.5942e-21,平均值:1.399e-19,标准差:3.8176e-19,秩和检验:1.2118e-12
GTO:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F2
WOA:最差值: 2.2876e-50,最优值:5.1496e-57,平均值:2.3153e-51,标准差:5.46e-51,秩和检验:3.0199e-11
MFO:最差值: 140.4765,最优值:6.5466,平均值:64.5082,标准差:29.6505,秩和检验:3.0199e-11
SCA:最差值: 2.0398,最优值:0.014625,平均值:0.60828,标准差:0.61398,秩和检验:3.0199e-11
GWO:最差值: 9.2835e-12,最优值:1.0292e-12,平均值:3.1213e-12,标准差:1.9198e-12,秩和检验:3.0199e-11
GTO:最差值: 1.7703e-190,最优值:1.0122e-205,平均值:6.4496e-192,标准差:0,秩和检验:1
函数:F10
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:4.5593e-15,标准差:1.9755e-15,秩和检验:6.0659e-11
MFO:最差值: 19.965,最优值:15.6058,平均值:19.2824,标准差:1.0874,秩和检验:1.2118e-12
SCA:最差值: 20.5231,最优值:0.34339,平均值:15.7721,标准差:7.2122,秩和检验:1.2118e-12
GWO:最差值: 8.7376e-11,最优值:1.0439e-11,平均值:3.4402e-11,标准差:1.6926e-11,秩和检验:1.2118e-12
GTO:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0,秩和检验:NaN
函数:F11
WOA:最差值: 0.20369,最优值:0,平均值:0.0067895,标准差:0.037188,秩和检验:0.33371
MFO:最差值: 276.4017,最优值:4.5014,平均值:74.0601,标准差:71.1142,秩和检验:1.2118e-12
SCA:最差值: 34.8729,最优值:1.5049,平均值:9.185,标准差:8.893,秩和检验:1.2118e-12
GWO:最差值: 0.024779,最优值:0,平均值:0.0012933,标准差:0.0051205,秩和检验:0.021546
GTO:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F16
WOA:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:2.74e-09,秩和检验:7.5741e-12
MFO:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:6.7752e-16,秩和检验:0.005466
SCA:最差值: -1.0314,最优值:-1.0316,平均值:-1.0316,标准差:6.018e-05,秩和检验:7.5741e-12
GWO:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:1.6532e-08,秩和检验:7.5741e-12
GTO:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:6.3208e-16,秩和检验:1
函数:F17
WOA:最差值: 0.39806,最优值:0.39789,平均值:0.3979,标准差:3.1196e-05,秩和检验:1.2118e-12
MFO:最差值: 0.39789,最优值:0.39789,平均值:0.39789,标准差:0,秩和检验:NaN
SCA:最差值: 0.41439,最优值:0.39823,平均值:0.40075,标准差:0.0034877,秩和检验:1.2118e-12
GWO:最差值: 0.40047,最优值:0.39789,平均值:0.39802,标准差:0.0005329,秩和检验:1.2118e-12
GTO:最差值: 0.39789,最优值:0.39789,平均值:0.39789,标准差:0,秩和检验:NaN

结果表明,GTO在基准函数上的性能优于比较算法。

2、GTO优化WSN覆盖

2.1 节点覆盖模型

本文采取0/1覆盖模型,具体描述请参考这里。

2.2 实验分析

设监测区域为 50 m × 50 m 50 m×50 m 50m×50m的二维平面,传感器节点个数 N = 35 N=35 N=35,其感知半径是 R s = 5 m R_s=5m Rs​=5m,通信半径 R c = 10 m R_c=10m Rc​=10m,迭代500次。初始部署、GTO优化覆盖、GTO算法覆盖率进化曲线如下图所示。
初始部署和最终部署的节点位置及对应的覆盖率分别为:

初始位置:
2.8499     45.3227
20.782     4.2973
17.1401     25.6812
20.1596     17.7741
20.0144     8.9015
32.6971     16.4879
17.9388     43.0386
6.8683     34.7246
7.834     3.3052
48.4491     24.6809
19.2251     34.464
44.9446     44.4648
28.6492     26.4005
35.5175     18.4906
45.5247     20.0273
5.1986     46.7122
36.6481     44.6089
42.5279     6.5438
33.3661     0.77235
14.5134     44.319
29.1686     30.5809
6.5444     16.5424
6.1771     11.4316
44.0322     28.2498
25.8812     41.8494
13.0137     15.8989
9.1106     2.9481
16.294     29.3355
36.833     15.917
0.53388     22.6589
6.6508     27.3036
25.6934     37.7257
20.7327     41.2762
18.657     25.4305
43.3004     37.1266
初始覆盖率:0.71357
最优位置:
1.3946     46.6644
22.6456     2.0728
11     31.6405
27.5965     18.25
20.245     10.2144
36.3333     25.3793
17.4167     48.2375
4.479     33.7023
5.954     2.5759
45.9121     23.5528
21.5231     36.3741
45.667     44.2065
33.8457     32.2348
34.5949     11.3639
48.2218     14.637
4.3353     48.2136
35.6265     42.6812
43.2547     4.4374
32.6578     3.3147
11.57     41.2658
25.4642     27.9457
4.5679     16.366
4.2164     7.6486
46.3648     30.8661
27.1843     46.7991
13.5078     15.5399
13.2481     4.4368
14.3406     34.0741
40.3063     17.4307
1.4624     22.4294
9.8226     24.8553
27.7213     36.415
22.4113     42.8096
17.1023     24.43
42.5487     34.4973
最优覆盖率:0.85813

实验结果表明,GTO能够提升传感器节点的覆盖率,使得节点分布更加均匀。

三、参考文献

[1] Abdollahzadeh B, Gharehchopogh F S, Mirjalili S. Artificial gorilla troops optimizer: A new nature-inspired metaheuristic algorithm for global optimization problems[J]. International Journal of Intelligent Systems, 2021, 36: 5887–5958.

基于人工大猩猩部队优化算法的函数寻优算法相关推荐

  1. 基于蚁群算法的函数寻优算法

    文章目录 一.理论基础 二.案例背景 1.问题描述 2.解题思路及步骤 三.MATLAB程序实现 1.清空环境变量 2.初始化参数 3.构建解空间和目标函数 4.迭代寻优 5.结果显示 6.绘图 四. ...

  2. 基于人工蜂群算法的函数寻优算法

    文章目录 一.理论基础 二.算法流程 1.初始化阶段 2.引领蜂阶段 3.跟随蜂阶段 4.侦察蜂阶段 5.食物源 三.MATLAB程序实现 1.清空环境变量 2.问题设定 3.参数设置 4.初始化蜜蜂 ...

  3. 基于沙猫群优化算法的函数寻优算法

    文章目录 一.理论基础 1.沙猫群优化算法 (1)初始化种群 (2)搜索猎物(探索) (3)攻击猎物(开发) (4)探索和开发 2.SCSO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基 ...

  4. 基于闪电连接过程优化算法的函数寻优算法

    文章目录 一.理论基础 1.闪电连接过程优化算法 (1)初始化 (2)确定闪电的下一跳 (3)闪电分支消失 (4)上迎先导的移动 (5)连接点的确定 2.LAPO算法伪代码 二.仿真实验与结果分析 三 ...

  5. 基于蜉蝣优化算法的函数寻优算法

    文章目录 一.理论基础 1.蜉蝣优化算法 (1)雄性蜉蝣的更新 (2)雌性蜉蝣的更新 (3)蜉蝣的交配过程 2.MA算法伪代码 二.仿真实验与结果分析 1.函数测试与数值分析 2.WSN三维覆盖优化 ...

  6. 基于飞蛾火焰优化算法的函数寻优算法

    文章目录 一.理论基础 1.算法原理 (1)种群初始化 (2)位置更新机制 2.算法步骤 二.Matlab程序 三.运行结果 四.参考文献 一.理论基础 飞蛾火焰优化算法(Moth-flame opt ...

  7. 基于金豺优化算法的函数寻优算法

    文章目录 一.理论基础 1.金豺优化算法 (1)搜索空间公式 (2)探索阶段或搜索猎物 (3)开发阶段或围捕和突袭猎物 (4)从探索转向开发 2.GJO伪代码 二.仿真实验与结果分析 三.参考文献 一 ...

  8. 基于果蝇优化算法的函数寻优算法

    文章目录 一.理论基础 二.算法步骤 1.启发 2.方向和距离 3.气味浓度判断值 4.适应度评估 5.寻找最优个体 6.飞行 7.迭代优化 三.案例背景 问题描述 四.MATLAB程序实现 1.清空 ...

  9. 基于蜂鸟优化算法的函数寻优算法

    文章目录 一.理论基础 1.自搜索阶段 2.引导搜索阶段 3.HOA伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 蜂鸟优化算法(Hummingbirds optimization algor ...

最新文章

  1. ElasticSearch5.6安装head插件
  2. Java是如何加载资源文件的?(源码解毒)
  3. php单词出现频率,PHP计算文件或数组中单词出现频率
  4. PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——多层感知机网络模型
  5. ASP.NET Core 认证与授权[4]:JwtBearer认证
  6. react中使用构建缓存_使用React和Netlify从头开始构建电子商务网站
  7. python 模糊匹配ftp文件_使用python实现正则匹配检索远端FTP目录下的文件
  8. springcloud21---Config-bus实现配置自动刷新
  9. Java8新特性学习_001_(Lambda表达式,函数式接口,方法引用,Stream类,Optional类)
  10. 关于Linux系统之VM安装配置(每一个步骤都超级详细的哦!)
  11. 分析Python7个爬虫小案例(附源码)
  12. Python 流媒体播放器(基于VLC)
  13. 【毕业设计】空气质量检测仪(环境检测盒子)- stm32 单片机 嵌入式 物联网
  14. PMBOK6相关方:权利利益方格
  15. System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”
  16. apa引用要在文中吗_如何根据 APA 格式排版?
  17. 物联网技术在智慧电网中的应用-Susie 周
  18. cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第三步---编辑器(2)---更方便更多操作更像编辑器
  19. 如何找到大于或等于一个整数的最小的 2 的幂?
  20. 网络基础——牛客网刷题第二波

热门文章

  1. 直播预告|以京东数智化实践为例,看“京东云云舰”如何助力企业打造敏捷中台?
  2. Java从头到尾打印链表
  3. java实现不重复数组的全排列
  4. 【视觉SLAM】从安装Ubuntu18.04开始
  5. 宇视网络视频录像机运动检测告警推送到手机客户端
  6. 员工离职预测(logistic)(R语言)
  7. 信息流平台“三足鼎立”,看点、头条与百度如何拉锯?
  8. 单片机 N76E003 EC12 编码器
  9. 渗透测试面试题--日更(1-9day)
  10. 小迪渗透测试学习笔记(四)基础入门-WEB源码拓展