基于Sine混沌映射的麻雀搜索算法-附代码
基于Sine混沌映射的麻雀搜索算法
1.sine映射
sine映射是混沌映射的典型代表,它的数学形式很简单。其表达式如下:
x
k
+
1
=
a
4
s
i
n
(
π
x
k
)
,
a
∈
(
0
,
4
]
(1)
x_{k+1} =\frac{a}{4}sin(\pi x_k),a\in (0,4]\tag{1}
xk+1=4asin(πxk),a∈(0,4](1)
sine表达式中x的范围为[0,1]。sine映射迭代200次的分布如下图所示:
从图种可以看出,sine映射分布在[0,1]之间,其混沌性来代替随机初始化,能够使种群在搜索空间更加均匀的分布。
2.基于sine映射的麻雀搜索算法
基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958
该改进主要是在初始化种群时,利用sine映射初始化种群
算法流程
Step1: 利用sine映射策略初始化种群,迭代次数,初始化捕食者和加入者比列。
Step2:计算适应度值,并排序。
Step3:麻雀更新捕食者位置。
Step4:麻雀更新加入者位置。
Step5:麻雀更新警戒者位置。
Step6:计算适应度值并更新麻雀位置。
Step7:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-6;
3.算法结果:
4.Matlab
5.python
相关文章
- SpringBoot注解把配置文件自动映射到属性和实体类实战
- 数据上下文dbcontext添加数据与Database数据库的分库分表,表映射,切换表,使用到了IModelCacheKeyFactory代码如下:
- 最全三大框架整合(使用映射)——数据库资源文件jdbc.properties
- 最全三大框架整合(使用映射)——applicationContext.xml里面的配置
- 最全三大框架整合(使用映射)——DeptAction.java
- 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (#1113)
- 【HIBERNATE框架开发之七】HIBERNATE使用ANNOTATION中各种关系映射的CRUD(增删改查)&&集合映射&&继承映射
- 《从零开始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射
- SAP Spartacus后台CMS Component和Angular Component的映射关系
- 使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法
- JavaScript Source Code映射引起的一个SAP C4C代码调试问题
- 一种基于Tent 映射的混合灰狼优化的改进算法-附代码
- 基于Chebyshev混沌映射的麻雀搜索算法-附代码
- 基于Piecewise混沌映射的麻雀搜索算法-附代码
- 基于Circle混沌映射的麻雀搜索算法-附代码
- 451. 根据字符出现频率排序-字符映射法+快速排序
- 《一切皆是映射:代码的本质》哈希算法 (Hash)
- 【Linux 内核 内存管理】内存管理系统调用 ④ ( 代码示例 | mmap 创建内存映射 | munmap 删除内存映射 )
- Hibernate之关联关系映射(一对一主键映射和一对一外键映射)
- ORMBase对象/关系型数据库映射在MVC中的应用(二)
- [springMVC学习]2、@RequestMapping请求映射