Ivy优化算法-2024年7月SCI一区顶刊新算法!公式原理详解与性能测评 Matlab代码免费获取

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

目录

原理简介

一、初始化

二、协调有序的种群增长

三、获得阳光来源生长

四、常青藤植物的传播和进化

五、生存者选择

算法伪代码

性能测评

参考文献

完整代码


        ​Ivy算法是一种新型的元启发式算法(智能优化算法),灵感来源于常青藤的有序协调增长和扩散进化过程。比较有趣的是,这个算法的作者中包括了R.Venkata Rao。如果你不知道他是谁,那么,提到著名的Jaya优化算法、教与学优化算法TLBO,相信你应该就已经知道了,这些经典的算法都是由他提出的!

        这位学者已经被引用了1w多次。众所周知,Jaya优化算法的优势就是速度快、参数少,此次提出来的算法也同样具备这两个特点!最重要的是,这个算法也是出版于2024年7月的新算法~非常新颖!

        原文作者在26个经典测试函数上与12个工程优化问题上,与其他10种算法进行了比较,证明了其优越的性能。。该成果由Mojtaba Ghasemi等人于2024年7月发表在SCI一区顶刊《Knowledge-Based Systems 》上!

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

原理简介

        灵感:IVY指的是常春藤这种植物,这个算法主要模拟了常春藤的不同生命阶段,包括生长、上升和在常春藤植物群中传播。

一、初始化

        在算法开始时,IVY种群在搜索空间中的初始位置是使用Eq.(1)随机确定的。

        其中,区间[0,1]内均匀分布随机数的维数为D的向量用rand(1,D)表示。Imax和Imin分别是搜索空间的上界和下界,两个向量的Hadamard积(也称为元素积,在Matlab中表示为“.∗”)用运算“⊙”表示。

二、协调有序的种群增长

        设Gv为增长率,φ为生长速度,φ为偏离生长的修正系数。在本文提出的算法中,基于数据密集型的实验和仿真过程,将Eq.(2)建模为成员Ii的生长速度Gvi(t)的差分方程。

        其中向量ΔGvi(t)和ΔGvi(t+1)表示离散时间系统(时刻t和时刻t +1)的增长率,rand是区间[0,1]中的随机实数(即rand∈U[0,1]), rand^2是随机变量的随机数,其概率密度函数等于1/(2√x))。N(1, D)表示维数为D的随机向量,为标准高斯(正态)分布中的随机数。

三、获得阳光来源生长

        对于自然界中常春藤的整体健康来说,找到一个附着的表面(例如,墙,岩石或树)以便向阳光爬去是至关重要的。在野生森林中,年轻的常春藤可以适当地选择向最近的树生长的方向,而且经常是另一棵已经找到支撑的老常春藤。这样,常春藤就可以逐渐填满大片连续的森林区域。对于森林中的其他树种来说,幸运的是,小常春藤在老常春藤上的攀爬导致了整个小常春藤和老常春藤群体中只有最强壮的存活下来,几乎与它们的年龄无关。

        下面的等式描述了成员Ii如何利用成员Iii沿着光源的方向进行攀爬和逻辑移动

        其中|N(1, D)|是矢量,其分量是矢量N(1, D)的分量的绝对值,运算“u⊘v”是矢量u除以矢量v的Hadamard除法(也称为逐元除法,在Matlab中表示为“./”)。

四、常青藤植物的传播和进化

        在成员Ii通过搜索空间全局漫游到最近、最重要的邻居Iii的阶段之后,有一个阶段,成员Ii试图直接跟随整个种群的最佳成员IBest,这相当于在成员IBest周围寻找更好的最优解。这个阶段用数学公式表示如下:

        随后,当前成员Inewi的增长率ΔGvnewi的新值由以下公式计算(这与初始化步骤中用于计算ΔGvi的公式完全类似)

五、生存者选择

        Hoflacher和Bauer研究了常青藤植株最年轻和最老(基部)部分在常青藤两个生长阶段交替期间吸收阳光的能力,即“幼叶”形成阶段(典型的快速向上生长阶段)和“成叶”形成阶段(典型的新枝宽度和开花扩张阶段)。

        为了模拟常青藤树生命中的两个交替阶段,即“爬升”和“扩张”,在IVY算法中,我们使用了以下决策方法。当成员Ii的目标函数值f(Ii)小于f(Ibest)的倍数时,参数β = (2 + rand)/2。然后,常春藤树开始扩展树枝和叶子的宽度(由式(5)给出)。否则,常春藤向上生长并爬升(由式(7)给出)。

