智能优化算法:袋獾优化算法
文章目录
- 智能优化算法:袋獾优化算法
- 1. 袋獾优化算法
- 1.1 初始化
- 1.2 策略一:以腐肉为食(探索阶段)
- 2.实验结果
- 3.参考文献
- 4.Matlab
摘要:袋獾优化算法(Tasmanian Devil Optimization(TDO)),是于2022年提出的一种基于袋獾行为的优化算法,该算法通过模拟袋獾猎食行为来进行寻优,具有寻优能力强,收敛速度快等特点
1. 袋獾优化算法
1.1 初始化
与其他优化算法类似,在寻优空间里随机初始化种群:
x
i
,
j
=
l
b
j
+
r
⋅
(
u
b
j
−
l
b
j
)
(2)
x_{i, j}=l b_j+r \cdot\left(u b_j-l b_j\right) \tag{2}
xi,j=lbj+r⋅(ubj−lbj)(2)
其中
x
i
,
j
x_{i,j}
xi,j为个体,
l
b
j
lb_j
lbj为寻优下边界,
u
b
j
ub_j
ubj为寻优上边界,
r
r
r为[0,1]之间的随机数。
1.2 策略一:以腐肉为食(探索阶段)
有时袋獾更喜欢在该地区以腐肉为食,而不是狩猎。袋獾周围生活着其他食肉动物,它们捕食大型猎物,但无法将其全部吃掉。此外,在袋獾到来之前,这些动物可能无法从猎物身上充分进食。在这种情况下,袋獾更喜欢以这些腐肉为食。袋獾在扫描栖息地区域以识别腐肉时的行为类似于在解决问题空间中的算法搜索过程。这种袋獾策略实际上展示了TDO探索在扫描搜索空间的不同区域以识别原始最佳区域方面的力量。
袋獾吃尸体策略中表达的概念是使用(3)到(5)进行数学建模的。在TDO设计中,对于每个袋獾,其他种群成员在搜索空间中的位置被假设为腐肉位置。在(3)中模拟随机选择其中一种情况,从而选择第k个种群成员作为第i个袋獾的目标腐肉。因此,k必须从1到N中随机选择,而相反的是i。
C
i
=
X
k
,
i
=
1
,
2
,
…
,
N
,
k
∈
{
1
,
2
,
…
,
N
∣
k
≠
i
}
(3)
C_i=X_k, \quad i=1,2, \ldots, N, k \in\{1,2, \ldots, N \mid k \neq i\} \tag{3}
Ci=Xk,i=1,2,…,N,k∈{1,2,…,N∣k=i}(3)
其中
C
i
C_i
Ci是选中的腐肉。
基于选定的腐肉,袋獾在搜索空间中的新位置被计算出来。在该策略中的袋獾运动模拟中,如果腐肉的目标函数值更好,塔斯马尼亚恶魔就会向腐肉移动,否则就会远离腐肉。袋獾运动策略在(4)中进行了模拟。在第一策略的最后一步中,在计算袋獾的新位置后,如果目标函数的值在这个新位置更好,则接受这个位置,否则,塔斯马尼亚恶魔将保持在其先前的位置。此更新步骤在(5)中进行了建模。
x
i
,
j
n
e
w
,
S
1
=
{
x
i
,
j
+
r
⋅
(
c
i
,
j
−
I
⋅
x
i
,
j
)
,
F
C
i
<
F
i
x
i
,
j
+
r
⋅
(
x
i
,
j
−
c
i
,
j
)
,
otherwise
(4)
x_{i, j}^{n e w, S 1}= \begin{cases}x_{i, j}+r \cdot\left(c_{i, j}-I \cdot x_{i, j}\right), & F_{C_i}<F_i \\ x_{i, j}+r \cdot\left(x_{i, j}-c_{i, j}\right), & \text { otherwise }\end{cases} \tag{4}
xi,jnew,S1={xi,j+r⋅(ci,j−I⋅xi,j),xi,j+r⋅(xi,j−ci,j),FCi<Fi otherwise (4)
X i = { X i n e w , S 1 , F i new , S 1 < F i X i , otherwise (5) X_i= \begin{cases}X_i^{n e w, S 1}, & F_i^{\text {new }, S 1}<F_i \\ X_i, & \text { otherwise }\end{cases} \tag{5} Xi={Xinew,S1,Xi,Finew ,S1<Fi otherwise (5)
其中r 为[0,1]之间的随机数,I 为属于{1,2}的随机值。
1.3 策略二:以猎物为食(开发阶段)
袋獾的第二个进食策略是捕食猎物。袋獾在攻击过程中的行为有两个阶段。在第一阶段,它通过扫描该区域,选择猎物并攻击它。然后,在第二阶段,在接近猎物后,它追赶猎物,阻止它并开始进食。第一阶段的建模类似于第一策略的建模,即胴体的选择。因此,使用(6)至(8)对猎物选择和攻击的第一阶段进行建模。在第二种策略中,当更新了第i0个袋獾,其他种群成员的位置被假设为猎物的位置。第k0个种群成员被随机选择为猎物,而k是介于1到N和相反i之间的自然随机数。猎物选择过程在(6)中模拟。
P
i
=
X
k
,
i
=
1
,
2
,
…
,
N
,
k
∈
{
1
,
2
,
…
,
N
∣
k
≠
i
}
(6)
P_i=X_k, \quad i=1,2, \ldots, N, k \in\{1,2, \ldots, N \mid k \neq i\} \tag{6}
Pi=Xk,i=1,2,…,N,k∈{1,2,…,N∣k=i}(6)
其中
P
i
P_i
Pi是选中的猎物。
在确定了猎物的位置后,袋獾会被计算出一个新的位置。在计算这个新位置时,如果所选猎物的目标函数值更好,袋獾就会向它移动,否则它就会远离这个位置。该过程的建模如(7)所示。如果为袋獾计算的新位置提高了目标函数的值,那么它将取代以前的位置。第二种策略的这一步骤在(8)中进行了建模。
x
i
,
j
new
,
S
2
=
{
x
i
,
j
+
r
⋅
(
p
i
,
j
−
I
⋅
x
i
,
j
)
,
F
P
i
<
F
i
x
i
,
j
+
r
⋅
(
x
i
,
j
−
p
i
,
j
)
,
otherwise
(7)
x_{i, j}^{\text {new }, S 2}= \begin{cases}x_{i, j}+r \cdot\left(p_{i, j}-I \cdot x_{i, j}\right), & F_{P_i}<F_i \\ x_{i, j}+r \cdot\left(x_{i, j}-p_{i, j}\right), & \text { otherwise }\end{cases}\tag{7}
xi,jnew ,S2={xi,j+r⋅(pi,j−I⋅xi,j),xi,j+r⋅(xi,j−pi,j),FPi<Fi otherwise (7)
X i = { X i n e w , S 2 , F i new , S 2 < F i X i , otherwise (8) X_i= \begin{cases}X_i^{n e w, S 2}, & F_i^{\text {new }, S 2}<F_i \\ X_i, & \text { otherwise }\end{cases} \tag{8} Xi={Xinew,S2,Xi,Finew ,S2<Fi otherwise (8)
这种策略与第一种策略的主要区别在于第二阶段和猎物追逐的模拟。在攻击地点附近追逐猎物类似于搜索空间的局部搜索。这种袋獾的行为实际上证明了TDO有能力利用它来收敛到更好的候选解决方案。为了模拟这种追逐过程,袋獾在被袭击地点附近跟踪猎物。猎物追逐阶段由袋獾使用(9)至(11)进行建模。在这个阶段,袋獾的位置被认为是猎物追逐过程发生的社区的中心。这个邻域的半径表示袋獾跟随猎物的范围,可以使用(9)计算。因此,可以基于该邻域中的追逐过程来计算袋獾的新位置,这在(10)中进行了数学模拟。如果新计算的位置为目标函数提供了比其先前位置更好的值,则袋獾可以接受。在(11)中模拟了袋獾的位置更新过程。
R
=
0.01
(
1
−
t
T
)
,
(9)
R=0.01\left(1-\frac{t}{T}\right), \tag{9}
R=0.01(1−Tt),(9)
x i , j n e w = x i , j + ( 2 r − 1 ) ⋅ R ⋅ x i , j (10) x_{i, j}^{n e w}=x_{i, j}+(2 r-1) \cdot R \cdot x_{i, j} \tag{10} xi,jnew=xi,j+(2r−1)⋅R⋅xi,j(10)
X i = { X i n e w , F i new < F i X i , otherwise (11) X_i= \begin{cases}X_i^{n e w}, & F_i^{\text {new }}<F_i \\ X_i, & \text { otherwise }\end{cases} \tag{11} Xi={Xinew,Xi,Finew <Fi otherwise (11)
其中t 为迭代次数, T为最大迭代次数。
算法流程图如下:
2.实验结果
3.参考文献
[1] M. Dehghani, Š. Hubálovský and P. Trojovský, “Tasmanian Devil Optimization: A New Bio-Inspired Optimization Algorithm for Solving Optimization Algorithm,” in IEEE Access, vol. 10, pp. 19599-19620, 2022, doi: 10.1109/ACCESS.2022.3151641.