波搜索算法(WSA)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取

​       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 

目录

原理简介

一、初始化阶段

二、全局开发阶段

三、局部勘探阶段

(1)发射电磁波

(2)反射电磁波

(3)接收电磁波

算法伪代码

性能测评

参考文献

完整代码


        波搜索算法(Wave Search Algorithm, WSA)是一种新型的元启发式算法(智能优化算法),灵感来源于雷达技术的启发,采用了新的初始化方法和边界约束规则以及各种改进的贪心机制,总体上看性能不错~作者23个标准测试函数和CEC2017上对WSA进行了测试,证明了WSA算法的优越性。该成果由Haobin Zhang等人于2024年4月发表在SCI期刊The Journal of Supercomputing上!

        由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

原理简介

        灵感:雷达技术是一种利用电磁波探测目标位置、速度和形状的无线通信技术。它通过发射无线电波,接收反射回波,并对回波进行处理和分析,实现对目标的检测、定位、跟踪和识别。

一、初始化阶段

        首先,我们需要执行一系列初始化准备。我们设粒子数为n,待优化问题维数为d,用矩阵模拟电磁波粒子W的位置:

        并用f ([Wn1, Wn2,⋯Wnd])表示第n个个体的适应度值,种群的适应度值可以用以下向量表示:

        最后,准备n个随机数k1, k2......Kn从0到1,初始化粒子位置。

        其中xi是均匀化的ki, xi*是x中的随机值,lb和ub为搜索空间的上下边界。

二、全局开发阶段

        式中,Wmin是由W各维上的最小值组成的向量,Wmax是由W各维上的最大值组成的向量,fmean是所有粒子适应度值的平均值,r1是0到1之间的随机数,t是当前迭代次数,t是总迭代次数。

        式(5)的好处是可以逐步缩小搜索范围,新生成的点在缩小的范围内生成,提高了搜索效率。式(6)是一种改进的贪心机制,控制种群在全局最优位置附近的位置。

三、局部勘探阶段

(1)发射电磁波

        式中σ=−(5t∕T−2)/√(25(5t∕T−2)2) + 0.7,σ为波形大小控制系数,m为元素服从正态分布并按顺序排列的列向量,Wbest为当前最优位置,Wl为W按与Wbest的接近程度重新排列后的位置矩阵,fmax为群中最大的适合度值。式(7)的作用是模拟电磁波向外扩散,减少陷入局部最优的可能性,提高搜索效率。式(8)是一种改进的贪心机制,其作用是当群体位置向外波动时,使群体位置不劣于当前群体位置。

(2)反射电磁波

        式中β= 0.75 + e−i∕nw2,β为反射强度系数,r2为0 ~ 1的随机值,nw2为模拟反射电磁波的粒子数。Wfi是W按照适应度值从小到大的顺序重新排列后的位置矩阵。式(9)模拟了部分粒子(适应度值较低的粒子)遇到障碍物向Wbest反射,而剩余粒子(适应度值较高的粒子)远离Wbest继续向外扩散。

(3)接收电磁波

        式中δ为接收系数,δ= 0.6 +(1.2−0.5)sin (tπ/2T),η为服从正态分布的随机数,nw3为模拟接收电磁波的粒子数。Wbest*是由通过卷积得到的历史最优位置,Wbest*= [Wbest1;Wbest2;Wbest3⋯Wbestt]∗([I1;I2;I3⋯It]),I1=I2= I3⋯It=1∕t。λ为校正因子,λ= (2t∕T−0.7)∕(0.78+|2t∕T−0.7|)+1。r3、r4、r5、r6是0到1的随机数。式(11)模拟了雷达通常正常接收电磁波,但有时会受到干扰,需要进行校正和处理。其作用是使粒子群体向当前最优方向搜索。同时,有一定的概率会向W方向偏转,以减少陷入局部最优的可能性。

        最后,引入了一种确定性优化技术:基于中心差分法的拟合梯度下降法。其数学表达式为:

        式中,W+εi = Wi +ε,W−εi = Wi−ε,ε= 10−6,g为梯度,α为步长系数,将α的初始值设为α0=0.3,通过步长试验确定最终的步长。步长试验方法如下:如果初始步长迭代后的适应度值小于等于当前适应度值,则α=α0∕c,否则α=α0*c,其中c为缩放因子。式(14)采用中心差分法拟合待优化问题的解析信息,用于搜索最优解,以提高搜索效率和精度。值得注意的是,该策略是一种确定性优化技术。WSA算法通过引入该策略,结合了确定性和不确定性优化技术。

        另外,广义的边界限制规则是将越过边界的粒子放在边界上。我们发现这种方法降低了粒子群的多样性。因此,我们建议将超出边界的粒子随机设置在搜索范围内。数学表达式为:

        其中,lb和ub分别为搜索范围的下边界和上边界,r是一个d维随机化列向量,其元素值范围为0到1。

