2024年新算法||吸引-排斥优化算法(Attraction–Repulsion Algorithm)

本期介绍一种求解约束全局优化问题的元启发式搜索算法——吸引-排斥优化算法Attraction–Repulsion Optimization Algorithm,AROA。该算法模拟自然界中发生的吸引-排斥现象相关的平衡。该成果于2024年2月发表在中科院1区SCI期刊 Swarm and Evolutionary Computation(if = 10)。

一、亮点

  1. 介绍了一种新颖的吸引-排斥搜索方案。
  2. 提出的元启发式由平衡搜索运算符控制。
  3. 算法在三个要求苛刻的CEC基准上得到验证。
    在这项研究中,提出了一种用于约束全局优化问题的新型元启发式搜索(MHS)算法。AROA引入了一种搜索策略,其中候选解决方案根据其邻域中解决方案的质量以及最佳候选方案在搜索空间中移动。候选方案由基于修正布朗运动、三角函数、随机选择的解决方案和记忆形式的局部搜索算子管理。

二、数学模型

2.1 种群初始化

所有种群的初始位置都是随机确定的
X i = x m i n + r a n d ( 0 , 1 ) ⋅ ( x m a x − x m i n ) X_{i}=x_{min}+r a n d\left(0,1\right)\cdot\left(x_{max}-x_{min}\right) Xi=xmin+rand(0,1)(xmaxxmin)

2.2 吸引和排斥

选解决方案的位置根据总体其余部分获得的适应度信息更新。它对个体位置变化的贡献取决于种群成员之间的距离。
a i   =   1 n   ∑ j = 1 k   c ⋅ ( x j   −   x i ) ⋅ I ( d i , j , d i , m a x ) ⋅ s ( f i , f j )   , \mathbf{a}_{\mathrm{i}}\,=\,{\frac{1}{n}}\,\sum_{j=1}^{k}\,c\cdot\left(\mathbf{x}_{\mathrm{j}}\,-\,\mathbf{x}_{\mathrm{i}}\right)\cdot I\left(d_{i,j},d_{i,m a x}\right)\cdot{}s\left(f_{i},f_{j}\right)\,, ai=n1j=1kc(xjxi)I(di,j,di,max)s(fi,fj),

2.3 吸引最好的解

