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

举报
海神之光 发表于 2022/06/28 22:17:37 2022/06/28
【摘要】 一、获取代码方式 获取代码方式1: 完整代码已上传我的资源:【优化算法】基于matlab反向策略的麻雀搜索算法【含Matlab源码 1918期】 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付...

一、获取代码方式

获取代码方式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 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/125470280

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。