改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

这篇具有很好参考价值的文章主要介绍了改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、沙猫群优化算法灵感

  沙猫群优化算法(Sand Cat Swarm Optimization, SCSO)的灵感受自然界中沙猫(沙丘猫)行为的启发。沙猫拥有检测低频噪声的能力,无论猎物在地面还是在地下,沙猫都能找到猎物。由于这一重要的特性,它可以快速地捕捉猎物。沙猫群优化算法模拟了沙猫的两个主要行为:搜寻猎物和攻击猎物。由于自然界中的沙丘猫是独立生活的,为了提出种群智能的概念,假设沙丘猫是群体性的。

二、沙猫群优化算法介绍

2.1 初始化

  在 d i m dim dim 维优化问题中,每只沙猫都是一个 1 × d i m 1×dim 1×dim 阵列,它表示问题的解,如图1所示。在一组变量值 ( P o s 1 , P o s 2 , . . . , P o s d i m ) (Pos_1, Pos_2, ..., Pos_{dim}) (Pos1,Pos2,...,Posdim)中,每个 P o s Pos Pos 必须位于下边界和上边界之间。在初始化算法中,首先根据问题的大小 ( N × d i m ) (N×dim) (N×dim)创建一个初始化矩阵。此外,在每一次的迭代中都会输出对应的解。当下一次输出的值更优,则会替换当前的解。如果在下一次迭代中没有找到更好的解决方案,那么,这次迭代的解决方案就不会存储。
改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图1 沙猫初始化过程

2.2 搜索猎物(探索阶段)

  沙猫的猎物搜索机制依赖于低频噪声发射。每只沙猫的位置都表示为 P o s i Pos_i Posi 。SCSO算法受益于沙猫在低频检测中的听力能力,每一只沙猫都能感知到2KHz以下的低频。因此,在数学建模中,通过公式(1)定义敏感度 r G r_G rG,使沙丘猫的敏感范围为2kHz到0。另外,根据等式(2)获得参数 R R R 并控制算法探索和开发能力。
r G = S M − ( S M × t T ) (1) {r_G} = {S_M} - ({{{S_M} \times t} \over T}) \tag{1} rG=SM(TSM×t)(1) R = 2 × r G × r a n d ( 0 , 1 ) − r G (2) R = 2 \times {r_G} \times rand(0,1) - {r_G} \tag{2} R=2×rG×rand(0,1)rG(2)其中, S M S_M SM 模拟了沙丘猫的听觉特性值为2, t t t 是当前迭代次数, T T T 是最大迭代次数。
  在搜索猎物时,每只沙猫会在敏感度范围内随机寻找一个新的位置。这样更有利于算法的探索和开发。为避免陷入局部最优,每只沙丘猫的灵敏度范围是不同的。
r = r G × r a n d ( 0 , 1 ) (3) r = {r_G} \times rand(0,1) \tag{3} r=rG×rand(0,1)(3)其中, r r r 用于探索或开发阶段的操作, r G r_G rG 用于导引参数 R R R 实现这两个阶段的转移。
  每只沙猫会根据最优候选位置 ( P o s b c ) (Pos_{bc}) (Posbc),当前位置 ( P o s c ( t ) ) (Pos_c(t)) (Posc(t))和其灵敏度范围®进行搜索猎物的位置,具体公式如(4)所示。
P o s ( t + 1 ) = r × ( P o s b c ( t ) − r a n d ( 0 , 1 ) × P o s c ( t ) ) (4) Pos(t + 1) = r \times (Po{s_{bc}}(t) - rand(0,1) \times Po{s_c}(t)) \tag{4} Pos(t+1)=r×(Posbc(t)rand(0,1)×Posc(t))(4)

2.3 攻击猎物(开发阶段)

  为模拟沙猫攻击猎物的过程,沙猫与猎物的距离 ( P o s r n d ) (Pos_{rnd}) (Posrnd)由公式(5)计算。同时,假设沙丘猫的灵敏度范围是一个圆,移动的方向利用轮盘选择算法为每只沙丘猫选择一个随机角度 ( α ) (α) (α)。由于所选的随机角度在0度到360度之间,其值在−1到1之间。这样,群体中的每个成员都能够在搜索空间中沿着不同的圆周方向移动,如图2所示。之后,根据公式(6)攻击猎物。用这种方法,沙丘猫可以更快接近狩猎位置。
