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

文章目录

  • 一、理论基础
    • 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\,\,\, randGX(t+1)=(UBLB)×r1+LB,rand<p(r2C)×Xr(t)+L×H,rand0.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×(1MaxItIt)(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)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 CW,则选择跟随银背机制,但如果 C < W CC<W,则选择竞争成年雌性机制。 W W W是优化操作之前要设置的参数。

1.2.1 跟随银背大猩猩

如果 C ≥ W C≥W CW,则选择跟随银背大猩猩机制,式(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=(N1i=1NGXi(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 CC<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×QX(t)×Q)×A(10) Q = 2 × r 5 − 1 (11) Q=2×r_5-1\tag{11} Q=2×r51(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,rand0.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 rand0.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)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) do
	Update theCusing Equation (2)
	Update theLusing Equation (4)
	% Exploration phase
	for (each Gorilla (Xi)) do
		Update the location Gorilla using Equation (1)
	end for
	% Create group
	Calculate the fitness values of Gorilla
	if GX is better than X, replace them
	Set Xsilverback as the location of silverback(best location)
	% Exploitation phase
	for (each Gorilla (Xi)) do
		if (|C|>=1) then
			Update the location Gorilla using Equation (7)
		Else
			Update the location Gorilla using Equation (10)
		End if
	end for
	% Create group
	Calculate the fitness values of Gorilla
	if New Solutions are better than previous solutions, replace them
	Set 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秩和检验为评价指标,结果显示如下:
基于人工大猩猩部队优化算法的函数寻优算法_第1张图片基于人工大猩猩部队优化算法的函数寻优算法_第2张图片基于人工大猩猩部队优化算法的函数寻优算法_第3张图片基于人工大猩猩部队优化算法的函数寻优算法_第4张图片基于人工大猩猩部队优化算法的函数寻优算法_第5张图片基于人工大猩猩部队优化算法的函数寻优算法_第6张图片

函数: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算法覆盖率进化曲线如下图所示。
基于人工大猩猩部队优化算法的函数寻优算法_第7张图片基于人工大猩猩部队优化算法的函数寻优算法_第8张图片基于人工大猩猩部队优化算法的函数寻优算法_第9张图片初始部署和最终部署的节点位置及对应的覆盖率分别为:

初始位置:
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.

你可能感兴趣的:(matlab,最优化问题,无线传感器网络)