䲟鱼优化算法(Remora Optimization Algorithm,ROA)(原文作者)

您所在的位置:网站首页 reliefF算法啥时候提出的 䲟鱼优化算法(Remora Optimization Algorithm,ROA)(原文作者)

䲟鱼优化算法(Remora Optimization Algorithm,ROA)(原文作者)

2024-07-08 22:02:28| 来源: 网络整理| 查看: 265

䲟鱼优化算法(Remora Optimization Algorithm,ROA)(原文作者) 一、算法灵感二、算法介绍2.1 初始化阶段2.2 吸附跟随(探索阶段)2.2.1 SFO 策略2.2.2 经验积累 2.3 为吃着想(开发阶段)2.3.1 WOA 策略2.3.2 宿主边觅食 2.4 ROA的伪代码 三、实验结果3.1 F1收敛曲线3.2 F5收敛曲线3.3 F8收敛曲线 四、参考文献

一、算法灵感

  䲟鱼优化算法(Remora Optimization Algorithm, ROA)是2021年提出的一种元启发式优化算法,其灵感来自于海洋中䲟鱼的寄生行为。作为海洋中最聪明的鱼,为了免受敌人的入侵,同时也为了节省体力,䲟鱼会寄生在旗鱼、鲸鱼或其他生物上觅食。算法以䲟鱼寄生在旗鱼(Swordfish Optimization Algorithm, SFO)和鲸鱼(Whale Optimization Algorithm, WOA)身上为例。因此,ROA借鉴了SFO和WOA的部分更新公式,进行全局和局部的位置更新。此外,为了确定是否需要更换宿主,䲟鱼会在宿主周围进行小范围移动,即经验积累,若不需要更换宿主,则进行宿主边觅食。图1展示了䲟鱼捕食的详细过程。 SFO 策略

图1 䲟鱼捕食过程 二、算法介绍 2.1 初始化阶段

  在ROA中,初始化䲟鱼种群位置的计算公式如下: X i = l b + r a n d × ( u b − l b ) (1) {X_i} = lb + rand \times (ub - lb) \tag{1} Xi​=lb+rand×(ub−lb)(1)式中, X i {X_i} Xi​ 为个体 i {i} i 的位置, l b {lb} lb 和 u b {ub} ub 是搜索空间的下界和上界, r a n d {rand} rand 为 0 0 0 到 1 1 1 之间的随机数。

2.2 吸附跟随(探索阶段) 2.2.1 SFO 策略

  当䲟鱼吸附在旗鱼身上时,䲟鱼会跟随旗鱼移动。基于SFO算法的精英策略,对SFO算法的公式进行了改进,得到了以下公式: X i t + 1 = X B e s t t − ( r a n d × ( X B e s t t + X r a n d t 2 ) − X r a n d t ) (2) {X_i}^{t + 1} = {X^t_{Best}} - {\rm{(rand}} \times {\rm{(}}{{{X^t_{Best}} + {X^t_{rand}}} \over 2}{\rm{)}} - {X^t_{rand}}{\rm{)}} \tag{2} Xi​t+1=XBestt​−(rand×(2XBestt​+Xrandt​​)−Xrandt​)(2)其中, t {t} t 为当前迭代次数, X B e s t t {X^t_{Best}} XBestt​ 为当前最优䲟鱼个体, X r a n d t {X^t_{rand}} Xrandt​ 为当前随机䲟鱼个体。

2.2.2 经验积累

  当䲟鱼吸附宿主身上时,会根据上一代䲟鱼的位置与当前宿主的位置,在宿主周围进行小范围移动,判断是否需要更换宿主,该过程类似经验上的积累,其数学计算公式如下: X a t t = X i t + ( X i t − X p r e ) × r a n d n (3) {X_{att}} = {X_i}^t + {\rm{(}}{{\rm{X}}_i}^t - {X_{pre}}{\rm{)}} \times {randn} \tag{3} Xatt​=Xi​t+(Xi​t−Xpre​)×randn(3)其中, X a t t X_{att} Xatt​ 是䲟鱼的一次试探性移动, X p r e {X_{pre}} Xpre​ 表示上一代䲟鱼的位置,可以看做是一种经验, r a n d n randn randn 为 0 0 0 到 1 1 1 之间正态分布的随机数。   经过小范围移动之后,䲟鱼根会公式(4)判断是否需要切换宿主,切换宿主的公式如公式(5)所示: f ( X i t ) > f ( X a t t ) (4) f(X_i^t) > f({X_{att}}) \tag{4} f(Xit​)>f(Xatt​)(4) H ( i ) = r o u n d ( r a n d ) (5) H(i) = {\rm{round}}({rand}) \tag{5} H(i)=round(rand)(5)其中, H ( i ) H(i) H(i) 决定䲟鱼寄生的宿主,初始值为0或1,若 H ( i ) H(i) H(i) 等于0,则吸附鲸鱼,若 H ( i ) H(i) H(i) 等于1,则吸附旗鱼,round为四舍五入的函数, f ( X i t ) f(X_i^t) f(Xit​) 和 f ( X a t t ) f({X_{att}}) f(Xatt​) 分别为 X i t X_i^t Xit​ 与 X a t t X_{att} Xatt​ 的适应度值。