p o s r n d = ∣ r a n d ( 0 , 1 ) × p o s b ( t ) − p o s c ( t ) ∣ (5) po{s_{rnd}} = |rand(0,1) \times po{s_b}(t) - po{s_c}(t)| \tag{5} posrnd=rand(0,1)×posb(t)posc(t)(5) p o s ( t + 1 ) = P o s b ( t ) − r × P o s r n d × cos ⁡ ( α ) (6) pos(t + 1) = Po{s_b}(t) - r \times {\rm{ }}Po{s_{rnd}} \times \cos (\alpha ) \tag{6} pos(t+1)=Posb(t)r×Posrnd×cos(α)(6)改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图2 沙猫群在 t 次迭代的位置

改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图3 沙猫群在 t+1 次迭代的位置

三、改进的沙猫群优化算法

3.1 游走策略

3.1.1 三角形游走策略

  在沙猫进行搜索过程中,沙猫会逐渐的向猎物靠近。三角游走策略是沙猫在靠近猎物的同时在周围进行游走。首先,得到沙猫和猎物之间的距离 L 1 L_1 L1,在获得沙猫游走的步长范围 L 2 L_2 L2,之后,根据公式(9)定义行走的方向 β β β L 1 L_1 L1 L 2 L_2 L2 的如公式(7)和(8)所示。获得 L 1 L_1 L1 L 2 L_2 L2 后,通过公式(10)求出游走所得的位置与猎物之间的距离 P P P。具体如图4所示。之后,通过公式(11)获得沙猫游走后得到的位置。
L 1 = p o s b ( t ) − p o s c ( t ) (7) {L_1} = po{s_b}(t) - po{s_c}(t) \tag{7} L1=posb(t)posc(t)(7) L 2 → = r a n d ( ) × L 1 → (8) \overrightarrow {{L_2}} = rand() \times \overrightarrow {{L_1}} \tag{8} L2 =rand()×L1 (8) β = 2 × p i × r a n d ( ) (9) \beta {\rm{ = 2}} \times pi \times rand() \tag{9} β=2×pi×rand()(9) P = L 1 2 + L 2 2 − 2 × L 1 × L 2 × cos ⁡ ( β ) (10) P = {L_1}^2 + {L_2}^2 - 2 \times {L_1} \times {L_2} \times \cos (\beta ) \tag{10} P=L12+L222×L1×L2×cos(β)(10) P o s n e w = p o s b ( t ) + r × P (11) Po{s_{new}} = po{s_b}(t) + r \times P \tag{11} Posnew=posb(t)+r×P(11)其中, P o s n e w Pos_{new} Posnew 是通过游走策略获得的位置。

3.1.2 Levy飞行游走策略

  在攻击猎物时,沙猫与猎物的距离十分的接近。Levy飞行是一种非常有效的提供随机因子的数学方法。Levy飞行可以提供步长符合Levy分布的随机游走方法。但Levy飞行有时步长过长,为了更加符合沙猫攻击猎物的行为,在Levy飞行乘以常数 C = 0.35 C=0.35 C=0.35,从而减少步长,使沙猫尽可能在猎物旁边进行游走,如图5所示。Levy飞行游走策略的公式如(12)所示。
P o s n e w = p o s b ( t ) + ( p o s b ( t ) − p o s c ( t ) ) × C × L e v y (12) Po{s_{new}} = po{s_b}(t) + (po{s_b}(t) - po{s_c}(t)) \times C \times Levy \tag{12} Posnew=posb(t)+(posb(t)posc(t))×C×Levy(12)
改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图4 三角游走策略

改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图5 levy飞行游走策略

3.2 透镜成像反向学习

  透镜成像反向学习主要的思想是以当前坐标为基准通过凸透镜成像的原理生成一个反向位置来扩大搜索范围,这样可以既能跳出当前位置,又可以扩大搜索范围,提高了种群的多样性。由图6可知,在二维坐标中, x x x 轴的搜索范围是 ( a , b ) (a,b) (a,b) y y y 轴表示凸透镜。假设一个物体 A A A x x x 轴上的投影是 x x x,高度是 h h h,通过透镜成像可以得到另一侧的成像为 A ∗ A^* A A ∗ A^* A x x x 轴上投影为 x ∗ x^* x,高度为 h ∗ h^* h。通过以上原理可得到 x x x 的反向投影 x ∗ x^* x
改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

图6 透镜成像反向学习过程

  在图6中, x x x o o o 为基点得到其对应的反向点 x ∗ x^* x,由透镜成像原理可得:
( a + b ) / 2 − x x ∗ − ( a + b ) / 2 = h h ∗ (13) {{(a + b)/2 - x} \over {{x^*} - (a + b)/2}} = {h \over {{h^*}}} \tag{13} x(a+b)/2(a+b)/2x=hh(13)  令 k = h h ∗ k= {h \over {{h^*}}} k=hh,可以得到基于透镜成像原理的反向学习公式:
x j ∗ = a j + b j 2 + a j + b j 2 k − x j k (14) x_j^* = {{{a_j} + {b_j}} \over 2} + {{{a_j} + {b_j}} \over {2k}} - {{{x_j}} \over k} \tag{14} xj=2aj+bj+2kaj+bjkxj(14)其中, x j x_j xj 为个体在第 j j j 维的位置, x j ∗ x_j^* xj x j x_j xj 的反向解。 a j a_j aj b j b_j bj 分别为搜索空间中第 j j j 维的最大边界和最小边界。

3.3 MSCSO的算法伪代码

  1. 初始化沙丘猫数量 N N N 和最大迭代次数 T T T
  2. 初始化种群: P o s i ( i = 1 , 2 , . . . , N ) Pos_i(i=1,2,...,N) Posi(i=1,2,...,N)
  3. While t < = T t<=T t<=T do
  4.   更新 r r r r G r_G rG R R R
  5.   检查是否有沙丘猫超出了搜索空间并进行修改
  6.   计算每只沙丘猫的饥饿值(适应度值),并找到吃的最饱的沙丘猫 ( P o s b c ) (Pos_{bc}) (Posbc)
  7.   For i = 1 i=1 i=1 to N N N do
  8.     利用轮盘选择算法获得随机角度 ( 0 º ≤ α ≤ 360 º ) (0º≤α≤360º) (α360º)
  9.     If ∣ R ∣ < = 1 |R|<=1 R<=1 then
  10.       根据等式(6)更新沙猫的搜索位置。
  11.       使用等式(12)执行Levy飞行游走策略以获得新位置。
  12.     Else
  13.       根据等式(4)更新沙猫的搜索位置。
  14.       使用等式(11)进行三角游走策略以获得新位置.
  15.     End If
  16.     根据等式(14)执行透镜成像反向学习策略
  17.   End For
  18.    t = t + 1 t=t+1 t=t+1
  19. End While
  20. 返回吃的最饱的猫(最优解) P o s b c Pos_{bc} Posbc

四、实验结果

MSCSO和SCSO在23个经典测试函数(设置维度 d i m = 30 dim=30 dim=30)的F3、F6、F9中的收敛曲线,测试函数公式如下:

函数 公式 理论值
F3 F 3 ( x ) = ∑ i = 1 n ( ∑ j − 1 i x j ) 2 {F_3}(x) = \sum\nolimits_{i = 1}^n {{{(\sum\nolimits_{j - 1}^i {{x_j}} )}^2}} F3(x)=i=1n(j1ixj)2 0.00 0.00 0.00
F6 F 6 ( x ) = ∑ i = 1 n ( x i + 5 ) 2 {F_6}(x) = {\sum\nolimits_{i = 1}^n {({x_i} + 5)} ^2} F6(x)=i=1n(xi+5)2 0.00 0.00 0.00
F9 F 9 ( x ) = ∑ i = 1 n [ x i 2 − 10 cos ⁡ ( 2 π x i ) + 10 ] {F_9}(x) = \sum\nolimits_{i = 1}^n {[x_i^2 - 10\cos (2\pi {x_i}) + 10]} F9(x)=i=1n[xi210cos(2πxi)+10] 0.00 0.00 0.00

4.1 F3收敛曲线

改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

4.2 F6收敛曲线

改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

4.3 F9收敛曲线

改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)

四、参考文献

[1] Di Wu, Honghua Rao, Changsheng Wen, et al. Modified Sand Cat Swarm Optimization Algorithm for Solving
Constrained Engineering Optimization Problems[J]. Mathematics. 2022, 10(22), 4350.文章来源地址https://www.toymoban.com/news/detail-469021.html

