基于Logistic混沌映射的麻雀搜索算法
1.Logistic映射
Logistic 映射是混沌映射的典型代表,它的数学形式很简单。其表达式如下:
y
n
(
t
)
=
b
y
n
(
t
+
1
)
(
1
−
y
n
(
t
−
1
)
)
(1)
y_n(t) = by_n(t+1)(1-y_n(t-1))\tag{1}
yn(t)=byn(t+1)(1−yn(t−1))(1)
表达式中,
y
n
∈
[
0
,
1
]
y_n\in [0,1]
yn∈[0,1],括号中的
t
t
t 代表当前的迭代数,参数
b
b
b 一般的取值范围是:
1
≤
b
≤
4
1\leq b \leq 4
1≤b≤4,一般取 4,是一个控制参数。
b
b
b 决定了 Logistic 映射的演变过程。当参数
b
b
b增大时,映射序列的取值范围也增大,映射分布更加均匀。当
b
b
b 取值 4 时,系统处于完全混沌状态下,此时的映射分布均匀性达到巅峰。初始条件
y
0
y0
y0 在 Logistic 映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。
2.基于Logistic映射的麻雀搜索算法
基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958
该改进主要是在初始化种群时,利用Logistic映射初始化种群
算法流程
Step1: 利用Logistic映射策略初始化种群,迭代次数,初始化捕食者和加入者比列。
Step2:计算适应度值,并排序。
Step3:麻雀更新捕食者位置。
Step4:麻雀更新加入者位置。
Step5:麻雀更新警戒者位置。
Step6:计算适应度值并更新麻雀位置。
Step7:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-6;