2.3 为吃着想(开发阶段) 2.3.1 WOA 策略

  当宿主为鲸鱼时,䲟鱼会跟随鲸鱼同步移动,其计算公式如下: X i t + 1 = D × e k × cos ⁡ ( 2 π a ) + X i t (6) {X_i}^{t + 1} = D \times {e^k} \times \cos {\rm{(}}2\pi a{\rm{)}} + {X_i}^t \tag{6} Xi​t+1=D×ek×cos(2πa)+Xi​t(6) D = ∣ X B e s t t − X i t ∣ (7) D = \left| {{X_{Best}}^t - {X_i}^t} \right| \tag{7} D= ​XBest​t−Xi​t ​(7) k = r a n d × ( a − 1 ) + 1 (8) k = {rand} \times {\rm{(}}a - 1{\rm{)}} + 1 \tag{8} k=rand×(a−1)+1(8) a = − ( 1 + t T ) (9) a = - {\rm{(}}1 + {t \over T}{\rm{)}} \tag{9} a=−(1+Tt​)(9)其中, D D D 表示更新前最优位置与当前位置之间的距离, k k k 为 − 1 -1 −1 到 1 1 1 之间的随机数, a a a 在迭代中会在 [ − 2 , 1 ] [-2,1] [−2,1] 之间线性递减, T T T 为最大迭代次数。

2.3.2 宿主边觅食

  宿主边觅食阶段是开发阶段的进一步细分,搜索范围减小,䲟鱼会在宿主周围寻找食物,不再考虑吸附,其数学计算公式如下: X i t + 1 = X i t + A (10) {X_i}^{t + 1} = {X_i}^t + A \tag{10} Xi​t+1=Xi​t+A(10) A = B × ( X i t − C × X B e s t ) (11) A = B \times {\rm{(}}X_i^t - C \times {X_{Best}}{\rm{)}} \tag{11} A=B×(Xit​−C×XBest​)(11) B = 2 × V × r a n d − V (12) B = 2 \times V \times {\rm{rand}} - V \tag{12} B=2×V×rand−V(12) V = 2 ∗ ( 1 − t T ) (13) V = 2*{\rm{(}}1 - {t \over T}{\rm{)}} \tag{13} V=2∗(1−Tt​)(13)其中, A A A 为䲟鱼移动的距离,其与䲟鱼和宿主体积有关,䲟鱼因子 C C C 用于限制䲟鱼的位置,其值为 0.1 0.1 0.1, B B B 用于模拟宿主的体积, V V V 用于模拟䲟鱼的体积。

2.4 ROA的伪代码 初始化䲟鱼数量 N N N 和最大迭代次数 T T T 等初始化种群: X i ( i = 1 , 2 , . . . , N ) X_i(i=1,2,...,N) Xi​(i=1,2,...,N)While t < T t f({X_{att}}) f(Xit​)>f(Xatt​) then      使用公式 (5) 切换宿主    Else      使用公式 (10) 进行宿主边觅食    End If  End For   t = t + 1 t=t+1 t=t+1End While返回吃的最饱的鱼(最优解) X b e s t X_{best} Xbest​ 三、实验结果

ROA在23个经典测试函数(设置维度 d i m = 30 dim=30 dim=30)的F1、F5、F8中的收敛曲线,测试函数公式如下:

函数公式理论值F1 F 1 ( x ) = ∑ i = 1 n x i 2 {F_1}(x) = \sum\nolimits_{i = 1}^n {x_i^2} F1​(x)=∑i=1n​xi2​ 0.00 0.00 0.00F5 F 5 ( x ) = ∑ i = 1 n − 1 [ 100 ( x i + 1 − x i 2 ) 2 + ( x i − 1 ) 2 ] {F_5}(x) = \sum\nolimits_{i = 1}^{n - 1} {[100{{({x_{i + 1}} - x_i^2)}^2} + {{({x_i} - 1)}^2}]} F5​(x)=∑i=1n−1​[100(xi+1​−xi2​)2+(xi​−1)2] 0.00 0.00 0.00F8 F 8 ( x ) = ∑ i = 1 n − x i sin ⁡ ( ∣ x i ∣ ) {F_8}(x) = \sum\nolimits_{i = 1}^n { - {x_i}\sin (\sqrt {|{x_i}|} )} F8​(x)=∑i=1n​−xi​sin(∣xi​∣ ​) − 418.9829 × d i m -418.9829×dim −418.9829×dim 3.1 F1收敛曲线

F1收敛曲线

3.2 F5收敛曲线

F5收敛曲线

3.3 F8收敛曲线

F8收敛曲线

四、参考文献

[1] 贾鹤鸣, 智能优化算法及 MATLAB 实现[M], 清华大学出版社, 2024. [2] Heming Jia, Xiaoxu Peng, Chunbo Lang. Remora optimization algorithm[J]. Expert Systems With Applications. 2021, 185, 115665.



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