zl程序教程

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

当前栏目

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

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

基于Sinusoidal混沌映射的麻雀搜索算法

1.Sinusoidal映射

Sinusoidal映射是混沌映射的典型代表,它的数学形式很简单。其表达式如下:
x k + 1 = a x k 2 s i n ( π x k ) , a = 2.3 , x 0 = 0.7 (1) x_{k+1} =ax_k^2sin(\pi x_k),a=2.3,x_0 =0.7\tag{1} xk+1=axk2sin(πxk),a=2.3,x0=0.7(1)
迭代表达式中a的范围为[0,1],x的范围为[0,1]。Sinusoidal映射迭代200次的分布如下图所示:

请添加图片描述

从图种可以看出,Sinusoidal映射分布在[0,1]之间,其混沌性来代替随机初始化,能够使种群在搜索空间更加均匀的分布。

2.基于Sinusoidal映射的麻雀搜索算法

基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958

该改进主要是在初始化种群时,利用Sinusoidal映射初始化种群

算法流程

Step1: 利用Sinusoidal映射策略初始化种群,迭代次数,初始化捕食者和加入者比列。

Step2:计算适应度值,并排序。

Step3:麻雀更新捕食者位置。

Step4:麻雀更新加入者位置。

Step5:麻雀更新警戒者位置。

Step6:计算适应度值并更新麻雀位置。

Step7:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-6;

3.算法结果:

请添加图片描述

4.Matlab

5.python