SCI二区TOP|麋鹿群优化算法: 一种新颖的受自然启发的元启发式算法

news2024/11/19 8:36:42

目录

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


1.背景

2024年,SO Oladejo受到麋鹿群的繁殖过程启发,提出了麋鹿群优化算法(Elk herd optimizer, EHO)。

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

2.算法原理

2.1算法思想

EHO灵感来自麋鹿群的繁殖过程,主要分为发情季节和产犊季节

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

2.2算法过程

发情季节

在发情期,根据发情期公鹿率(Br)来划分家族。总家族数计算为B = |Br × EHS|。根据它们的适应度值从EH中选出公鹿,数目为B的最优适应度的鹿被认为是公鹿:
B = arg ⁡ min ⁡ j ∈ ( 1 , 2 , … , B ) f ( x j ) (1) \mathcal{B}=\arg\min_{j\in(1,2,\ldots,B)}f(x^j)\tag{1} B=argj(1,2,,B)minf(xj)(1)

在B集合中的公鹿随后会争斗以创建家族。为了将后宫分配给B中的每个公鹿,使用轮盘赌选择法,其中后宫根据其适应度值与总适应度值的比例分配给各自的公鹿:
p j = f ( x j ) ∑ k = 1 B f ( x k ) (2) p_j=\frac{f(x^j)}{\sum_{k=1}^Bf(x^k)}\tag{2} pj=k=1Bf(xk)f(xj)(2)

产犊季节

在产犊季节,每个家族的小鹿主要根据其父亲和母亲的属性繁殖。如果小鹿与家族种父亲具有相同指数:
x i j ( t + 1 ) = x i j ( t ) + α ⋅ ( x i k ( t ) − x i j ( t ) ) (3) x_{i}^{j}(t+1)=x_{i}^{j}(t)+\alpha\cdot(x_{i}^{k}(t)-x_{i}^{j}(t))\tag{3} xij(t+1)=xij(t)+α(xik(t)xij(t))(3)
其中, α是继承属性的比率,α 的较高值会增加随机元素参与新小牛的可能性,这反过来又增强了多样性。如果小鹿与家族母亲具有相同指数:
x i j ( t + 1 ) = x i j ( t ) + β ( x i h j ( t ) − x i j ( t ) ) + γ ( x i r ( t ) − x i j ( t ) ) (4) x_i^j(t+1)=x_i^j(t)+\beta(x_i^{h_j}(t)-x_i^j(t))+\gamma(x_i^r(t)-x_i^j(t))\tag{4} xij(t+1)=xij(t)+β(xihj(t)xij(t))+γ(xir(t)xij(t))(4)

选择季节

所有家族合并成一个矩阵EHtemp,EHtemp中的麋鹿将根据它们的适应度值按升序排序。

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

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

论文结果展示
在这里插入图片描述

4.参考文献

[1] Al-Betar M A, Awadallah M A, Braik M S, et al. Elk herd optimizer: a novel nature-inspired metaheuristic algorithm[J]. Artificial Intelligence Review, 2024, 57(3): 48.

5.代码获取

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

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

相关文章

Win11右键默认显示更多选项的方法

问题描述 win11系统默认右键菜单显示选项太少,每次需要点一下“显示更多选项”才能得到想要内容。比方说我用notepad打开一个文档,在win11上要先点一下"显示更多选项“,再选择用notepad打开,操作非常反人类。 Win11右键默…

FreeRTOS 任务

FreeRTOS使用多任务完成功能,首先要了解任务的基本知识。 裸机编程中,单任务系统的编程方式,即裸机的编程方式,这种编程方式的框架一般都是在 main()函数 中使用一个大循环,在循环中顺序地调用相应的函数以处理相应的…

【matlab】分类回归——智能优化算法优化径向基神经网络

