基于逐维高斯变异的混沌麻雀优化算法
文章目录
摘要:针对麻雀算法初始化种群盲目性、全局搜索能力尚差容易陷入局部最优等问题,提出了一种逐维高斯变异的混沌麻雀优化算法.该算法首先利用singer混沌映射策略对种群进行初始化,克服种群初始化的盲目性。然后引入翻筋斗觅食策略来提高种群的全局搜索能力,最后引入惯性权重因子,针对最优原子采用逐维度高斯变异,提高其跳出局部最优解的能力,提高算法的全局搜索能力。
1.麻雀优化算法
基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958
2. 改进麻雀算法
2.1 Singer 映射
Singer 映射 是混沌映射的典型代表, 它的数学形 式很简单。其表达式女如下:
x
k
+
1
=
u
(
7.86
x
k
−
23.31
x
k
2
+
28.75
x
k
3
−
13.302875
x
k
4
)
,
u
∈
(
0.9
,
1.08
)
(5)
\begin{gathered} x_{k+1}=u\left(7.86 x_k-23.31 x_k^2+28.75 x_k^3-13.302875 x_k^4\right), \\ u \in(0.9,1.08) \end{gathered}\tag{5}
xk+1=u(7.86xk−23.31xk2+28.75xk3−13.302875xk4),u∈(0.9,1.08)(5)
Singer 表达式中
x
x
x 的范围为
[
0
,
1
]
[0,1]
[0,1] 。 Singer 映射分布在[0,1]之间,其混沌性来代替随机初始化,能够使种群在搜索空间更加均匀的分布。
2.2 翻筋斗策略
引人较为新颖的翻筋斗
[
8
]
{ }^{[8]}
[8] 觅食策略来改善 SSA 的跳 出局部最优能力。这种捕猎行为, 可以将猎物视为一个 支点, 每次捕猎将会更新到当前位置与对称于支点对面 位置的某一位置, 数学模型可列为式:
X
i
(
t
+
1
)
=
x
i
(
t
)
+
S
(
r
1
∗
x
b
e
t
−
r
2
∗
x
i
(
t
)
)
(6)
X_i(t+1)=x_i(t)+S\left(r_1 * x_{b e t}-r_2 * x_i(t)\right) \text { (6) }
Xi(t+1)=xi(t)+S(r1∗xbet−r2∗xi(t)) (6)
式中代表空翻因子, 决定了翻到猎物对面的位置, 取
S
=
2
,
x
best
S=2, x_{\text {best }}
S=2,xbest 为目前最优位置,
r
1
、
r
2
r_1 、 r_2
r1、r2 为两个区间为
[
0
,
1
]
[0,1]
[0,1] 的 随机数。
2.3 基于惯性权重因子的高斯变异
为了提高算法的收敛速度, 引人惯性权重因子, 惯性 权重因子定义如下:
w
=
1
−
(
t
/
MaxIter
)
2
(7)
w=1-(t / \text { MaxIter })^2 \tag{7}
w=1−(t/ MaxIter )2(7)
为了提高算法的全局搜索能力, 针对最优位置, 引入 惯性权重因子并采用高斯变异
[
9
]
{ }^{[9]}
[9] 进行变异, 然后采用贪 婪策略保留最优解。针对每个维度进行变异:
X
best
=
w
∗
X
best
(
j
)
+
rand
n
∗
X
best
(
j
)
(8)
X \operatorname{best}=w * X \operatorname{best}(j)+\operatorname{rand} n * X \operatorname{best}(j) \tag{8}
Xbest=w∗Xbest(j)+randn∗Xbest(j)(8)
采用贪婪策略进行适应度更新:
X
best
=
{
X
bestnew
,
if
f
(
X
bestnew
)
<
f
(
X
best
)
X
best
,
else
(9)
X \text { best }=\left\{\begin{array}{l} X \text { bestnew }, \text { if } \quad f(X \text { bestnew })<f(X \text { best }) \\ X \text { best }, \text { else } \end{array}\right. \tag{9}
X best ={X bestnew , if f(X bestnew )<f(X best )X best , else (9)
ISSA 算法步骤:
(1)利用 singer 映射策略初始化种群、迭代次数、捕 食者和加人者比列。
(2)计算适应度值, 并排序。
(3) 麻雀更新捕食者位置。
(4) 麻雀更新加人者位置。
(5)麻雀更新警戒者位置。
(6)计算适应度值并更新麻雀位置。
(7) 对所有麻雀利用翻筋斗策略进行更新
(8)对最优麻雀进行逐维惯性因子的高斯变异。
(9) 是否满足停止条件, 满足则退出, 输出结果, 否 则, 重复执行 (2)-(8)
3.实验结果
4.参考文献
[1]楚哲宇,唐秀英,谭庆,张清君.基于逐维高斯变异的混沌麻雀优化算法[J].自动化应用,2021(08):60-63.DOI:10.19769/j.zdhy.2021.08.019.