SCI二区TOP|蜘蛛黄蜂优化算法(SWO)原理及实现【免费获取Matlab代码】

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.背景

2023年,M Abdel-Basset受到蜘蛛黄蜂优化社会行为启发,提出了蜘蛛黄蜂优化算法(Spider Wasp Optimizer, SWO)。

在这里插入图片描述

在这里插入图片描述

2.算法原理

2.1算法思想

SWO模拟自然中雌性蜘蛛黄蜂的狩猎、筑巢和交配行为

在这里插入图片描述

2.2算法过程

捕猎和筑巢行为

雌性蜘蛛黄蜂开始他们的旅程,寻找猎物喂养他们的幼虫。它们在搜索空间内随机进行搜索,寻找最合适的猎物,这被称为探索阶段。雌性黄蜂以恒定的步长随机探索搜索空间:
S W ‾ i t + 1 = S W ‾ i t + μ 1 ∗ ( S W ‾ a t − S W ‾ b t ) (1) \overline{SW}_i^{t+1}=\overline{SW}_i^t+\mu_1*\left(\overline{SW}_a^t-\overline{SW}_b^t\right)\tag{1} SWit+1=SWit+μ1(SWatSWbt)(1)
其中,a和b是从种群中随机选取的两个指标来确定探索方向。参数表述为:
μ 1 = ∣ r n ∣ ∗ r 1 (2) \mu_1=|rn|*r_1\tag{2} μ1=rnr1(2)

雌黄蜂有时会找不到从球上掉下来的蜘蛛;因此,他们搜索了蜘蛛掉落的确切地点周围的整个区域:
S W ‾ i t + 1 = S W ‾ c t + μ 2 ∗ ( L ⃗ + r 2 ⃗ ∗ ( H ⃗ − L ⃗ ) ) (3) \overline{SW}_{i}^{t+1}=\overline{SW}_{c}^{t}+\mu_{2}*\left(\vec{L}+\vec{r_{2}}*\left(\vec{H}-\vec{L}\right)\right)\tag{3} SWit+1=SWct+μ2(L +r2 (H L ))(3)
各参数:
μ 2 = B ∗ cos ⁡ ( 2 π l ) B = 1 1 + e l (4) \mu_2=B*\cos(2\pi l)\\ B=\frac{1}{1+e^l}\tag{4} μ2=Bcos(2πl)B=1+el1(4)

跟随和逃离阶段

找到猎物后,蜘蛛黄蜂试图攻击他们在网络的中心:
S W ‾ i t + 1 = S W ‾ i t + C ∗ ∣ 2 ∗ r 5 ‾ ∗ S W ‾ a t − S W ‾ i t ∣ C = ( 2 − 2 ∗ ( t t m a x ) ) ∗ r 6 (5) \overline{SW}_{i}^{t+1}=\overline{SW}_{i}^{t}+C*\left|2*\overline{r_{5}}*\overline{SW}_{a}^{t}-\overline{SW}_{i}^{t}\right|\\C=\left(2-2*\left(\frac{t}{t_{max}}\right)\right)*r_{6}\tag{5} SWit+1=SWit+C 2r5SWatSWit C=(22(tmaxt))r6(5)
当蜘蛛逃离雌黄蜂时,雌黄蜂和蜘蛛之间的距离逐渐增加:
S W ‾ i t + 1 = S W ‾ i t ∗ ν c ‾ (6) \overline{SW}_i^{t+1}=\overline{SW}_i^t*\overline{\nu c}\tag{6} SWit+1=SWitνc(6)
其中,vc是根据正态分布在k和- k之间生成的向量。逐渐增大雌蜂与蜘蛛之间的距离:
k = 1 − ( t t m a x ) (7) k=1-\left(\frac{t}{t_{max}}\right)\tag{7} k=1(tmaxt)(7)

筑巢行为

雌性黄蜂将瘫痪的蜘蛛拉入预先准备好的巢穴:
S W ‾ i t + 1 = S W ‾ ∗ + cos ⁡ ( 2 π l ) ∗ ( S W ‾ ∗ − S W ‾ i t ) (8) \overline{SW}_{i}^{t+1}=\overline{SW}^{*}+\cos(2\pi l)*\left(\overline{SW}^{*}-\overline{SW}_{i}^{t}\right)\tag{8} SWit+1=SW+cos(2πl)(SWSWit)(8)
从种群中随机选择的雌性蜘蛛的位置上建造巢穴,使用额外的步长来避免在同一位置上建造两个巢穴:
S W ‾ i t + 1 = S W ‾ a t + r 3 ∗ ∣ γ ∣ ∗ ( S W ‾ a t − S W ‾ i t ) + ( 1 − r 3 ) ∗ U → ∗ ( S W ‾ b t − S W ‾ c t ) (9) \overline{SW}_{i}^{t+1}=\overline{SW}_{a}^{t}+\mathrm{r}_{3}*|\gamma|*\left(\overline{SW}_{a}^{t}-\overline{SW}_{i}^{t}\right)+\left(1-r_{3}\right)*\overrightarrow{U}*\left(\overline{SW}_{b}^{t}-\overline{SW}_{c}^{t}\right)\tag{9} SWit+1=SWat+r3γ(SWatSWit)+(1r3)U (SWbtSWct)(9)