目录 径向基(Radial Basis Function, RBF)神经网络 一、基本概念 二、网络结构 三、工作原理 四、学习算法 五、优点与应用 六、与BP神经网络的比较 智能优化算法 常见的智能优化算法 灰狼优化算法(Grey Wolf Optimizer, GWO&#…

万界星空科技MES系统中的排版排产功能

在当今高度竞争的市场环境中,企业对于生产管理的效率和质量要求日益提高。作为智能制造的重要组成部分,制造执行系统(MES)以其强大的功能,在提升企业生产能力方面发挥着不可替代的作用。万界星空科技作为行业领先的智能…

eclipse ide中文件编码的修改,解决中文乱码的问题。

1、先上一张图: 记得之前设置过,但是稍微一变,环境编码又到了ISO-8859-1了,然后就出现了乱码。 2、设置eclipse的编码: Preferences--General -- Content Types -- Text -- Java Properties File -- Default encoding…

昇思25天学习打卡营第18天 | 基于MobileNetv2的垃圾分类

内容介绍: MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络,相比于传统的卷积神经网络,MobileNet网络使用深度可分离卷积(Depthwise Separable Convolution)的思想在准确率小…

node.js外卖小程序-计算机毕业设计源码81838

摘要 自从计算机发展开始,计算机软硬件相关技术的发展速度越来越快,在信息化高速发展的今天,计算机应用技术似乎已经应用到了各个领域。在餐饮行业,除了外卖以外就是到店里就餐,在店里就餐如果需要等待点餐的话&…

complex复数库学习

此头文件是数值库的一部分。本篇介绍complex的基本用法。 常用的API如下: 运算 real 返回实部 (函数模板) imag 返回虚部 (函数模板) abs(std::complex) 返回复数的模 (函数模板) arg 返回辐角 (函数模板) norm 返回模(范数)的平方 (函数模板) conj 返回复共轭 (函…

开启视频创作新篇章!腾讯发布MimicMotion:单张图像+简单姿势,瞬间“活”化视频。

腾讯和上交发布了一个根据图片生成跳舞视频的项目MimicMotion。效果同时支持面部特征和唇形同步,不止可以搞跳舞视频,也可以做数字人。 MimicMotion方案优化的内容有: 引入基于置信度的姿态引导机制。确保生成的视频在时间上更加连贯流畅。 …

Python爬虫教程第1篇-基础知识

文章目录 什么是爬虫爬虫的工作原理用途搜索引擎爬虫Robots协议HTTP的请求过程URL的含义HTTP常见请求头爬虫常用的技术 什么是爬虫 信息的交互是通过web网页、或者移动端等不同的客户端端形式进行交互,这个过程是一个人与网路正常的交互行为。而爬虫可以用来模拟人…

二维树状数组区域查询

落谷4514 过关代码如下 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std; //#define int long longconst int N 2050; int t1[N][N], t2[N][N], t3[N][N], t4[N][N]; int lowbit(int x) { return x & (-x); } int n, m; void update(…

将循环转化为递归的三种方法,求1+2+3……+n等差数列

解法一&#xff1a;使用公共变量s&#xff0c;递归循环1~n加到s上 #include<bits/stdc.h> using namespace std; int n,s; void fun(int i){if(i<n){ssi;fun(i1);}}int main(){cin>>n;fun(1);cout<<s;return 0; } 解法二&#xff1a;通过层层累加&#x…

Vue的民族民俗文化分享平台-计算机毕业设计源码22552

基于Vue的民族民俗文化分享平台设计与实现 摘 要 本文介绍了一种基于Vue.js前端框架和Express后端框架的民族民俗文化分享平台的设计和实现。该平台旨在通过线上方式&#xff0c;促进民族民俗文化的传播与分享&#xff0c;增强公众对多元文化的了解和认同。 平台为普通用户提供…

如何第一次从零上传项目到GitLab

嗨&#xff0c;我是兰若&#xff0c;今天想给大家说下&#xff0c;如何上传一个完整的项目到与LDAP集成的GitLab&#xff0c;也就是说这个项目之前是不在git上面的&#xff0c;这是第一次上传&#xff0c;这样上传上去之后&#xff0c;其他小伙伴就可以根据你这个项目的git地址…

L1218-L5298清零软件使用图解

清零前请取消打印任务&#xff0c;打印机用USB线接电脑并开启 双击[Resetter.exe]启动软件,点击[Select],选择Port打印机型号&#xff0c;然后点[OK]&#xff0c;如图。 [如果port下拉列表中找不到你的打印机&#xff0c;请更换USB接口&#xff0c;并重新开打印机重试。] 2.…

C语言自定义类型——联合体、枚举

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、联合体&#xff08;一&#xff09;、联合体的声明&#xff08;二&#xff09;、联合体的特点&#xff08;三&#xff09;、联合体大小的计算&#xff01;&a…

在本地运行React集成TypeScript的项目

首先问ChatGPT&#xff0c;贴一段TypeScript代码&#xff0c;问ChatGPT&#xff1a;要运行以上代码&#xff0c;该怎么操作&#xff1f; ChatGPT给出了详细步骤&#xff0c;下面是实际操作&#xff1a; 创建一个react项目&#xff1a; npx create-react-app yuanyu-timeline …

js函数扩展内容---多参数,函数属性,字符串生成函数

1.多参数 在js中&#xff0c;Math.max()方法可以接受任意数量的参数&#xff0c; Math.max(1,2,3,4);//4 Math.max(1,2,3,4,5,6,7,8,9,10)//10 在max方法里面有一个rest参数&#xff0c;它接受了所有参数全部合成到了一个number数组里面&#xff0c; function rest(a,b,...a…

在Linux系统中配置GitHub的SSH公钥

在Linux系统中配置GitHub的SSH公钥&#xff0c;可以让您无需频繁输入密码即可与GitHub仓库进行交互&#xff0c;提高工作效率。以下是配置步骤: 第一步&#xff1a; 检查SSH密钥是否存在 首先&#xff0c;检查您的用户目录下的.ssh文件夹中是否已有SSH密钥。打开终端&#xff0…

openrestry中的hello world

目录 概述实践部署openrestry脚本效果验证 概述 此篇将在 k8s 运行起一个 openrestry   环境&#xff1a;k8s&#xff1a;1.27.9 &#xff0c;openrestry(docker镜像版本)&#xff1a; 1.25.x &#xff0c;k8s 与 ingress 请参考我的其它文章 离线镜像包请参考&#xff1a;op…