【智能算法】人类进化优化算法(HEOA)原理及实现

目录

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


1.背景

2024年,J Lian受到人类进化启发,提出了人类进化优化算法(Human Evolutionary Optimization Algorithm, HEOA)。

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

2.算法原理

2.1算法思想

HEOA将全局搜索过程分为:人类探索和人类发展。初始化采用Logistic混沌映射,在人类探索阶段,进行初始的全局搜索。在人类发展阶段,人口被分类为领导者、探索者、追随者和失败者,每个人都使用不同的搜索策略。

在这里插入图片描述

2.2算法过程

人类探索阶段

探索阶段被定义为最大迭代次数的初始1/4。在人类发展的各个阶段,当面对未开发的领域和有限的知识时,个体倾向于采用统一的搜索策略:
X i t + 1 = β ⋅ ( 1 − t M a x i t e r ) ⋅ ( X i t − X b e s t ) ⋅ L e v y ( d i m ) + X b e s t ⋅ ( 1 − t M a x i t e r ) + ( X m e a n t − X b e s t ) ⋅ f l o o r ( r a n d f j u m p ) ⋅ f j u m p (1) X_{i}^{t+1}=\beta\cdot(1-\frac{t}{Max_{iter}})\cdot(X_{i}^{t}-X_{best})\cdot Levy(dim)+X_{best}\cdot(1-\frac{t}{Max_{iter}})+(X_{mean}^{t}-X_{best})\cdot floor(\frac{rand}{f_{jump}})\cdot f_{jump}\tag{1} Xit+1=β(1Maxitert)(XitXbest)Levy(dim)+Xbest(1Maxitert)+(XmeantXbest)floor(fjumprand)fjump(1)
其中, β \beta β为自适应因子,平均位置Xmean表述为:
X m e a n t = 1 N ∑ k = 1 N X k t (2) X_{mean}^t=\frac1N\sum_{k=1}^NX_k^t\tag{2} Xmeant=N1k=1NXkt(2)
自适应因子解释了人类探索知识的难度越来越大和群体特征:
β = 0.2 ( 1 − t M a x t e r ) ⋅ ( X i t − X m e a n t ) (3) \beta=0.2\Bigg(1-\frac t{Max_{ter}}\Bigg)\cdot\Bigg(X_i^t-X_{mean}^t\Bigg)\tag{3} β=0.2(1Maxtert)(XitXmeant)(3)

跳跃策略

在探索阶段借鉴了图像裁剪与重组技术的跳跃策略,旨在增强搜索位置的分布广度。将图像划分为 36x36 的小块,然后按照特定规则重新排列,以保持整体形状。这种技术利用人眼在观察图像时,通过整体和局部特征的组合来感知图像,从而对局部信息的丢失相对不敏感。将这一概念扩展到高维数据,该方法在保持元数据的关键特征的同时,将搜索分布在多个区域,以提高搜索效率。
f j u m p = ( l b ( 1 ) − u b ( 1 ) ) δ , δ ∈ [ 100 , 2000 ] (4) f_{jump}=\frac{(lb(1)-ub(1))}{\delta},\delta\in[100,2000]\tag{4} fjump=δ(lb(1)ub(1)),δ[100,2000](4)
在这里插入图片描述
在这里插入图片描述

人类发展阶段