算法伪代码

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

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

性能测评

        原文在26个经典测试函数上与其他10种算法进行了比较,证明了其优越的性能。此外,作者还求解了12个工程优化问题,并与各种优化算法的结果进行比较,证明了IVYA算法的有效性。

        这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与作者先前提出的Jaya优化算法进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

        可以看到,IVY在大部分函数上都超过了作者之前提出的Jaya优化算法,尤其在F1-F4函数中,更是收敛极快,没见过这么快就收敛到0的,不知道是不是采取了偏向于0点的搜索策略~当然,大家应用到各类预测、优化问题中也是一个不错的选择~

参考文献

        [1]Ghasemi M, Zare M, Trojovský P, et al. Optimization based on the smart behavior of plants with its engineering applications: Ivy algorithm[J]. Knowledge-Based Systems, 2024, 295: 111850.

完整代码

        如果需要免费获得图中的完整测试代码,只需后台回复关键字:

IVY

        也可后台回复个人需求(比如IVY-TCN)定制以下IVY算法优化模型(看到秒回):

        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、FMD等分解模型均可~

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【宠粉赠书】大模型时代的网络安全:安恒“网安三剑客”实战指南

不知不觉中,小智的粉丝已经突破一万。为了回馈粉丝们的厚爱,今天小智给大家送上一套网络安全界的三宝书——安恒"网安三剑客"。下面我会详细给大家介绍这套图书,文末留有领取方式。 随着人工智能(AI)和大模型…

finalshell刚连上就断,这个参数你注意到了吗

在实际应用中可能一不下心弄错一个参数就会让你的finalshell刚连上就断,如下图所示。 1、进入ssh目录下,修改ssh_config文件 2、修改UseDNS no,并把前面的#去掉。 注:如果在ssh_config文件见不到UseDNS yes ,可以打开sshd_config,他们是在…

Vue 2 + Element UI 选择一个el-select清空另一个el-select选中的值

需求&#xff1a;表单中有两个下拉选择器&#xff0c;先选中第一个&#xff0c;清空第二个选中的值 尝试过this.$refs[form].resetFields(field name);全都失效&#xff01; 效果图如下&#xff1a; 先选择商品分类&#xff0c;再去选择商品列表中的某一件商品 <el-form-…

园区运营管理平台的功能架构

产业园区作为推动地方经济发展的重要载体&#xff0c;其运营管理水平直接影响到园区的竞争力和可持续发展能力&#xff0c;园区运营管理平台作为园区的运营管理工具&#xff0c;旨在通过智能化、自动化的手段提升园区的运营效率和服务水平。 园区运营管理平台不仅为园区管理者提…

SAS:什么时候用kcompress呀?

问题&#xff1a;如何截取ECGTPT变量中的后三个字符&#xff1f; 下图展示了以k开头的以及非k开头的substr函数和length函数&#xff0c;发现在UTF-8编码下&#xff0c;仅以k开头的函数能够截取成功。 释疑&#xff08;以下内容来自SAS Help&#xff09; SAS提供的字符函数…

conflicting types for 错误问题

操作系统真象还原中&#xff0c;第十一章出现的问题&#xff1a; 怎样编译都会出现一个conflicting types for ’xxx‘的错误 出现这个错误的原因&#xff1a; 头文件声明和定义参数稍有不同 头文件中声明 void Hanlder(const char * buf); 在定义时写作 void Hanlder(char…

浏览器工作原理

主要分为导航、获取数据、HTML解析、css解析、执行javaScript、渲染树几个步骤。 1.导航 DNS查询 DNS服务器类似于电话簿&#xff0c;里面包含公共的IP地址以及相关主机名数据库&#xff0c;我们输入一个域名&#xff0c;他能帮我们映射到对应的IP地址。&#xff08;第一次查…

【kubeflow文档】Kubeflow Training Operator

What is Training Operator Training Operator是一个Kubernetes原生项目&#xff0c;用于对使用各种ML框架&#xff08;如PyTorch、TensorFlow、XGBoost等&#xff09;创建的机器学习&#xff08;ML&#xff09;模型进行微调和可扩展的分布式训练。 用户可以将HuggingFace、Dee…

宜选影票api接口如何申请密钥和授权呢?