算法伪代码

        为了使大家更好地理解,这边给出算法伪代码,非常清晰!

        如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

性能测评

        原文作者在经典的23个基准测试函数和30个CEC2017测试函数)对WSA算法进行测试,并将WSA算法应用于六个常见工程问题和移动机器人路径规划问题,将其与最先进和高引用算法进行比较。实验结果表明,WSA算法的优化能力优于其他最先进的优化算法,能够有效地解决实际工程问题。

        这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与性能较为广受认可的麻雀优化算法SSA进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

        可以看到,WSA在许多高难度的函数上都超过了经典的SSA算法,表明该算法性能是非常优越的,很有说服力,大家应用到各类预测、优化问题中是一个不错的选择~

参考文献

        [1]Zhang H, San H, Sun H, et al. A novel optimization method: wave search algorithm[J]. The Journal of Supercomputing, 2024: 1-36.

完整代码

        如果需要免费获得图中的完整测试代码,只需点击下方小卡片,后台回复关键字:

WSA

        也可点击下方小卡片,后台回复个人需求(比如WSA-SVM)定制以下青蒿素算法优化模型(看到秒回):

        1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN等等均可~

        2.组合预测类:CNN/TCN/BiTCN/DBN/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~

        3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可~

        4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

        5.原创改进优化算法(适合需要创新的同学):2024年的波搜索算法WSA以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

        更多免费代码链接:更多免费代码链接

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JumpServer堡垒机应用(v3.10.8) 下

目录 JumpServer堡垒机简单式部署与管理(v3.10.8) 上-CSDN博客 一. 资产管理 1.1创建资产 1.2 给资产主机创建用户 1.2.1 普通账户: 1.2.2 特权账户: 1.2.3 创建用户 二. 命令过滤 2.1 创建命令组 2.2 创建命令过滤 ​编辑 三. 创建资产授权 …

大模型算法(一):从Transformer到ViT再到LLaMA

单任务/单领域模型 深度学习最早的研究集中在针对单个领域或者单个任务设计相应的模型。 对于CV计算机视觉领域,最常用的模型是CNN卷积模型。其中针对计算机视觉中的不同具体任务例如分类任务,目标检测任务,图像分割任务,以CNN作…

Linux的常用指令 和 基础知识穿插巩固(巩固知识必看)

目录 前言 ls ls 扩展知识 ls -l ls -a ls -al cd cd 目录名 cd .. cd ~ cd - pwd 扩展知识 路径 / cp [选项] “源文件名” “目标文件名” mv [选项] “源文件名” “目标文件名” rm 作用 用法 ./"可执行程序名" mkdir rmdir touch m…

Springboot+Vue项目-基于Java+MySQL的制造装备物联及生产管理ERP系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Leetcode—3146. 两个字符串的排列差【简单】

2024每日刷题&#xff08;135&#xff09; Leetcode—3146. 两个字符串的排列差 实现代码 class Solution { public:int findPermutationDifference(string s, string t) {int maps[26];int mapt[26];for(int i 0; i < s.size(); i) {int idxs s[i] - a;int idxt t[i] …

案例|200多套设备实时监测,守护江西彰湖水库安全

中型水库作为水利建设的重要组成部分&#xff0c;在防洪、供水、农业灌溉、改善民生和生态效益等方面都具有重要意义。国务院发布《关于切实加强水库除险加固和运行管护工作的通知》&#xff0c;重点提出要提升信息化管理能力&#xff0c;要加快建设水库雨水情测报、大坝安全监…

判断上三角矩阵 分数 15

题目展示&#xff1a; 代码展示&#xff1a; 点这里&#xff0c;输入题目名称即可检索更多题目答案 ​#include<stdio.h>int main() {//T-tint t 0;scanf("%d",&t);while(t--)//循环t次&#xff0c;处理t个矩阵{int n 0;scanf("%d",&n);…

C语言学习【printf函数和scanf函数】

C语言学习【printf函数和scanf函数】 printf()函数和scanf()函数可以让用户与程序交流&#xff0c;是输入/输出函数 printf()函数 请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如&#xff0c;打印整数时使用%d&#xff0c;打印字符时使用%c。这些符号被称…

