基于反向策略的麻雀搜索算法 -附代码

基于反向学习策略的麻雀搜索算法

1.反向学习策略

反向学习策略是由 Tizhoosh 于 2005 年提出的,目前已在 GA、DE、ACO 和 BBO 等群体智能优化算法中得到了成功的应用。

定义1. 反向点。假设在 [ l , u ] [l,u] [lu]上存在数 x x x,则 x x x 的反向点定义为 x ′ = l + u - x x' = l + u - x x=l+ux。将反向点的定义扩展到 D D D 维空间,设 p = ( x 1 , x 2 , … , x D ) p =(x_1 ,x_2 ,…,x_D ) p=(x1x2xD) D D D 维空间中的一个点,其中 x i ∈ [ l i , u i ] x_i ∈[l_i ,u_i ] xiliui i = 1 , 2 , … , D i =1,2,…,D i=12D,则其反向点 p ′ = ( x 1 ′ , x 2 ′ , … , x D ′ ) p' = (x'_1 ,x'_2 ,…,x'_D ) p=(x1x2xD),其中 x i ′ = l i + u i − x i x'_i = l_i +u_i-x_i xi=li+uixi

根据上述定义,采用反向学习策略来产生初始种群个体的
步骤如下:

a) 在搜索空间中随机初始化 N 个麻雀个体位置 x i , j ( i = 1 , 2 , . . . , D ; j = 1 , 2 , . . . , N ) x_{i,j}(i=1,2,...,D;j=1,2,...,N) xi,j(i=1,2,...,D;j=1,2,...,N)作为初始种群 R P RP RP;

b) 根据定义 1,初始种群 R P RP RP中的每个麻雀个体 x i x_i xi 的反向
个体 x i ′ x'_i xi 构成反向种群 O P OP OP;

c) 合并种群 R P RP RP O P OP OP,将其 2N 个麻雀个体按照适应度值
进行升序排序,选取适应度值前 N 个麻雀个体作为初始种群。

2.基于反向学习策略的麻雀搜索算法

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

该改进主要是在初始化种群时,利用反向学习策略初始化种群

算法流程

Step1: 利用反向学习策略初始化种群,迭代次数,初始化捕食者和加入者比列。

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

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

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

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

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

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

3.算法结果:

请添加图片描述

4.Matlab代码

5.python代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值