宜选影票API接口的密钥申请和授权过程一般包括以下步骤&#xff0c;以下将按照清晰的格式分点表示和归纳相关信息&#xff1a; 注册开发者账号&#xff1a; 前往宜选影票的官方网站或开发者平台。注册一个开发者账号&#xff0c;填写必要的个人信息和联系方式。申请API访问权限…

二刷算法训练营Day22 | 二叉树(8/9)

目录 详细布置&#xff1a; 1. 235. 二叉搜索树的最近公共祖先 2. 701. 二叉搜索树中的插入操作 3. 450. 删除二叉搜索树中的节点 详细布置&#xff1a; 1. 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共…

用这个AI工具,做公众号爆款图文,5分钟一篇10w+,居然这么简单!(附工具教程)

文章首发于公众号&#xff1a;X小鹿AI副业 大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~ 之前X小鹿一直在各…

mac虚拟光驱工具:Daemon Tools for Mac

Daemon Tools for Mac是一款功能强大的虚拟光驱工具&#xff0c;它为用户提供了在Mac上模拟物理光驱的能力&#xff0c;从而方便用户处理各种光盘映像文件。以下是关于Daemon Tools for Mac的详细介绍&#xff1a; 守护进程工具&#xff1a;Daemon Tools不仅是一个简单的虚拟光…

【讯为Linux驱动开发】2.注册一个字符设备

【问】如何描述一个字符设备&#xff1f; dev结构体 其中需要关心三个成员变量&#xff1a; 所属模块 &#xff1a;struct module *owner; 文件操作结构体&#xff1a; const struct file_operations *ops 设备号 &#xff1a; dev_t 当应用层使用指令open("/dev/hello&…

学生成绩管理系统(大一大作业)

功能 实现添加&#xff0c;排序&#xff0c;修改&#xff0c;保存等功能 库函数 #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<string.h> 头文件 #define functioncreate(major) void major##compare(mana mn){\int i,j,s…

使用Matlab软件绘制函数图像

【实验目的】 1.利用Matlab实现平面上曲线和三维空间中曲线绘制&#xff0c;重点掌握隐函数、极坐标图像绘制的相关命令。 2.利用Matlab实现三维曲面绘制&#xff0c;加深对高等数学课程所学内容的理解 【实验内容与实现】 1、用两种方法绘制下面的曲线图 &#xff08;1&am…

Autodesk 3ds Max软件下载安装;3ds Max功能强大的三维建模、渲染软件安装包获取

3ds Max&#xff0c;无论是初学者还是资深设计师&#xff0c;都能通过3ds Max在数字世界中实现自己的创意&#xff0c;打造出令人惊叹的三维作品。 在3ds Max中&#xff0c;灯光系统是至关重要的一环。它提供了光度学灯光和标准灯光两种主要类型&#xff0c;用于照亮和增强场景…

Spring家族中的消息通信解决方案

相信大家对消息通信架构以及各种消息中间件应该都不陌生。在分布式系统的设计和开发过程中&#xff0c;消息通信是用于实现系统解耦、提高扩展性的一大技术体系。而业界关于如何实现消息通信系统也有很多解决方案和对应的开发框架。不知道你有没有发现&#xff0c;在我们每天都…

计算机英文教材太难啃?Higress 和通义千问帮你!

作者&#xff1a;张添翼&#xff08;澄潭&#xff09; 计算机相关英文教材的中译本质量堪忧&#xff0c;对于计算机专业的学生来说&#xff0c;应该深有体会。因为大部分教材的译者本人可能未必完全吃透书中技术内容&#xff0c;又或者是领域技术大拿&#xff0c;但并不擅长英…

数据结构的归并排序(c语言版)

一.归并排序的基本概念 1.基本概念 归并排序是一种高效的排序算法,它采用了分治的思想。它的基本过程如下: 将待排序的数组分割成两个子数组,直到子数组只有一个元素为止。然后将这些子数组两两归并,得到有序的子数组。不断重复第二步,直到最终得到有序的整个数组。 2.核心…

LabVIEW2017破解安装教程

LabVIEW2017破解安装教程&#xff1a; 1、新版LabVIEW2017分为32位和64位两个平台&#xff0c;多种语言版本(需要LabVIEW2017中文版的朋友请选择WinChn版本)&#xff0c;大家选择自行选择符合系统的版本下载并解压 2、本次安装以Win 7 64位系统为例&#xff0c;运行“2017LV-64…