1.背景
2019年,Zhao等人受到地球生态系统能量流动启发,提出了人工生态系统优化算法(Artificial Ecosystem-based Optimization,AEO)。
2.算法原理
2.1算法思想
AEO通过生产者、消费者和分解者对生态系统中的生产、消费和分解行为进行模拟。生产算子旨在平衡勘探和开发能力,消费算子用于提升探索能力,分解算子旨在提高开发性能。
2.2算法过程
生产者:
生产者是适应度值最差的个体,分解者是适应度值最优的个体。生产者根据搜索空间的上下限和分解者进行位置更新:
x
1
(
t
+
1
)
=
(
1
−
a
)
x
n
(
t
)
+
a
x
r
a
n
d
(
t
)
a
=
(
1
−
t
/
T
)
r
1
x
r
a
n
d
=
L
+
r
(
U
−
L
)
(1)
\begin{aligned}x_1(t+1)=&(1-a)x_n(t)+ax_{rand}(t)\\a=&(1-t/T)r_1\\x_{rand}=&L+r(U-L)\end{aligned}\tag{1}
x1(t+1)=a=xrand=(1−a)xn(t)+axrand(t)(1−t/T)r1L+r(U−L)(1)
消费者:
在生态系统中,消费者以相同的概率分为食草动物、食肉动物和杂食动物。在AEO中,引入消费因子 C:
C
=
1
2
v
1
∣
v
2
∣
v
1
∼
N
(
0
,
1
)
,
v
2
∼
N
(
0
,
1
)
(2)
\begin{gathered}C=\frac12\frac{v_1}{|v_2|}\\v_1\sim N(0,1),v_2\sim N(0,1)\end{gathered}\tag{2}
C=21∣v2∣v1v1∼N(0,1),v2∼N(0,1)(2)
食草动物为只吃生产者的生物,位置更新方式:
x
i
(
t
+
1
)
=
x
i
(
t
)
+
C
⋅
(
x
i
(
t
)
−
x
1
(
t
)
)
,
i
∈
[
2
,
⋯
,
n
]
(3)
x_i(t+1)=x_i(t)+C\cdot(x_i(t)-x_1(t)),i\in[2,\cdots,n]\tag{3}
xi(t+1)=xi(t)+C⋅(xi(t)−x1(t)),i∈[2,⋯,n](3)
食肉动物为只吃消费者的生物,位置更新方式:
x
i
(
t
+
1
)
=
x
i
(
t
)
+
C
⋅
(
x
i
(
t
)
−
x
j
(
t
)
)
i
∈
[
3
,
⋯
,
n
]
,
j
=
r
a
n
d
i
(
[
2
i
−
1
]
)
(4)
\begin{aligned}&x_i(t+1)=x_i(t)+C\cdot(x_i(t)-x_j(t))\\&i\in[3,\cdots,n],j=randi([2i-1])\end{aligned}\tag{4}
xi(t+1)=xi(t)+C⋅(xi(t)−xj(t))i∈[3,⋯,n],j=randi([2i−1])(4)
杂食动物既吃生产者又吃消费者,位置更新方式:
x
i
(
t
+
1
)
=
x
i
(
t
)
+
C
⋅
(
r
2
⋅
(
x
i
(
t
)
−
x
1
(
t
)
)
+
(
1
−
r
2
)
(
x
i
(
t
)
−
x
j
(
t
)
)
)
i
=
3
,
⋯
,
n
;
j
=
r
a
n
d
i
(
[
2
i
−
1
]
)
(5)
\begin{aligned}x_i(t+1)&=x_i(t)+C\cdot(r_2\cdot(x_i(t)-x_1(t))+(1-r_2)(x_i(t)-x_j(t)))\\i&=3,\cdots,n;j=randi([2i-1])\end{aligned}\tag{5}
xi(t+1)i=xi(t)+C⋅(r2⋅(xi(t)−x1(t))+(1−r2)(xi(t)−xj(t)))=3,⋯,n;j=randi([2i−1])(5)
分解者:
在生态系统中,分解者为生产者提供养分。在AEO中,允许种群中的每个个体根据分解者生成每个个体的下一个位置。为了提高算法的性能,加入调节因子 D 和权重系数 e 、h 。分解者位置更新方式:
x
i
(
t
+
1
)
=
x
n
(
t
)
+
D
⋅
(
e
⋅
(
x
n
(
t
)
−
h
⋅
x
i
(
t
)
)
)
,
i
=
1
,
⋯
,
n
D
=
3
u
,
u
∼
N
(
0
,
1
)
e
=
r
3
⋅
r
a
n
d
i
(
[
1
,
2
]
)
−
1
h
=
2
⋅
r
3
−
1
(6)
\begin{gathered} x_{i}(t+1)=x_{n}(t)+D\cdot(e\cdot(x_{n}(t)-h\cdot x_{i}(t))),i=1,\cdots,n \\ D=3u,u\sim N(0,1) \\ e=r_{3}\cdot randi([1,2])-1 \\ h=2\cdot r_{3}-1 \end{gathered}\tag{6}
xi(t+1)=xn(t)+D⋅(e⋅(xn(t)−h⋅xi(t))),i=1,⋯,nD=3u,u∼N(0,1)e=r3⋅randi([1,2])−1h=2⋅r3−1(6)
伪代码:
3.结果展示
4.参考文献
[1] Zhao W, Wang L, Zhang Z. Artificial ecosystem-based optimization: a novel nature-inspired meta-heuristic algorithm[J]. Neural Computing and Applications, 2020, 32(13): 9383-9425.