改进的大猩猩部队优化算法(Modified Gorilla Troops Optimizer,MGTO)(原文作者)
Posted 鹤鸣优化
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改进的大猩猩部队优化算法(Modified Gorilla Troops Optimizer,MGTO)(原文作者)相关的知识,希望对你有一定的参考价值。
改进的大猩猩部队优化算法(Modified Gorilla Troops Optimizer,MGTO)
一、算法灵感
大猩猩部队优化算法(Gorilla Troops Optimizer, GTO)是于2021年提出的元启发式算法,其灵感来自于大猩猩在自然界中的社会行为。将大猩猩的集体社会生活习性数学化,从而提出了具体的数学模型。
二、算法介绍
2. 1 初始化
在GTO的初始化过程中会先设置相应的参数:种群数量 N N N、最大迭代次数 M a x I t MaxIt MaxIt、 β β β、 p p p、 w w w。然后在探索空间中随机初始化种群。其中, p p p 是在 0 0 0 到 1 1 1 之间的参数,控制大猩猩对未知位置的迁移策略。 β β β 为计算大猩猩暴力程度公式中的参数,其值为 0.3 0.3 0.3。 w w w 是开发阶段的两种机制的控制参数,其值为 0.8 0.8 0.8。
2. 2 探索阶段
大猩猩们在银背大猩猩的领导下以群体的形式生活在自然中,在探索阶段文章设计了三种机制,分别是迁移到未知位置,迁移到已知位置以及迁移到其他大猩猩的位置。这些机制使GTO算法拥有了出色的空间探索能力,第一种机制的执行条件是
r
a
n
d
1
<
p
rand_1<p
rand1<p,它能够使大猩猩随机探索空间,第二种机制用于提升GTO对空间的探索程度,它的执行条件是
r
a
n
d
2
≥
0.5
rand_2≥0.5
rand2≥0.5;最后,当
r
a
n
d
2
<
0.5
rand_2<0.5
rand2<0.5 时,执行第三种机制,用于增强了GTO逃离局部最优点的能力。具体的模拟公式如下: 以上是关于改进的大猩猩部队优化算法(Modified Gorilla Troops Optimizer,MGTO)(原文作者)的主要内容,如果未能解决你的问题,请参考以下文章 多维时序 | MATLAB实现GTO-CNN-GRU人工大猩猩部队优化卷积门控循环单元多变量多步时间序列预测 多维时序 | MATLAB实现GTO-CNN-BiLSTM人工大猩猩部队优化卷积双向长短期记忆神经网络多变量多步时间序列预测 A Modified Particle Swarm Optimizer 优化算法基于matlab cubic混沌初始化结合纵横策略正弦余弦算子的黑猩猩优化算法求解单目标优化问题含Matlab源码 2065期 优化算法基于matlab cubic混沌初始化结合纵横策略正弦余弦算子的黑猩猩优化算法求解单目标优化问题含Matlab源码 2065期
G
X
(
t
+
1
)
=
(
U
B
−
L
B
)
×
r
1
+
L
B
,
r
a
n
d
1
<
p
(
r
2
−
C
)
×
X
r
(
t
)
+
L
×
H
,
r
a
n
d
2
≥
0.5
a
n
d
r
a
n
d
1
≥
p
X
(
t
)
−
L
×
(
L
×
(
X
(
t
)
−
G
X
(
t
)
)
)
+
r
3
×
(
X
(
t
)
−
G
X
r
(
t
)
)
,
r
a
n
d
2
<
0.5
a
n
d
r
a
n
d
1
≥
p
(1)
GX(t + 1) = \\left\\ \\beginaligned &(UB - LB) \\times r_1 + LB\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\quad\\ ,rand_1 < p \\cr &(r_2 - C) \\times X_r(t) + L \\times H\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad,rand_2 \\ge 0.5\\ and\\ rand_1 \\ge p \\cr &X(t) - L \\times (L \\times (X(t) - GX(t))) + r_3 \\times (X(t) - GX_r(t)),rand_2 < 0.5\\ and\\ rand_1 \\ge p \\cr \\endaligned \\right. \\tag1
GX(t+1)=⎩
⎨
⎧(UB−LB)×r1+LB ,rand1<p(r2−C)×Xr(t)+L×H,rand2≥0.5 and rand1≥pX(t)−L×(L×(X(t)−GX(t)))+r3×(X(t)−GXr(t)),rand2<0.5 and rand1≥p(1)
C
=
F
×
(
1
−
t
M
a
x
I
t
)
(2)
C = F \\times \\left( 1 - t \\over MaxIt \\right) \\tag2
C=F×(1−MaxItt)(2)
F
=
cos
(
2
×
r
4
)
+
1
(3)
F = \\cos (2 \\times r_4) + 1 \\tag3
F=cos(2×r4)+1(3)
L
=
C
×
l
(4)
L = C \\times l \\tag4
L=C×l(4)
H
=
Z
×
X
(
t
)
(5)
H = Z \\times X(t) \\tag5
H=Z×X(t)(5)
Z
=
[
−
C
,
C
]
(6)
Z = \\left[ - C,C \\right] \\tag6
Z=[−C,C](6)其中,
G
X
(
t
+
1
)
GX(t+1)
GX(t+1) 表示大猩猩下一次迭代时的位置,
X
(
t
)
X(t)
X(t) 表示当前大猩猩的位置。
r
1
r_1
r1、
r
2
r_2
r2、
r
3
r_3
r3 和
r
a
n
d
rand
rand 都表示
0
0
0 到
1
1
1 之间的随机数。变量的上下界分别表示为
U
B
UB
UB、
L
B
LB
LB。
X
r
X_r
Xr 和
G
X
r
GX_r
GXr 都是随机选取的大猩猩的位置。
t
t
t 表示当前的迭代次数。在初始阶段的时候
C
C
C 的值的变化会较大,在后期变化值的变化会逐渐减少。
r
4
r_4
r4 是在
[
−
1
,
1
]
[-1,1]
[−1,1] 之间的一个随机数,
l
l
l 是
0
0
0 到
1
1
1 之间的随机数。
L
L
L 是用来模拟银背大猩猩的领导才能。银背大猩猩会由于经验的不足而导致寻找食物或者管理群体的决策错误。
Z
Z
Z 是区间
[
−
C
,
C
]
[-C,C]
[−C,C] 内的一个随机数。
在探索阶段结束时,要分别计算
G
X
GX
GX 和
X
X
X 的适应度值。如果
G
X
(
t
)
GX(t)
GX(t) 的适应度值小于
X
(
t
)
X(t)
X(t) 的适应度值,则
X
(
t
)
X(t)
<