基于自适应反馈调节因子的阿基米德优化算法(IAOA)
文章目录
- 基于自适应反馈调节因子的阿基米德优化算法(IAOA)
- 1.阿基米德优化算法
- 2. 改进阿基米德优化算法
- 2.1 佳点集种群初始化
- 2.2 自适应反馈调节因子
- 2.3 莱维旋转变换策略
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:针对基础阿基米德优化算法收敛速度慢、容易陷入局部最优的问题,文中提出了一种基于自适应反馈调节因子的阿基米德优化算法。首先,通过佳点集初始化种群,增强初始种群的遍历性,提高初始解的质量;其次,提出自适应反馈调节因子,平衡算法的全局探索与局部开发能力;最后,提出了莱维旋转变换策略,增加种群的多样性,以防止算法陷入局部最优。
1.阿基米德优化算法
基础阿基米德优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/119999874
2. 改进阿基米德优化算法
2.1 佳点集种群初始化
初始种群在解空间中的细微不同都可能影响算法的进化方向,最后产生完全不同的最终结果。在初始化阶段, AOA容易受到随机的干扰,发生聚集现象。本文通过引入佳点集初始化方法,来拟提高算法在解空间上的遍历能力。
2.2 自适应反馈调节因子
在 AOA 迭代后期进行局部开发时, 根据位置更新式可知, 个体收敛于当前最优解的方式是直接跳跃到当前最优 位置附近, 而不是像粒子群优化算法那样向最优位置移动。 这是一种盲目跟进的行为, 导致
A
O
A
\mathrm{AOA}
AOA 极容易陷入局部最优。 又根据密度因子式 (7) 可知, 随着迭代次数的增加, 密度因子 会呈现从 1 到0线性递减的趋势。密度因子过小会导致个体 信息的缺失, 从而导致了种群多样性的减少。因此, 本文提出 了自适应反馆调节因子对算法进行改进。本文将种群进化成 功率
[
23
]
{ }^{[23]}
[23] 以及个体归一化后的适应度作为反馈调节参数对密 度因子进行改进, 使得个体根据种群所处的实际环境以及自身的适应度动态调节, 具体操作如下。
以最小值问题为例, 个体
i
i
i 在第
t
t
t 次迭代中的成功值
S
(
i
,
t
)
S(i, t)
S(i,t) 定义 为 :
S
(
i
,
t
)
=
{
1
,
fit
(
pbest
i
(
t
)
)
<
f
i
t
(
pbest
i
(
t
−
1
)
)
0
,
fit
(
pbest
i
(
t
)
)
=
fit
(
p
pbest
i
(
t
−
1
)
)
(10)
S(i, t)= \begin{cases}1, & \text { fit }\left(\operatorname{pbest}^i(t)\right)<f i t\left(\text { pbest }^i(t-1)\right) \\ 0, & \text { fit }\left(\operatorname{pbest}^i(t)\right)=\text { fit }\left(p \text { pbest }^i(t-1)\right)\end{cases}\tag{10}
S(i,t)={1,0, fit (pbesti(t))<fit( pbest i(t−1)) fit (pbesti(t))= fit (p pbest i(t−1))(10)
其中, phest
i
(
t
)
{ }^i(t)
i(t) 表示迭代至第
t
t
t 次时, 个体
i
i
i 的历史最优位置;
f
i
t
f i t
fit ( 火) 为适应度函数; 根据个体
i
i
i 的成功值
S
(
i
,
t
)
S(i, t)
S(i,t), 种群的成 功率
(
P
s
)
\left(P_s\right)
(Ps) 定义为个体历史最优位置对应的进化成功个体数占 种群大小的比例, 计算式如下:
P
s
(
t
)
=
1
N
∑
i
=
1
N
S
(
i
,
t
)
(11)
P_s(t)=\frac{1}{N} \sum_{i=1}^N S(i, t)\tag{11}
Ps(t)=N1i=1∑NS(i,t)(11)
其中,
N
N
N 为种群的大小。
在迭代初期, 个体广泛分布在解空间中, 进化成功的个体 相对较多, 种群进化成功率较高, 侧面说明最优个体的引领方 向正确。在迭代后期, 种群个体逐渐聚集, 若进化成功率降 低,则应该保留更多的个体信息来保证算法的局部开发能力。 将种群进化成功率
P
s
P_s
Ps 和密度因子
d
d
d 结合, 动态反馈算法的进 化状态, 以此来平衡算法的全局开发能力。自适应反馈调节 因子如下:
d
i
t
+
1
=
2
∗
exp
(
t
max
−
t
t
max
)
−
(
t
t
max
)
∗
(
α
∗
P
s
(
t
)
+
β
∗
F
i
)
(12)
d_i^{t+1}=2 * \exp \left(\frac{t_{\max }-t}{t_{\max }}\right)-\left(\frac{t}{t_{\max }}\right) *\left(\alpha * P_s(t)+\beta * F_i\right)\tag{12}
dit+1=2∗exp(tmaxtmax−t)−(tmaxt)∗(α∗Ps(t)+β∗Fi)(12)
其中, 参数
α
\alpha
α 表示种群进化成功率重要性系数,
F
i
F_i
Fi 定义为:
F
i
=
λ
−
(
f
(
X
i
)
−
f
min
+
ε
)
/
(
f
max
−
f
min
+
ε
)
(13)
F_i=\lambda^{-\left(f\left(X_i\right)-f_{\min }+\varepsilon\right) /\left(f_{\max }-f_{\min }+\varepsilon\right)}\tag{13}
Fi=λ−(f(Xi)−fmin+ε)/(fmax−fmin+ε)(13)
其中,
F
i
F_i
Fi 表示第
i
i
i 个个体归一化后的适应度系数;
β
\beta
β 为该系数 的重要性系数;
λ
\lambda
λ 为衰减因子;
ε
\varepsilon
ε 为一个非常小的有理数, 以防 止分母为 0 的情况。自适应反馈调节因子会根据适应度的变 化情况动态调整大小, 若当前个体适应度接近最优适应度, 自 适应反馈调节因子会保持原来的密度因子的性质, 加快算法 的收敛速度。而适应度较差的个体, 其自适应调节因子接近 最大值, 保留了自身更多信息, 保证了算法的局部开发能力。
2.3 莱维旋转变换策略
在保持
A
O
A
\mathrm{AOA}
AOA 的种群多样性基础上, 为了提高个体的探 索能力, 避免在迭代后期出现种群陷入局部最优的现象, 本文 提出了莱维旋转变换策略。以莱维步长
[
24
]
{ }^{[24]}
[24] 为半径、最优个体 为中心对个体进行旋转变换操作, 以提高种群的多样性和收 敛速度, 其中莱维旋转变换算子为:
x
i
t
=
x
best
+
s
∗
1
n
∥
x
i
t
∥
2
R
r
x
i
t
(14)
\boldsymbol{x}_i^t=\boldsymbol{x}_{\text {best }}+s * \frac{1}{n\left\|\boldsymbol{x}_i^t\right\|_2} \boldsymbol{R}_r \boldsymbol{x}_i^t \tag{14}
xit=xbest +s∗n∥xit∥21Rrxit(14)
其中,
R
r
∈
R
n
∗
n
\boldsymbol{R}_r \in \boldsymbol{R}_{n * n}
Rr∈Rn∗n 是一个元素取值在
[
−
1
,
1
]
[-1,1]
[−1,1] 之间均匀分布的随 机矩阵;
∥
\|
∥ -
∥
\|
∥ 为向量 2 -范数;
s
s
s 为结合莱维的旋转因子; 理 论上
[
25
]
{ }^{[25]}
[25] 能将位置旋转到以
s
s
s 为半径的任何位置, 可用于控制 解的搜索范围, 其表达式为:
s
=
0.01
∗
μ
∣
ν
∣
1
/
β
(
x
i
t
−
x
best
)
(15)
s=0.01 * \frac{\mu}{|\nu|^{1 / \beta}}\left(\boldsymbol{x}_i^t-\boldsymbol{x}_{\text {best }}\right)\tag{15}
s=0.01∗∣ν∣1/βμ(xit−xbest )(15)
σ
μ
=
{
Γ
(
1
+
β
)
⋅
sin
(
π
β
2
)
Γ
[
(
1
+
β
)
2
]
β
⋅
2
(
β
−
1
)
2
}
1
/
β
(16)
\sigma_\mu=\left\{\frac{\Gamma(1+\beta) \cdot \sin \left(\frac{\pi \beta}{2}\right)}{\Gamma\left[\frac{(1+\beta)}{2}\right] \beta \cdot 2^{\frac{(\beta-1)}{2}}}\right\}^{1 / \beta}\tag{16}
σμ=⎩
⎨
⎧Γ[2(1+β)]β⋅22(β−1)Γ(1+β)⋅sin(2πβ)⎭
⎬
⎫1/β(16)
其中,
β
\beta
β 的取值会影响搜索半径的大小,
β
\beta
β 的取值越大, 其局部 开放能力就越强 。
莱维旋转变换算子可以对个体以一定的角度进行旋转, 以最大限度地避免生成重复个体; 并且其结合莱维步长的短 距离步长和长距离步长相间的特点, 扩大群体的搜寻范围, 协 助算法在必要时跳出局部最优, 以提高算法的搜索性能。最 后, 为了兼顾种群搜索领域的广度与深度, 本文根据个体的适 应度值, 计算个体的进化概率, 如式 (17) 所示。个体的可行解 质量越差, 则该个体被选择进行莱维旋转变换操作的概率就 越大, 同时本文还采用贪婪选择更新解, 在保留优势个体的同 时兼顾个体的探索能力。
p
i
=
f
i
t
i
∑
i
=
1
N
f
i
t
i
(17)
p_i=\frac{f i t_i}{\sum_{i=1}^N f i t_i}\tag{17}
pi=∑i=1Nfitifiti(17)
其中,
p
i
p_i
pi 是选择概率;
f
i
t
i
f i t_i
fiti 的表达式为:
fit
i
=
{
1
1
+
f
i
,
f
i
⩾
0
1
+
∣
f
i
∣
,
f
i
<
0
(18)
\text { fit }_i= \begin{cases}\frac{1}{1+f_i}, & f_i \geqslant 0 \\ 1+\left|f_i\right|, & f_i<0\end{cases}\tag{18}
fit i={1+fi1,1+∣fi∣,fi⩾0fi<0(18)
其中,
f
i
f_i
fi 为第
i
i
i 个个体的适应度值。
3.实验结果
4.参考文献
[1]陈俊,何庆,李守玉.基于自适应反馈调节因子的阿基米德优化算法[J].计算机科学,2022,49(08):237-246.