智能优化算法:爬行动物搜索算法-附代码
智能优化算法:爬行动物搜索算法
文章目录
- 智能优化算法:爬行动物搜索算法
- 1.算法原理
- 1.1 初始化
- 1.2 包围阶段(探索)
- 1.3 狩猎阶段(开发)
- 2.实验结果
- 3.参考文献
- 4.Matlab
摘要:爬行动物搜索算法(Reptile search algorithm, RSA)是于2021年提出的一种新型智能优化算法。该算法主要模拟鳄鱼的捕食行为,来实现寻优求解,具有收敛速度快,寻优能力强的特点。
1.算法原理
1.1 初始化
与其他优化算法一样,种群在搜索空间内随机初始化:
xi,j=rand×(UB−LB)+LB,j=1,2,⋯,n(1)x_{i, j}=\operatorname{rand} \times(U B-L B)+L B, j=1,2, \cdots, n \tag{1} xi,j=rand×(UB−LB)+LB,j=1,2,⋯,n(1)
xi,jx_{i,j}xi,j表示第iii个候选解第jjj维的位置;NNN为候选解的数量;nnn为给定问题的维度。randrandrand是[0,1]之间的随机数,LBLBLB和UBUBUB分别表示给定问题的下界和上界。
1.2 包围阶段(探索)
这个搜索阶段取决于两个条件。高空行走策略取决于t≤T/4t\leq T/4t≤T/4,腹部行走策略取决于T/4<t≤T/2T/4<t \leq T/2T/4<t≤T/2。这意味着:这一条件将满足几乎一半的探索迭代次数(高空行走)和另一半的腹部行走。这是两种探索搜索方法。注意,对元素的随机比例系数进行检查,以生成更多不同的解决方案并探索不同的区域。探索阶段的位置更新方程,如式(2)所示。
x(i,j)(t+1)={Best j(t)−η(i,j)(t)×β−R(i,j)(t)×rand ,t≤T4Best j×x(r1,j)×ES(t)×rand ,t≤T2and t>T4(2)x_{(i, j)}(t+1)=\left\{\begin{array}{l} \text { Best }_{j}(t)-\eta_{(i, j)}(t) \times \beta-R_{(i, j)}(t) \times \text { rand }, \quad t \leq \frac{T}{4} \\ \text { Best }_{j} \times x_{(r 1, j)} \times E S(t) \times \text { rand }, \quad t \leq \frac{T}{2} \text { and } t>\frac{T}{4} \end{array}\right.\tag{2} x(i,j)(t+1)={ Best j(t)−η(i,j)(t)×β−R(i,j)(t)× rand ,t≤4T Best j×x(r1,j)×ES(t)× rand ,t≤2T and t>4T(2)
其中,BestjBest_jBestj 是当前最优解的第 jjj 维位置; randrandrand 为 (0,1) 之间的随机数; ttt 为当前迭代次数; TTT为最大迭代次数; η(i,j)\eta_{(i, j)}η(i,j) 表示第 iii 个候选解第jjj维的狩猎算子,计算如式(3)所示; β\betaβ 是一个敏感参数,控制迭代过程中包围阶段的探索精度(即高空行走),固定为0.1;缩减函数 R(i,j)(t)R_{(i, j)} (t)R(i,j)(t) 是一个用于减少搜索区域的值,使用式(4)计算; r1r_{1}r1 是 [1,N][1, N][1,N]之间的随机整数, x(r1,j)x_{(r 1, j)}x(r1,j) 表示第r1r_{1}r1个随机候选解的第 jjj维位置; NNN是候选解数 量;进化因子 ES(t)ES(t)ES(t) 是一个概率比,在整个迭代过程中,取值在2和-2之间随机递减,使用式(5)计算。
η(i,j)=Bestj(t)×P(i,j)(3)\eta_{(i, j)}=\operatorname{Best}_{j}(t) \times P_{(i, j)} \tag{3} η(i,j)=Bestj(t)×P(i,j)(3)
R(i,j)=Bestj(t)−x(r2,j)Bestj(t)+ε(4)R_{(i, j)}=\frac{\operatorname{Best}_{j}(t)-x_{(r_2, j)}}{\operatorname{Best}_{j}(t)+\varepsilon}\tag{4} R(i,j)=Bestj(t)+εBestj(t)−x(r2,j)(4)
ES(t)=2×r3×(1−tT)(5)E S(t)=2 \times r_{3} \times\left(1-\frac{t}{T}\right) \tag{5} ES(t)=2×r3×(1−Tt)(5)
其中, ε\varepsilonε 是一个很小的正数; r2r_{2}r2 是 $[1, N] $的随机整数; r3r_{3}r3 表示 [−1,1][-1,1][−1,1] 之间的随机整数; $P_{(i, j)} 表示最佳解和当前解第表示最佳解和当前解第表示最佳解和当前解第 j $维位置的百分比差异,计算如式(6)所示。
P(i,j)=α+x(i,j)−M(xi)Bestj(t)×(UB(j)−LB(j))+ε(6)P_{(i, j)}=\alpha+\frac{x_{(i, j)}-M\left(x_{i}\right)}{\operatorname{Best}_{j}(t) \times\left(U B_{(j)}-L B_{(j)}\right)+\varepsilon}\tag{6} P(i,j)=α+Bestj(t)×(UB(j)−LB(j))+εx(i,j)−M(xi)(6)
其中, $M\left(x_{i}\right) 表示第表示第表示第i$个候选解的平均位置,其计算如式(7)所示; UB(j)U B_{(j)}UB(j)和 LB(j)L B_{(j)}LB(j)分别表示第jjj维位置的上界和下界; α\alphaα是一个敏感参数,用于控制迭代过程中狩猎合作的搜索精度(候选解之间的差异),本文将其固定为 0.1 。
M(xi)=1n∑j=1nx(i,j)(7)M\left(x_{i}\right)=\frac{1}{n} \sum_{j=1}^{n} x_{(i, j)} \tag{7} M(xi)=n1j=1∑nx(i,j)(7)
1.3 狩猎阶段(开发)
RSA的开发机制利用了搜索空间,并基于两种主要的搜索策略(狩猎协调和狩猎合作)找到了最优解,模型如式(8)所示。狩猎协调操作取决于t≤3T4t \leq 3 \frac{T}{4}t≤34T和t>2T4t>2 \frac{T}{4}t>24T,狩猎合作操作取决于t≤Tt \leq Tt≤T和 t>3T4t>3 \frac{T}{4}t>34T 。
x(i,j)(t+1)={Bestj(t)×P(i,j)(t)×rand,wT4<t≤3T4Bestj(t)−η(i,j)(t)×ε−R(i,j)(t)×rand,3T4<t<T(8)x(i,j)(t+1)=\begin{cases} Best_j(t)\times P(i,j)(t)\times rand,\quad w\frac{T}{4}<t\leq \frac{3T}{4}\\ Best_j(t)-\eta_{(i, j)}(t)\times\varepsilon-R(i,j)(t)\times rand,\quad 3\frac{T}{4}<t<T \end{cases}\tag{8} x(i,j)(t+1)={Bestj(t)×P(i,j)(t)×rand,w4T<t≤43TBestj(t)−η(i,j)(t)×ε−R(i,j)(t)×rand,34T<t<T(8)
其中Bestj(t)Best_j(t)Bestj(t)表示当前第jjj维的最佳位置;η(i,j)\eta_{(i,j)}η(i,j)表示第iii个候选解第jjj维的狩猎算子,计算如式(3)所示;P(i,j)P_{(i,j)}P(i,j)表示最佳解和当前解第jjj维位置的百分比差异,计算如式(6)所示;ε\varepsilonε是一个很小的正数;缩减函数R(i,j)R_{(i,j)}R(i,j)是一个用于减少搜索区域的值,使用式(4)计算。
算法流程图如下:
2.实验结果
3.参考文献
[1] Abualiga H L , Elaziz M A , Sumari P , et al. Reptile Search Algorithm (RSA): A nature-inspired meta-heuristic optimizer[J]. Expert Systems with Applications, 2021, 191(11):116158.
4.Matlab
智能优化算法:爬行动物搜索算法-附代码相关推荐
- 【9种优化算法比较】CGO、SCA、GWO、CSA、SSA、HHO、WOA、PSO、TSO智能优化算法比较(Matlab代码实现)
- 《Python智能优化算法:从原理到代码实现与应用》出版啦
<Python智能优化算法:从原理到代码实现与应用> 各位亲爱的小伙伴,让各位久等了.我们撰写的<Python智能优化算法:从原理到代码实现与应用>由电子工业出版社出版了. 本 ...
- 浣熊优化算法(COA)(含MATLAB代码)
先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...
- 智能优化算法:闪电搜索算法-附代码
智能优化算法:闪电搜索算法-附代码 文章目录 智能优化算法:闪电搜索算法-附代码 1.算法原理 1.1 过渡放电体 1.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...
- 智能优化算法:布谷鸟搜索算法-附代码
智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...
- 智能优化算法:麻雀搜索算法-附代码
2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...
- 麻雀优化算法_多种智能优化算法应用案例分享-附代码
1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客blog.csdn.net 2.智能优化算法 ...
- gwo算法matlab源代码,智能优化算法应用:基于GWO优化BP神经网络 - 附代码
智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 文章目录智能优化算法应用:基于GWO优 ...
- 【智能优化算法】基于全局优化的改进鸡群算法求解单目标优化问题(ECSO)附matlab代码
1 简介 智能算法分为两种,一种是群体智能算法(swarmintelligencealgorithm),该算法大多模拟自然界中动植物的特有行为,并将其表达成数学语言,从而进行迭代寻优,如模拟蝙蝠回声定 ...
最新文章
- js 对有“命名空间”的表单做深度解析
- PSSH远程套件工具
- Java提升篇:理解String 及 String.intern() 在实际中的应用
- mySql安装时常见问题处理
- Win10:tensorflow 学习笔记(1)
- java 集合类简单的分析1
- Pyrex也许是一个好东西
- asp.net2.0跨域问题
- BestCoder Round #39 解题报告
- 这项技术竟然一个字也不放过!
- 排列公式和组合公式_排列与组合:排列公式与组合公式之间有什么区别?
- centos7和scientific linux7里面调出中文输入法
- Linux 进程内存掉电保存,Shell脚本可在Linux断电时停止应用程序
- 要点初见:用Python进行微观交通模型仿真——基于SUMO的伯克利开源项目Flow Project初探与拓展
- win10官网下载ios文件操作指南
- JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)
- 智能门锁电路图_智能门锁结构拆解,我们一起来看看
- 在线制作html个人简历,HTML制作个人简历的简单实现
- 午夜时分,当你看到选择心动秘书的游戏广告,能用Python做什么?
- 华为云ECS服务器中通过docker部署jenkins
热门文章
- visio 2007:方向键无法移动图像解决方法
- microsoft office visio 2007 安装过程中出错的解决(直接看后面)
- 浪潮server 2008服务器自动重启,Windows Server 2008 R2不定时自动重启,求解决办法。...
- 软件工程工作量评估中的ILF,EIF,EI,EO,EQ术语解释
- Karl Guttag:Niantic户外AR参考设计或采用Lumus光波导
- 海康威视错误代码说明(三)(错误代码:31~46)
- java 椭圆拟合,OpenCV画轮廓的外界圆矩形椭圆等
- 转:S3C2440上LCD驱动(FrameBuffer)实例开发详解
- 《学习如何学习》Week1 3.4 名人采访3: 如何写作?
- Zigbee 概念理解