到了这里,关于改进的沙猫群优化算法(Modified Sand Cat Swarm Optimization,MSCSO)(原文作者)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【群智能算法改进】一种改进的浣熊优化算法 改进长鼻浣熊优化算法 改进后的ICOA[1]算法【Matlab代码#41】

    长鼻浣熊优化算法(Cоati Optimization Algorithm,COA)是一种启发式优化算法,灵感来源于长鼻浣熊(Coati)的行为策略。长鼻浣熊优化算法基于长鼻浣熊在觅食过程中的特性和行为模式。长鼻浣熊是一种树栖动物,具有长而灵活的鼻子,用于觅食和捕食。它们通过嗅觉感知周围环

    2024年02月09日
    浏览(45)
  • 【改进算法】【IHAOAVOA】天鹰优化算法和非洲秃鹫混合优化算法

    目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 该程序复现《IHAOAVOA: An improved hybrid aquila optimizer and African vultures optimization algorithm for global optimization problems》,天鹰优化算法(AO)和非洲秃鹫算法(AVOA)各有优势:AO具有强大的全局勘探能力,但其局部开发阶段还不够稳

    2024年02月09日
    浏览(48)
  • 【第一期】改进群体智能优化算法终结者,将近3000个改进策略+1万种改进算法!!!

    摘要 本期内容共包含2816种改进方案,配合5个群体智能优化算法,实现1万多个改进算法的生成。 本期改进的算法为:灰狼优化算法(GWO)、哈里斯鹰优化算法(HHO)、蚁狮优化算法(ALO)、白鹭群优化算法(ESOA)、平衡优化器算法(EO) 【安安讲代码】版权所有,盗版必究

    2024年02月04日
    浏览(44)
  • 【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[2]【Matlab代码#58】

    此算法详细介绍请参考POA算法介绍 2.1 随机对立学习种群初始化 采用随机方法初始化POA种群,生成的种群不均匀,影响了收敛速度和精度。为了获得更好的初始种群,本文采用了随机对立学习策略来进行种群初始: X i , n e w = ( l + u ) − k X i (1) X_{i,new}=(l+u)-kX_{i}tag1 X i , n e w

    2024年02月09日
    浏览(43)
  • 【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[1]【Matlab代码#57】

    此算法详细介绍请参考POA算法介绍 2.1 Sine映射种群初始化 混沌映射可以使种群在搜索空间中的分布更加均匀,因此被广泛使用。其中,Sine映射是一种不错的映射方式,其数学表达式为: x n + 1 = a 4 s i n ( π ∗ x n ) (1) x_{n+1}=frac{a}{4}sin(pi*x_{n})tag1 x n + 1 ​ = 4 a ​ s in ( π ∗

    2024年02月09日
    浏览(46)
  • 【群智能算法改进】基于二次插值策略的改进白鲸优化算法 改进后的EBWO[3]算法【Matlab代码#44】

    白鲸优化算法 (BWO,beluga whale optimization) 是2022 年在白鲸游泳、捕鲸及跌倒等行为中得到启发而提出的一种新型基于种群的元启发式算法。BWO 主要对白鲸游泳、捕食及跌倒 (坠落) 等行为进行模拟,其对应探索、开发及鲸鱼坠落三个阶段。BWO 当中鲸落概率与平衡因子均为自适应

    2024年02月11日
    浏览(51)
  • 麻雀优化算法SSA及其改进策略

         本文罗列常见改进策略,并将其应用于麻雀优化算法(SSA)的改进上,并对比改进后的效果。        具体 请参考文献《改进的麻雀搜索优化算法及其应用》。        原始SSA更新方式如下:         Xbestj (t)表示当前全局最佳位置,β 为服从均值为 0,方差为 1 的正态

    2024年02月02日
    浏览(45)
  • 【核心复现】基于改进鲸鱼优化算法的微网系统能量优化管理matlab

    目录 一、主要内容 1 冷热电联供型微网系统 2 长短期记忆网络(Long Short Term Memory, LSTM) 3 改进鲸鱼优化算法 二、部分代码 三、运行结果 四、下载链接  该程序为《基于改进鲸鱼优化算法的微网系统能量优化管理》matlab代码,主要内容如下: 针对包含多种可再生能源的冷热

    2024年01月21日
    浏览(52)
  • 改进的减法优化器算法优化BP神经网络---回归+分类两种案例

    今天采用前一阵改进最为成功的智能优化算法---融合黄金正弦的减法优化器算法(GSABO)优化BP神经网络。该算法不仅是2023年较新的算法,而且改进后的收敛速度和寻优精度都是极佳!点击链接跳转GSABO算法:融合黄金正弦,十种混沌映射,搞定!把把最优值,本文思路可用于所

    2024年02月16日
    浏览(81)
  • SCA|可作为有效改进策略的算法——正余弦优化算法(Matlab/Python)

    正余弦优化算法(Sine cosine algorithm,SCA)是由Mirjalili [1]在2016年提出,目前WOS上引用量2K+,谷歌学术上4K+。 不得不说Seyedali Mirjalili真是位大神级的人物(下图是Mirjalili开发的部分算法) SCA的核心思想是利用正、余弦函数波动的周期性,在全局范围内探索最优解,使算法逐步收敛。

    2024年01月22日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包