• 【优化算法】基于matlab反向策略的麻雀搜索算法【含Matlab源码 1918期】


    一、获取代码方式

    获取代码方式1:
    完整代码已上传我的资源:【优化算法】基于matlab反向策略的麻雀搜索算法【含Matlab源码 1918期】

    获取代码方式2:
    通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

    备注:
    订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

    二、反向策略的麻雀搜索算法简介

    1 基本SSA
    自然界中麻雀种群内部存在明显分工,根据其捕食与反捕食习性,SSA将麻雀种群中成员分为发现者、跟随者、预警者3类。发现者是具有最高适应度的成员,其搜索范围最广,可引导种群觅食。加入者根据其适应度的高低分为2组,适应度高的加入者向发现者位置移动,追求更高的适应度;适应度低的加入者由于距离发现者过远,会自行寻找食物,若寻找到食物,则转变为发现者,因此发现者与跟随者的身份是动态变化的,但发现者与跟随者占种群的比例不变。预警者是位于种群边缘的部分个体,若发生危险,会立即提醒种群进行反捕食行为,逃避危险。

    设定在D维空间中,由M只麻雀组成的种群在觅食,第i只麻雀的位置为Xi=[xi1xi2 … xiD],其中i=1,2,…,M。根据SSA的运算规则,对麻雀个体位置更新规则进行设定。

    发现者位置更新规则为:
    在这里插入图片描述
    式中:T为当前迭代次数;j=1,2,…,D;xij,T为当前个体i在j维空间位置,xij,T+1为下次迭代时个体i在j维空间位置;α为(0,1]之间均匀分布的随机数;Titer 为算法最大迭代次数;Q为服从正态分布的随机数;Lj为1行D维全1矩阵L的元素;R(R∈[0,1])为预警值;ST(ST∈[0.5,1])为安全值。当R<ST时,麻雀个体可在边界内广泛搜索;当R≥ST时,预警者发出警报,种群个体做出反捕食行为。

    加入者位置更新规则为:
    式中:A为1行D维矩阵,其元素随机为1或-1,A+=AT(AAT)-1。将式(2)简化,可得:

    xij,T+1=
    在这里插入图片描述
    式中:xij,T,w为第T次迭代时麻雀种群在第j维空间的全局最差位置;xij,T,b为第T次迭代时麻雀种群在第j维空间的全局最优位置;rand{−1,1}为-1至1间的随机数。当i>M/2时,表明加入者没有获得食物,适应度较差,会自行向其他位置移动寻找食物;当i≤M/2时,加入者适应度较高,向发现者位置移动进行觅食。

    预警者位置更新规则为:
    在这里插入图片描述
    式中:β为均值为0、方差为1的正态分布随机数,用于控制每次迭代的步长;ε为极小的数,以防止分母为0;K为[-1,1]间的均匀随机数;fi为当前麻雀个体的适应度值;fg,fw分别为第T次迭代时麻雀种群的全局最优适应度值和最差适应度值。当fi=fg时,预警者在种群最优位置发现危险,立即向种群中其他位置移动;当fi≠fg时,预警者在种群边缘发现危险,向当前种群最优位置移动逃避。

    2 反向学习策略
    反向学习策略是一种可以提高群优化算法搜索能力的方法[18],主要思想是在当前个体所在区域产生反向个体,并在反向个体与当前个体中选取适应度高的个体进行算法迭代。

    已知处于D维空间的麻雀个体位置为Xi=[xi1xi2 … xiD],满足xij∈[ui,li]的边界条件,令其产生的反向个体为Xi=[xi1xi2 … xiD],其中x*ij=li+ui-xij。当初始麻雀种群个体数为W时,反向麻雀种群个体数同样为W。将初始麻雀种群与反向麻雀种群合并,按照适应度大小进行排序,选取适应度最高的W只麻雀个体进入下一轮迭代,以达到拓宽种群搜索面积,提高种群多样性的目的。

    三、部分源代码

    clear all 
    clc
    
    • 1
    • 2

    四、运行结果

    在这里插入图片描述

    五、matlab版本及参考文献

    1 matlab版本
    2014a

    2 参考文献
    [1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
    [2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
    [3]宋扬,石勇,刘宝泉,康家玉.基于反向变异麻雀搜索算法的微电网优化调度[J].电力工程技术. 2022,41(02)

    3 备注
    简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 相关阅读:
    博通BCM575系列 RDMA 网卡驱动 bnxt_re 分析(一)
    汇凯金业:黄金期货交易时间规则
    Go 命令
    跑步耳机哪款好用,五款适合跑步的排行榜
    【算法】【递归与动态规划模块】数组字符串转字母的所有种数
    11月外贸新规
    深度强化学习(Deep Reinforcement Learning, DRL)阶段性学习汇总(二)
    vue2升级vue3:vue2 vue-i18n 升级到vue3搭配VueI18n v9
    每日一题 2651. 计算列车到站时间
    jwt判断解析失败还是令牌过期
  • 原文地址:https://blog.csdn.net/TIQCmatlab/article/details/125470280