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


文章目录

  • 基于反向学习策略的麻雀搜索算法
  • 1.反向学习策略
  • 2.基于反向学习策略的麻雀搜索算法
  • 3.算法结果:
  • 4.Matlab代码
  • 5.python代码


1.反向学习策略

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

定义1. 反向点。假设在基于反向策略的麻雀搜索算法 -附代码_算法上存在数 基于反向策略的麻雀搜索算法 -附代码_搜索算法_02,则 基于反向策略的麻雀搜索算法 -附代码_搜索算法_02 的反向点定义为 基于反向策略的麻雀搜索算法 -附代码_初始化_04。将反向点的定义扩展到 基于反向策略的麻雀搜索算法 -附代码_搜索算法_05 维空间,设 基于反向策略的麻雀搜索算法 -附代码_搜索算法_06基于反向策略的麻雀搜索算法 -附代码_搜索算法_05 维空间中的一个点,其中 基于反向策略的麻雀搜索算法 -附代码_算法_08基于反向策略的麻雀搜索算法 -附代码_python_09,则其反向点 基于反向策略的麻雀搜索算法 -附代码_算法_10,其中基于反向策略的麻雀搜索算法 -附代码_python_11

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

a) 在搜索空间中随机初始化 N 个麻雀个体位置基于反向策略的麻雀搜索算法 -附代码_python_12作为初始种群基于反向策略的麻雀搜索算法 -附代码_python_13;

b) 根据定义 1,初始种群基于反向策略的麻雀搜索算法 -附代码_python_13中的每个麻雀个体 基于反向策略的麻雀搜索算法 -附代码_初始化_15 的反向
个体 基于反向策略的麻雀搜索算法 -附代码_算法_16 构成反向种群 基于反向策略的麻雀搜索算法 -附代码_搜索算法_17;

c) 合并种群 基于反向策略的麻雀搜索算法 -附代码_python_13基于反向策略的麻雀搜索算法 -附代码_搜索算法_17,将其 2N 个麻雀个体按照适应度值
进行升序排序,选取适应度值前 N 个麻雀个体作为初始种群。

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

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

算法流程

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

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

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

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

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

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

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

3.算法结果:

基于反向策略的麻雀搜索算法 -附代码_初始化_20

4.Matlab代码

5.python代码