字符串_字符函数和字符串函数

C语言中对字符和字符串的处理很是频繁&#xff0c;但是C语言本身是没有字符串类型的&#xff0c;字符串通常放在常量字符串中或者字符数组中。 字符串常量适用于那些对它不做修改的字符串函数。 目录 1.函数介绍 1.1strlen 1.1.1strlen函数的模拟实现 1.2strcpy 1.2.1st…

性能测试学习二

瓶颈的精准判断 TPS曲线 tps图 响应时间图 拐点在哪里呢? 这是一个阶梯式增加的场景,拐点在第二个压力阶梯上就出现了,因为响应时间增加了,tps增加的却不多,在第三个阶段时,tps增加的就更少了,响应时间也在不断增加,所以性能瓶颈在加剧,越往后越明显【tps的增长,…

【35分钟掌握金融风控策略29】贷中模型调额调价策略

目录 贷中客户风险管理和客户运营体系 用信审批策略 用信审批策略决策流与策略类型 贷中预警策略 对存量客户进行风险评级 基于客户的风险评级为客户匹配相应的风险缓释措施和建议 调额策略 基于定额策略的调额策略 基于客户在贷中的风险表现的调额策略 调价策略 存…

鸿蒙开发接口Ability框架:【ApplicationContext】

ApplicationContext ApplicationContext模块提供开发者应用级别的的上下文的能力&#xff0c;包括提供注册及取消注册应用内组件生命周期的监听接口。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.m…

留学资讯 | 2024英国学生签证申请需要满足哪些条件?

英国移民局于2020年9月10日发布了《移民规则变更声明: HC 707》&#xff0c;对学生签证制度进行了全面改革。该法案于2020年10月5日正式生效。根据此法案&#xff0c;新的学生签证——The Student and Child Student Routes学生和儿童学生路线&#xff0c;将替代原先的Tier 4学…

基于java的超级玛丽游戏的设计与实现(论文 + 源码)

Java的超级玛丽游戏.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89313347 基于java的超级玛丽游戏的设计与实现 摘要 近年来&#xff0c;Java作为一种新的编程语言&#xff0c;以其简单性、可移植性和平台无关性等优点&#xff0c;得到了广泛地应用。J2SE称…

链接表存储图(C++注释详解): 构建表 深度优先遍历 (DFS)

链接表的结构体单元: #define size 100 typedef struct node {int idx;//下一个节点的索引int wt;//权重, 也可根据实际情景存储边的信息struct node* next; }Node; Node* hd[size]; // 存储图的邻接表 链接表的的构建: int main() {int n, m;cin >> n >> m; //…

SOLIDWORKS 2024零件特征功能增强

如大家所知&#xff0c;达索系统SOLIDWORKS每年都会发布新版本以主动响应客户的需求。现有客户使用的版本并不一样&#xff0c;所以在文档数据交流方面存在一定困难。同时工厂中的其它部门都会与产品研发部门进行协作&#xff0c;所以我们需要更强大的软件功能快速接收和处理模…

AnyMP4 Video Converter for Mac/Win - 视频转换的卓越之选

在当今数字化的时代&#xff0c;视频内容无处不在&#xff0c;而拥有一款强大的视频转换器就显得至关重要。AnyMP4 Video Converter for Mac/win 正是这样一款出类拔萃的工具&#xff0c;为您带来高效、便捷的视频转换体验。 这款视频转换器具备令人惊叹的功能。它支持广泛的视…

Shell之(数组)

目录 一、shell数组 1.数组的定义 2.定义数组的方法 第一种 第二种 第三种 第四种 3.数组分片 4. 数组字符替换 临时替换 永久替换 5.删除数组 删除指定的下标 删除整组 6.数组遍历和重新定义 7.数组追加元素 方式一&#xff1a;指定位置添加 方法二&a…

React: memo

React.memo 允许你的组件在 props 没有改变的情况下跳过重新渲染。 const MemoizedComponent memo(SomeComponent, arePropsEqual?)React 通常在其父组件重新渲染时重新渲染一个组件。你可以使用 memo 创建一个组件&#xff0c;当它的父组件重新渲染时&#xff0c;只要它的新…

阅读一些精华(老文献)

本文设置的初衷是诺贝尔化学奖得主Sir Fraser Stoddart说过&#xff1a;我们不能局限于最近几年的工作&#xff0c;而要往几十年前看&#xff0c;说不定因为之前的一些技术原因&#xff0c;导致当初的方法没有实现&#xff0c;现在可以实现了。 1.Variable-Rate Transmission f…