影响候选解决方案在搜索空间中位置的下一个因素是根据最佳解决方案的吸引力来确定的.在探索应起主导作用的优化过程开始时,假设最佳解应微弱地影响候选者,但随着迭代次数的增加,其影响更好地反映了算法开发阶段的意义,在AROA中,表示吸引引起的动作的向量计算为
b i = { c . m . ( x b e s t − x i ) r 1 ≥ p 1 c . m . ( a 1 ⊙ x b e s t − x i ) r 1 < p 1 \mathbf{b}_{\mathrm{i}}={\left\{\begin{array}{l l}{c.m.\left(\mathbf{x_{best}}-\mathbf{x_{i}}\right)}&{r_{1}\geq p_{1}}\\ {c.m.\left(\mathbf{a_{1}}\odot\mathbf{x_{best}}-\mathbf{x_{i}}\right)}&{r_{1}\lt p_{1}}\end{array}\right.} bi={c.m.(xbestxi)c.m.(a1xbestxi)r1p1r1<p1

2.4 局部搜索算子

为了给算法配备一个开发策略,除了与最佳候选者的吸引力相关的策略之外,每个候选者还使用三个随机局部搜索算子中的一个。第一个算子受到布朗运动的启发,布朗运动通常用于模拟小粒子的步长[19],[20]。它可以用正态分布来描述 ,然而,在所提出的方法中,均方差是通过添加当前迭代次数和搜索空间边界来修改的。
r B = u 1 ⊙ M ( 0 , f r 1  ⁣ ⋅ ( 1 − t t m a z ) ⋅ ( x m a x − x m i n ) ) {\bf r_{B}}={\bf u_{1}}\odot\mathcal{M}\left(0,f r_{1}\!\cdot\left(1-\frac{t}{t_{m a z}}\right)\cdot\left({\bf x_{m a x}}-{\bf x_{m i n}}\right)\right) rB=u1M(0,fr1(1tmazt)(xmaxxmin))

r t r i = { f r 2 ⋅ u 2 ⋅ ( 1 − t t m a x ) ⋅ sin ⁡ ( 2 r 5 π ) ⊙ ∣ a 2 ⊙ x w − x i ∣            r 4 < 0.5 f r 2 ⋅ u 2 ⋅ ( 1 − t t m a x ) ⋅ cos ⁡ ( 2 r 5 π ) ⊙ ∣ a 2 ⊙ x w − x i ∣                r 4 ≥ 0.5 \mathbf{r}_{\mathrm{tri}}={\left\{\begin{array}{l l}{f r_{2}\cdot\mathbf{u}_{2}\cdot\left(1-{\frac{t}{t_{m a x}}}\right)\cdot\sin\left(2r_{5}\pi\right)\odot\left|\mathbf{a}_{2}\odot\mathbf{x}_{w}-\mathbf{x}_{\mathrm{i}}\right|\;\;\;\;\;r_{4}\lt 0.5}\\ {f r_{2}\cdot\mathbf{u}_{2}\cdot\left(1-{\frac{t}{t_{m a x}}}\right)\cdot\cos\left(2r_{5}\pi\right)\odot\left|\mathbf{a}_{2}\odot\mathbf{x}_{w}-\mathbf{x}_{\mathrm{i}}\right|\;\;\;\;\;\;\;r_{4}\geq0.5}\end{array}\right.} rtri= fr2u2(1tmaxt)sin(2r5π)a2xwxir4<0.5fr2u2(1tmaxt)cos(2r5π)a2xwxir40.5

基于种群的算子:影响所有解决方案
在这里插入图片描述

Karol Cymerys, Mariusz Oszust,Attraction–Repulsion Optimization Algorithm for Global Optimization Problems,Swarm and Evolutionary Computation,Volume 84, 2024, 101459, https://doi.org/10.1016/j.swevo.2023.101459.

3、完整代码下载

(1)AROA跑cec2017数据集(完整代码)
(2)AROA跑cec2005数据集(完整代码)

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

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

相关文章

Codesys.运动控制电子齿轮

文章目录 一. 电子齿轮概念应用 二. 电子齿轮耦合功能块 2.1. MC_GearIn 2.2. MC_GearInPos 2.3. MC_GearOut 三. 电子齿轮案例 3.1. 样例介绍 3.2. 引入虚轴 3.3. 程序框架 3.4. 程序编写 3.5. 程序监控 一. 电子齿轮概念应用 在很多应用场景中有多个牵引轴每个牵引…

如何优雅地避免空指针异常(NullPointerException)

空指针异常是导致java程序运行中断最常见的原因&#xff0c;相信每个程序猿都碰见过&#xff0c;也就是NullPointException&#xff0c;我们通常简称为NPE&#xff0c;为了提高我们写的代码的健壮性&#xff0c;本文告诉大家如何优雅避免NPE。 出现空指针异常的情况 访问空对…

几大开源免费的 JavaScript 富文本编辑器测评

MarkDown 编辑器用的时间长了&#xff0c;发现发现富文本编辑器用起来是真的舒服。 一直以来写博客都是用的 MarkDown 编辑器&#xff0c;MarkDown 文档简单方便&#xff0c;使用几个简单的符号就可以定义出样式统一的富文本内容。写博客的时间长了&#xff0c;小玖就越来越排…

数据分析-Pandas数据画箱线图

数据分析-Pandas数据画箱线图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&#xff…

程序运行的基本流程

操作系统&#xff08;应用程序&#xff09;&#xff1a; 装系统就是将操作系统安装到硬盘1中 计算机启动的基本过程&#xff1a; 总结&#xff1a; 程序一般保存在硬盘中&#xff0c;软件安装的过程就是将程序写入硬盘的过程程序在运行时会加载进入内存&#xff0c;然后由CPU…

C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码

1 微分方程 含有导数或微分的方程称为微分方程&#xff0c;未知函数为一元函数的微分方程称为常微分方程。 微分方程的阶数 微分方程中导数或微分的最高阶数称为微分方程的阶数。 微分方程的解 使得微分方程成立的函数称为微分方程的解。 微分方程的特解 微分方程的不含任意…

计算数据集的总体标准差pstdev()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算数据集的总体标准差 pstdev() [太阳]选择题 pstdev() 的作用是&#xff08;&#xff09; import statistics a [0, 0, 8, 8] print("【显示】a ",a) print("【执行】st…

GPT-4 等大语言模型(LLM)如何彻底改变客户服务

GPT-4革命&#xff1a;如何用AI技术重新定义SEO策略 在当今快节奏的数字时代&#xff0c;客户服务不再局限于传统的电话线或电子邮件支持。 得益于人工智能 (AI) 和自然语言模型 (NLM)&#xff08;例如 GPT-4&#xff09;的进步&#xff0c;客户服务正在经历革命性的转变。 在这…

网络故障基本判断方法

1&#xff09;电脑上使用winR键&#xff0c;打开运行窗口&#xff0c;输入CMD命令&#xff0c;点击回车键 2&#xff09;在弹出的CMD运行窗口中输入ipconfig命令 通过该命令可以查看本机的IP地址&#xff0c;子网掩码和网关等信息。确认电脑中所有网卡配置是否正确。 3&…

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现

为何要加上UNIAPP及微信小程序&#xff0c;可能是想让检索的翻围更广把。&#x1f607; Base64的JS原生编解码在uni的JS引擎中并不能直接使用&#xff0c;因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题&#xff0c;需要通过URLLink进行小程序跳转并携带Base64参…

MySQL 学习笔记(基础篇 Day3)

「写在前面」 本文为黑马程序员 MySQL 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. MySQL 学习笔记&#xff08;基础篇 Day1&#xff09; 2. MySQL 学习笔记&#xff08…

SpringBoot 多平台文件配置

目录 一 主配置文件和辅配置文件 二 具体使用 1. 通过直接修改 application.yml 中的属性值 2. 通过 maven 进行配置修改 当我们需要部署项目的时候, 肯定会遇到不同的部署环境下, 需要有不同的配置. 例如开发环境下和生产环境下的配置肯定就不会是完全相同的, 如数据库的…

找不到本地组策略编辑器解决办法

创建记事本写入以下命令 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-…

[java基础揉碎]方法的重写/覆盖

重写介绍 简单的说:方法覆盖(重写)就是子类有一个方法,和父类(也可能是爷爷,更上一级)的某个方法的名称、返回类型、参数一样&#xff0c;那么我们就说子类的这个方法 覆盖了父类的方法 重写重载对比

【内推】新风口-大模型独角兽公司minimax

先上内推链接&#xff1a; MiniMax社招内推码: AK3XEJ6 投递链接: https://vrfi1sk8a0.jobs.feishu.cn/s/iFY5WFgE 岗位&#xff1a;前端、后端、算法&#xff0c;基础架构都有&#xff0c;大量hc 公司介绍&#xff1a; 国内同时拥有文本、语音、视觉三种基础大模型能力的创业…

软考高级:信息系统生命周期概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

【Neo4j系列】Neo4j之CQL语句和函数介绍

本文将对Neo4j中的CQL语句和CQL函数进行详细介绍。 作者&#xff1a;后端小肥肠 目录 1. 前言 2. CQL语句 2.1. CQL简介 2.2. CREATE命令 2.3. MATCH命令 2.4. RETURN命令 2.5. MATCH和RETURN 2.6. CREATEMATCHRETURN命令 2.7. 关系基础 2.8. CREATE创建标签 2.9. WH…

【博士每天一篇文献-综述】Modular Brain Networks

阅读时间&#xff1a;2023-11-27 1 介绍 年份&#xff1a;2016 作者&#xff1a;Olaf Sporns&#xff0c;Richard Betzel&#xff0c;印第安纳大学心理与脑科学杰出教授 期刊&#xff1a; Annual review of psychology 引用量&#xff1a;1205 详细介绍了模块化大脑网络及其如…

ubuntu 卸载miniconda3

一开始安装路径错了&#xff0c;需要重新安一次&#xff0c;就一起记录了。 前提是这种方式安装&#xff1a; ubuntu安装miniconda3管理python版本-CSDN博客 删除Miniconda的安装目录 这目录就是你选择安装的时候指定的&#xff0c;如果记不得了,可以这样查看 which conda 这…

JavaWeb——013SpringBootWeb综合案例(事务管理、AOP)

事务&AOP 目录 事务&AOP1. 事务管理1.1 事务回顾1.2 Spring事务管理1.2.1 案例1.2.2 原因分析1.2.3 Transactional注解 1.3 事务进阶1.3.1 rollbackFor1.3.3 propagation1.3.3.1 介绍1.3.3.2 案例 2. AOP基础2.1 AOP概述2.2 AOP快速入门2.3 AOP核心概念 3. AOP进阶3.1 …
最新文章