在人类发展的各个阶段,HEOA将人类社会分为四种不同的角色:领导者、探索者、追随者和失败者。每个角色采用独特的搜索策略,共同协作探索全局最优解。
领导者拥有丰富的知识,通常位于最优区域。在进行的实验中,预适应前40%的个体被指定为领导者。他们利用现有的知识,开始探索人类发展的优越领域:
X i t + 1 = { ω ⋅ X i t ⋅ exp ⁡ ( − t r a n d ⋅ M a x i t e r ) , R < A ω ⋅ X i t + R n ⋅ o n e s ( 1 , d i m ) , R ≥ A (5) X_i^{t+1}=\begin{cases}\omega\cdot X_i^t\cdot\exp(\frac{-t}{rand\cdot Max_{iter}}),R<A\\\\\omega\cdot X_i^t+Rn\cdot ones(1,dim),R\geq A\end{cases}\tag{5} Xit+1= ωXitexp(randMaxitert),R<AωXit+Rnones(1,dim),RA(5)
知识获取的容易度系数w,随着发展的推进逐渐减小:
ω = 0.2 cos ⁡ ( π 2 ( 1 − t M a x i t e r ) ) (6) \omega=0.2\cos(\frac\pi2(1-\frac t{Max_{iter}}))\tag{6} ω=0.2cos(2π(1Maxitert))(6)
探索者在探索未知领域以发现全局最佳解决方案方面发挥着至关重要的作用。在进行的实验中,在种群中健康度排名前40%到80%的个体被指定为探索者:
X i t + 1 = R n ⋅ exp ⁡ ( X w o r s t t 2 − X i t 2 i 2 ) (7) X_i^{t+1}=Rn\cdot\exp(\frac{X_{worst}^t{}^2-X_i^{t2}}{i^2})\tag{7} Xit+1=Rnexp(i2Xworstt2Xit2)(7)
跟随者坚持最具适应性的领导者的指导,跟随他们的脚步。在进行的实验中,最上层的80%至90%的人口被分配为追随者的角色:
X i t + 1 = X i t + 2 ω ⋅ R d ⋅ ( X b e s t t − X i t ) (8) X_i^{t+1}=X_i^t+2\omega\cdot Rd\cdot\left(X_{best}^t-X_i^t\right)\tag{8} Xit+1=Xit+2ωRd(XbesttXit)(8)
失败者是指不能很好地适应环境而留在人群中的个体。这些不适应社会的失败者将被淘汰,在适合人类发展的地区通过繁殖来补充人口:
X i t + 1 = X b e s t + ( X b e s t − X i t ) ⋅ R n (9) X_i^{t+1}=X_{best}+\left(X_{best}-X_i^t\right)\cdotp Rn\tag{9} Xit+1=Xbest+(XbestXit)Rn(9)

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试HEOA性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2017-F22
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Lian J, Hui G. Human evolutionary optimization algorithm[J]. Expert Systems with Applications, 2024, 241: 122638.

5.代码获取

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

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

相关文章

JavaWEB 框架安全:Spring 漏洞序列.(CVE-2022-22965)

什么叫 Spring 框架. Spring 框架是一个用于构建企业级应用程序的开源框架。它提供了一种全面的编程和配置模型&#xff0c;可以简化应用程序的开发过程。Spring 框架的核心特性包括依赖注入&#xff08;Dependency Injection&#xff09;、面向切面编程&#xff08;Aspect-Or…

Springboot项目学习之各组件的用法和逻辑结构

1.Controller层&#xff08;Controller&#xff09;&#xff1a; 也称为前端控制器或请求处理器&#xff0c;它是项目与用户交互的入口。Controller接收HTTP请求&#xff0c;解析请求参数&#xff0c;调用Service层处理业务逻辑&#xff0c;并返回响应给客户端。 Controller通…

IP证书能免费申请吗

IP SSL证书是一种数字证书&#xff0c;用于保护网络服务器和网络浏览器之间的通信。该证书是一种主要保护公网IP地址的专属信任SSL证书。 IP类型的SSL证书对于直接用IP地址传输数据的技术人员来说&#xff0c;十分重要&#xff01;无论是防洪还是防劫持还是数据加密都起到了关…

【C 数据结构-动态内存管理】4. 无用单元收集(垃圾回收机制)

文章目录 【 1. 问题描述与解决方法 】【 2. 中断回收机制 】 【 1. 问题描述与解决方法 】 问题描述 动态存储管理的运行机制可以概括为&#xff1a;当用户发出申请空间的请求后&#xff0c;系统向用户分配内存&#xff1b;用户运行结束释放存储空间后&#xff0c;系统回收内…

【FL常用插件#1】Ozone11臭氧的安装和使用

本文内容收集自互联网&#xff0c;仅供个人学习参考使用&#xff0c;不允许用于商业用途&#xff0c;造成的侵权行为与本文作者无关 安装 VST2、VST3、AAX和NKS是音频技术界常见的几种插件格式&#xff0c;它们在功能和兼容性上有所不同&#xff1a; VST2 (Virtual Studio Tec…

用户管理中心——数据库设计用户注册逻辑设计

用户管理中心——数据库设计&用户注册逻辑设计 规整项目目录1. 数据库自动生成器的使用实现基本的数据库操作&#xff08;操作user表&#xff09; 2. 注册逻辑的设计(1) 写注册逻辑(2) 实现(3) 测试代码 3. 遇到的问题 规整项目目录 utils–存放工具类&#xff0c;比如加密…

关系型数据库MySQL开发要点之多表设计案例详解代码实现

什么是多表设计 项目开发中 在进行数据库表结构设计时 根据数据模型和业务关系 会根据业务需求和业务模块之间的关系分析设计表结构 由于业务之间互相关联 所以表结构之间也存在着各种联系 主要分为以下三种 一对多 每个部门下是有多个员工的 但是一个员工只能归属一个部…

京东JD商品详情API返回值揭秘:精准掌握商品信息

在当今电子商务繁荣的时代&#xff0c;对于电商平台来说&#xff0c;提供准确、详尽的商品信息对于满足用户需求、提升购物体验至关重要。京东作为中国领先的电商平台&#xff0c;通过其开放的API接口&#xff0c;为开发者提供了获取商品详情的强大工具。本文将深入探讨京东JD商…

FastDFS-单机扩容

描述 周一上班收到用户反馈系统异常&#xff0c;紧急排查日志发现报错&#xff1a;FdfsServerException:错误:28&#xff0c;错误信息:没有足够的存储空间。 解决 根据异常信息判断是文件服务器可用内存不够了&#xff0c;首先登录文件服务器&#xff0c;使用df -h命令查看一…

GMS地下水数值模拟及溶质(包含反应性溶质)运移模拟技术

采用全流程模式将地下水数值模拟软件GMS的操作进行详细剖析和案例联系。不仅使学员掌握地下水数值模拟软件GMS的全过程实际操作技术的基本技能&#xff0c;而且可以深刻理解模拟过程中的关键环节&#xff0c;以解决实际问题能力。同时为满足环评从业人员进一步加强地下水数值模…

AF594-标记羊抗鼠免疫球蛋白(H+L),山羊抗小鼠IgG全长抗体已被交叉吸附在抗人IgG和人血清上,然后再偶联以小化交叉反应性

试剂介绍&#xff1a; AF594-标记羊抗鼠免疫球蛋白(HL)是荧光标记二抗&#xff0c;我们的山羊抗小鼠IgG全长抗体已被交叉吸附在抗人IgG和人血清上&#xff0c;然后再偶联以小化交叉反应性。 这种AF594标记的山羊抗小鼠IgG缀合物通过交叉吸附的山羊抗小鼠IgG全抗体与AF594 NHS酯…

应用层协议——HTTP协议

1. 认识HTTP协议 HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;协议又叫做超文本传输协议&#xff0c;是一个简单的请求-响应协议&#xff0c;HTTP通常运行在TCP之上。 超文本的意思就是超越普通的文本&#xff0c;http允许传送文字&#xff0c;图片&#xff0c…

深入理解nginx http响应限速功能

目录 1. 引言2. 配置参数2.1 limit_rate 配置指令2.2 limit_rate_after 配置指令2.3 其他限速配置 3. 源码分析 1. 引言 在现代互联网应用中&#xff0c;服务器的性能和响应速度是至关重要的。为了保证服务器的稳定性和可靠性&#xff0c;限制客户端对服务器的访问速度是一项重…

Web实操(6),基础知识学习(24~)

1.[ZJCTF 2019]NiZhuanSiWei1 &#xff08;1&#xff09;进入环境后看到一篇php代码&#xff0c;开始我简单的以为是一题常规的php伪协议&#xff0c;多次试错后发现它并没有那么简单&#xff0c;它包含了基础的文件包含&#xff0c;伪协议还有反序列化 &#xff08;2&#x…

【数据结构】顺序表与ArrayList

一、什么是顺序表 概念&#xff1a;顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改。 如下图&#xff1a; 优点&#xff1a;访问速度比较快&#xff0c;在给定下标的情况下时间复杂度低至O(…

网络1--通信过程的理解

1.封装与解包 通信的过程就是不断的封装和解包的过程 封装即就是按照“应用”“传输” “网络” “链路” 层&#xff0c;封装给每一层都加上相应的包头&#xff08;每一层都有协议&#xff0c;&#xff09;解包就是接受到的包文被一层层去掉相对应的包头。 任何一层的协议都…

ATFX汇市:日本央行或3万亿干预,日元升值势头显著

​ATFX汇市&#xff1a;4月29日&#xff0c;USDJPY创出历史新高160.21&#xff0c;随后进入快速回落阶段。五个交易日&#xff0c;最低价触及151.86点&#xff0c;相比最高价暴跌835基点&#xff0c;约5.21%。同期的美元指数跌幅仅为0.96%&#xff0c;两者跌幅严重不匹配&#…

【intro】图卷积神经网络(GCN)-续

本文为【intro】图卷积神经网络&#xff08;GCN&#xff09;-CSDN博客后续&#xff08;因为经验告诉我超过2w字编辑器就会卡……&#xff09; 第一部分还是进一步再看看GCN 图卷积神经网络GCN_哔哩哔哩_bilibili 回顾 图神经网络的基本原理就是把图中的节点编码映射成一个低…

RabbitMQ是如何保证消息可靠性的?——Java全栈知识(16)

RabbitMQ 的消息不可靠也就是 RabbitMQ 消息丢失只会发生在以下几个方面&#xff1a; 生产者发送消息到 MQ 或者 Exchange 过程中丢失。Exchange 中的消息发送到 MQ 中丢失。消息在 MQ 或者 Exchange 中服务器宕机导致消息丢失。消息被消费者消费的过程中丢失。 大致就分为生…

CANdela/Diva系列1--CANdela Studio的基本介绍

大家好&#xff0c;这个系列主要给大家介绍跟诊断相关的Vector 工具CANdela和Diva&#xff0c;首先介绍CANdela。 目录 1.CANdela的简介&#xff1a; 2.如何打开CANdela 工程&#xff1a; 3.CANdela工程的详细介绍&#xff1a; 3.1 工具栏的介绍&#xff1a; 3.2 工作树的…