zl程序教程

您现在的位置是:首页 >  后端

当前栏目

基于Logistic混沌映射的麻雀搜索算法 -附代码

映射代码 基于 搜索算法 混沌 Logistic 麻雀
2023-09-14 09:06:13 时间

基于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)(1yn(t1))(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 1b4,一般取 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;

3.算法结果:

请添加图片描述

4.Matlab

5.Python