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

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

1.Tent映射

请添加图片描述

图1.Tent映射形态

Tent 映射又称帐篷映射,是一种分段线性映射函数。之所以称为“帐篷”,是因为它的映射形态图形状类似一个帐篷,如图1 所示。Tent 映射结构简单,且映射呈现的结果分布密度比较均匀,具有有很好的遍历性。表达式为:
x n + 1 = { 2 x n , 0 ≤ x n < 0.5 2 ( 1 − x n ) , 0.5 ≤ x n ≤ 1 (1) x_{n+1} = \begin{cases}2x_n ,0\leq x_n<0.5\\ 2(1-x_n),0.5\leq x_n\leq 1 \end{cases} \tag{1} xn+1={2xn,0xn<0.52(1xn),0.5xn1(1)
这是在取参数 a=5.0 时的表达式。Tent 映射原本的数学表达式是:
x n + 1 = { x n a , ( 0 < x n < a ) 1 − x n 1 − a , ( 0 ≤ x n ≤ 1 ) (2) x_{n+1} = \begin{cases} \frac{x_n}{a},(0<x_n<a)\\ \frac{1-x_n}{1-a},(0\leq x_n\leq1) \tag{2} \end{cases} xn+1={axn,(0<xn<a)1a1xn,(0xn1)(2)
其中,当 a∈)1,0( , xn∈)1,0( 时,系统处于混沌状态下。可以从它的表达式看出,Tent 算法涉及的参数较少,操作比较简单。这里,设置系数 a=3.0 ,,初始值 x =0.32 ,将 Tent 映射迭代 200 次,得到的[0,1]区间范围内值的分布情况图如 2所示中可以看出,Tent 映射分布较均匀,在(0,1)区间内都有取值。
请添加图片描述

图2.Tent映射分布图

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

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

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

算法流程

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

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

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

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

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

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

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

3.算法结果:

请添加图片描述

4.Matlab代码

5.Python代码

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值