交配行为

蜘蛛黄蜂的一个主要特征是它们能够确定性别,性别是根据卵所在的寄主的大小来决定的:
S W i t + 1 = C r o s s o v e r ( S W i t , S W m t , C R ) (10) SW_i^{t+1}=Crossover\big(SW_i^t,SW_m^t,CR\big)\tag{10} SWit+1=Crossover(SWit,SWmt,CR)(10)
其中Crossover表示均匀交叉算子,生成与雌性不同的雄性蜘蛛黄蜂:
S W ‾ m t + 1 = S W ‾ i t + e l ∗ ∣ β ∣ ∗ ν ‾ 1 + ( 1 − e l ) ∗ ∣ β 1 ∣ ∗ ν ‾ 2 (11) \overline{SW}_{m}^{t+1}=\overline{SW}_{i}^{t}+e^{l}*|\beta|*\overline{\nu}_{1}+\left(1-e^{l}\right)*|\beta_{1}|*\overline{\nu}_{2}\tag{11} SWmt+1=SWit+elβν1+(1el)β1ν2(11)
各参数表述为:
v ⃗ 1 = { x ⃗ a − x ⃗ i f ( x ⃗ a ) < f ( x ⃗ i ) x ⃗ i − x ⃗ a o t h e r w i s e v ⃗ 2 = { x ⃗ b − x ⃗ c f ( x ⃗ b ) < f ( x ⃗ c ) x ⃗ c − x ⃗ b o t h e r w i s e (12) \vec{v}_{1}=\left\{\begin{array}{c}\vec{x}_a-\vec{x}_if\big(\vec{x}_a\big)<f(\vec{x}_i)\\\vec{x}_i-\vec{x}_a otherwise\end{array}\right.\\\\\vec{v}_{2}=\left\{\begin{array}{c}\vec{x}_b-\vec{x}_cf\big(\vec{x}_b\big)<f(\vec{x}_c)\\\vec{x}_c-\vec{x}_b otherwise\end{array}\right.\tag{12} v 1={x ax if(x a)<f(x i)x ix aotherwisev 2={x bx cf(x b)<f(x c)x cx botherwise(12)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Abdel-Basset M, Mohamed R, Jameel M, et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm[J]. Artificial Intelligence Review, 2023, 56(10): 11675-11738.

5.代码获取

【资源清单】代码资源清单导航~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3223608.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

git撤销/返回到某次提交(idea工具 + gitbush)

不多说废话&#xff0c;直接展示使用。 方法一&#xff1a;使用idea工具进行返回 准备某次过度提交 使用idea打开git log 找到要回去的版本 点击右键选到reset 模式选hard&#xff0c;强制回滚 这个时候本地代码已经回归你指定的版本了。 这个时候再进行强制推送&#xff0c…

Flutter Inno Setup 打包 Windows 程序

转载自&#xff1a;flutter桌面应用从开发配置到打包分发 - 掘金 (juejin.cn) 五.打包 1.创建 release 版本的应用 flutter build release 执行完成后&#xff0c; release包位置在项目的build->windows->runer文件夹中 2.应用程序分发 Windows 为 Windows 平台构建…

Linux 利用命名空间创建一个自己的“容器“

Linux 利用命名空间创建一个自己的"容器" 前置条件 创建一个目录存放容器mkdir /myapp准备静态编译busybox&#xff0c;操作系统自带的往往是依赖动态库的(本文使用的debian apt install busybox-static) 开始 使用unshare起一个独立命名空间.# 进入后/myapp目录…

【Linux】System V信号量详解以及semget()、semctl()和semop()函数讲解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【电路笔记】-C类放大器

C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…

证件照片换背景底色 免费 证件照片制作软件免费下载 证件照换衣服软件免费有哪些好用

证件照是我们身份认证的重要凭证&#xff0c;其质量和专业性都很重要。然而&#xff0c;很多时候&#xff0c;由于各种原因&#xff0c;我们可能无法在拍摄证件照时穿上合适的服装&#xff0c;这就给证件照的质量和形象带来了一定的影响。幸运的是&#xff0c;现在市面上出现了…

ER模型理论和三范式

ER模型理论和三范式 各种关系多对一一对一一对多多对多 三范式理论函数依赖完全函数依赖部分函数依赖传递&#xff08;间接&#xff09;函数依赖 第一范式&#xff1a;属性&#xff08;表字段&#xff09;不可切割第二范式&#xff1a;不能存在 部分函数依赖(都存在完全函数依赖…

Git本地仓库的搭建与使用

目录 一、前言 二、Linux下搭建 git 仓库 三、Windows下搭建 git 仓库 一、前言 做项目时&#xff0c;我们常常需要将自己的代码进行托管&#xff0c;但有时候 Github 的速度属实叫人流泪。有的人会选择 Gitee 等进行托管代码&#xff0c;这当然是可以的。那如果没有其他代码…

【PyTorch][chapter 26][李宏毅深度学习][attention-1]

前言&#xff1a; attention 在自然语言处理&#xff0c;声音处理里面是一个很重要的技巧. attention 要解决的是输入的向量长度不定. 根据输入输出的不同,分为三种场景&#xff1a; 输入N个向量&#xff0c;输出N个向量,这是本章的重点 输入N个向量&#xff0c;输出向量不定 输…

【漏洞复现】29网课交单平台 SQL注入

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 29网课交单平台是一个在线学习平台&#xff0c;用于帮助学生完成网络课程的学习任务。这个平台提供了包括…

【开源】基于RMBG的一键抠图与证件照制作系统【含一键启动包】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

Transformer-LSTM预测 | Matlab实现Transformer-LSTM时间序列预测

Transformer-LSTM预测 | Matlab实现Transformer-LSTM时间序列预测 目录 Transformer-LSTM预测 | Matlab实现Transformer-LSTM时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现Transformer-LSTM时间序列预测&#xff0c;Transformer-LSTM&#xf…

第五次作业(多表联合查询)

新增员工表emp和部门表dept create table dept (dept1 int ,dept_name varchar(11)) charsetutf8; create table emp (sid int ,name varchar(11),age int,worktime_start date,incoming int,dept2 int) charsetutf8; insert into dept values (101,财务), (102,销售…

入门PHP就来我这(高级)18 ~ 获取结果集

有胆量你就来跟着路老师卷起来&#xff01; -- 纯干货&#xff0c;技术知识分享 路老师给大家分享PHP语言的知识了&#xff0c;旨在想让大家入门PHP&#xff0c;并深入了解PHP语言。 1 PDO中获取结果集 在PDO中获取结果集常用3中方法&#xff1a;fetch()方法、fetchAll()方法和…

两位软件工程师创业,开发出一款软件质量保证自主AI代理,融资总额超3000万美元

编译整理&#xff5c;TesterHome社区 来源&#xff5c;TechCrunch 随着生成式人工智能&#xff08;generative AI&#xff09;的出现&#xff0c;人工智能应用正在改变和重塑各行各业&#xff0c;并改变人们的工作方式。软件开发也不例外。 总部位于旧金山和东京的初创公司Aut…

算法学习笔记(8.2)-动态规划入门进阶

目录 问题判断: 问题求解步骤&#xff1a; 图例&#xff1a; 解析&#xff1a; 方法一&#xff1a;暴力搜索 实现代码如下所示&#xff1a; 解析&#xff1a; 方法二&#xff1a;记忆化搜索 代码示例&#xff1a; 解析&#xff1a; 方法三&#xff1a;动态规划 空间…

C++进阶:继承和多态

文章目录 ❤️继承&#x1fa77;继承与友元&#x1f9e1;继承和静态成员&#x1f49b;菱形继承及菱形虚拟继承&#x1f49a;继承和组合 ❤️多态&#x1fa77;什么是多态&#xff1f;&#x1f9e1;多态的定义以及实现&#x1f49b;虚函数&#x1f49a;虚函数的重写&#x1f499…

MySQL之基本查询(上)-表的增删查改

目录 Create(创建) 案例建表 插入 单行数据 指定列插入 单行数据 全列插入 多行数据 全列插入 插入是否更新 插入时更新 替换 Retrieve(读取) 建表插入 select列 全列查询 指定列查询 查询字段为表达式 为查询结果指定别名 结果去重 where条件 比较运算符 逻辑运…

【深度学习基础】MacOS PyCharm连接远程服务器

目录 一、需求描述二、建立与服务器的远程连接1. 新版Pycharm的界面有什么不同&#xff1f;2. 创建远程连接3. 建立本地项目与远程服务器项目之间的路径映射4.设置保存自动上传文件 三、设置解释器总结 写在前面&#xff0c;本人用的是Macbook Pro&#xff0c; M3 MAX处理器&am…

opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog

看视频的时候有的视频文件名贼长。想要翻看&#xff0c;在文件夹里根本显示不出来&#xff0c;缩短又会丢失一些信息&#xff0c;所以我写了一份Python代码&#xff0c;直接获取视频的名字&#xff0c;时长&#xff0c;帧率&#xff0c;还有分辨率写到excel里。 实际效果如下图…