【智能算法】吸引-排斥优化算法(AROA)原理及实现

目录

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


1.背景

2024年,K Cymerys受到自然界中吸引-排斥现象启发,提出了吸引-排斥优化算法(Attraction–Repulsion Optimization Algorithm, AROA)。

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

2.算法原理

2.1算法思想

AROA模仿了自然界中发生的吸引-排斥现象的相关平衡,其中候选解决方案根据其邻域中的解决方案质量以及最佳候选方案在搜索空间中移动。

2.2算法过程

吸引和排斥

候选解的位置根据群体其他成员所达到的适应度信息更新,取决于群体成员之间的距离。
d 2 ( x i , x j ) = ∑ k = 1 d i m ( x i k − x j k ) 2 (1) d^{2}(\mathbf{x_{i}},\mathbf{x_{j}})=\sum_{k=1}^{dim}(x_{i}^{k}-x_{j}^{k})^{2}\tag{1} d2(xi,xj)=k=1dim(xikxjk)2(1)
向量ni被添加到候选解的位置:
n i = 1 n ∑ i = 1 k c ⋅ ( x j − x i ) ⋅ I ( d i , j , d i , m a x ) ⋅ s ( f i , f j ) (2) \mathbf{n_i}=\frac{1}{n}\sum_{i=1}^{k}c\cdot(\mathbf{x_j}-\mathbf{x_i})\cdot I(d_{i,j},d_{i,max})\cdot s(f_i,f_j)\tag{2} ni=n1i=1kc(xjxi)I(di,j,di,max)s(fi,fj)(2)
其中c是步长,I是评估解决方案影响的函数:
I ( d i , j , d i , m a x ) = 1 − d i , j d i , m a x (3) I(d_{i,j},d_{i,max})=1-\frac{d_{i,j}}{d_{i,max}}\tag{3} I(di,j,di,max)=1di,maxdi,j(3)
函数s决定了变化的方向:
s ( f i , f j ) = { 1 f i > f j 0 f i = f j − 1 f i < f j (4) s(f_i,f_j)=\begin{cases}1&f_i>f_j\\0&f_i=f_j\\-1&f_i<f_j\end{cases}\tag{4} s(fi,fj)= 101fi>fjfi=fjfi<fj(4)
邻居数量k:
k = ⌊ ( 1 − t t m a x ) ⋅ n ⌋ + 1 (5) k=\lfloor(1-\frac{t}{t_{max}})\cdot n\rfloor+1\tag{5} k=⌊(1tmaxt)n+1(5)
tmax最大迭代次数:
t m a x = ⌈ f e s m a x − n 2 n ⌉ (6) t_{max}=\lceil\frac{fes_{max}-n}{2n}\rceil\tag{6} tmax=2nfesmaxn(6)

吸引最优解

影响候选解决方案在搜索空间中的位置的下一个因素是根据其对最佳解决方案𝐛𝐢的吸引力来确定的:
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 (7) \mathbf{b_i}=\begin{cases}c\cdot m\cdot(\mathbf{x_{best}}-\mathbf{x_i})&r_1\geq p_1\\c\cdot m\cdot(\mathbf{a_1}\odot\mathbf{x_{best}}-\mathbf{x_i})&r_1<p_1\end{cases}\tag{7} bi={cm(xbestxi)cm(a1xbestxi)r1p1r1<p1(7)
m是平衡因子:
m = 1 2 ( exp ⁡ ( z ) − 1 exp ⁡ ( z ) + 1 + 1 ) (8) m=\frac{1}{2}(\frac{\exp(z)-1}{\exp(z)+1}+1)\tag{8} m=21(exp(z)+1exp(z)1+1)(8)
其中,z表述为:
z = 18 ⋅ t / t m a x − 4 (9) z = 18\cdot t/t_{max} - 4\tag{9} z=18t/tmax4(9)

局部搜索算子

修正布朗运动:
r B = u 1 ⊙ N ( 0 , f r 1 ⋅ ( 1 − t t m a x ) ⋅ ( x m a x − x m i n ) ) (10) \mathbf{r_B}=\mathbf{u_1}\odot\mathbf{N}(0,fr_1\cdot(1-\frac{t}{t_{max}})\cdot(\mathbf{x_{max}}-\mathbf{x_{min}}))\tag{10} rB=u1N(0,fr1(1tmaxt)(xmaxxmin))(10)

三角函数轮盘赌轮策略:
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 (11) \mathbf{r_{tri}}=\begin{cases}fr_2\cdot\mathbf{u_2}\cdot(1-\frac{t}{t_{max}})\cdot\sin(2r_5\pi)\odot|\mathbf{a_2}\odot\mathbf{x_w}-\mathbf{x_i}|&r_4<0.5\\fr_2\cdot\mathbf{u_2}\cdot(1-\frac{t}{t_{max}})\cdot\cos(2r_5\pi)\odot|\mathbf{a_2}\odot\mathbf{x_w}-\mathbf{x_i}|&r_4\ge0.5\end{cases}\tag{11} rtri={fr2u2(1tmaxt)sin(2r5π)a2xwxifr2u2(1tmaxt)cos(2r5π)a2xwxir4<0.5r40.5(11)
在AROA中,局部搜索算子采用SCA的轮盘选择,最优解的选择采用贪婪选择方法。前两种算子考虑了当前执行迭代的数量,旨在用于探索或开发阶段。在搜索空间中随机选择一个位置丰富种群多样性:
r R = u 3 ⊙ ( 2 ⋅ a 3 − o ) ⊙ ( x m a x − x m i n ) (12) \mathbf{r_{R}}=\mathbf{u_{3}}\odot(2\cdot\mathbf{a_{3}}-\mathbf{o})\odot(\mathbf{x_{max}}-\mathbf{x_{min}})\tag{12} rR=u3(2a3o)(xmaxxmin)(12)
位置ri:
r i = { { r B r 3 > 0.5 ⋅ t t m a x + 0.25 r t r i r 3 ≤ 0.5 ⋅ t t m a x + 0.25 r 2 < p 2 r R r 2 ≥ p 2 (13) \mathbf{r_i}=\begin{cases}\begin{cases}\mathbf{r_B}&r_3>0.5\cdot\frac{t}{t_{max}}+0.25\\\mathbf{r_{tri}}&r_3\leq0.5\cdot\frac{t}{t_{max}}+0.25\end{cases}&r_2<p_2\\\\\mathbf{r_R}&r_2\geq p_2\end{cases}\tag{13} ri= {rBrtrir3>0.5tmaxt+0.25r30.5tmaxt+0.25rRr2<p2r2p2(13)
位置更新:
x i ( t ) = x i ( t − 1 ) + n i + b i + r i (14) \mathbf{x_{i}(t)=x_{i}(t-1)+n_{i}+b_{i}+r_{i}}\tag{14} xi(t)=xi(t1)+ni+bi+ri(14)

基于种群的算子

x i = { x i + c f ⋅ ( u 4 ⊙ ( a 4 ⊙ ( x m a x − x m i n ) + x m i n ) ) r 6 < e f x i + ( e f ⋅ ( 1 − r 7 ) + r 7 ) ( x r 8 − x r 9 ) r 6 ≥ e f (15) \mathbf{x_i}=\begin{cases}\mathbf{x_i}+c_f\cdot(\mathbf{u_4}\odot(\mathbf{a_4}\odot(\mathbf{x_{max}}-\mathbf{x_{min}})+\mathbf{x_{min}}))&r_6<e_f\\\mathbf{x_i}+(e_f\cdot(1-r_7)+r_7)(\mathbf{x_{r8}}-\mathbf{x_{r9}})&r_6\geq e_f\end{cases}\tag{15} xi={xi+cf(u4(a4(xmaxxmin)+xmin))xi+(ef(1r7)+r7)(xr8xr9)r6<efr6ef(15)

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Cymerys K, Oszust M. Attraction–Repulsion Optimization Algorithm for Global Optimization Problems[J]. Swarm and Evolutionary Computation, 2024, 84: 101459.

5.代码获取

资源清单

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

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

相关文章

Python—面向对象小解(5)

一、多任务介绍 1.1 进程与线程 进程是操作系统分配资源的最小单元 线程执行程序的的最小单元 线程依赖进程&#xff0c;可以获取进程的资源 一个程序执行 先要创建进程分配资源&#xff0c;然后使用线程执行任务 默认情况下一个进程中有一个线程 1.2 多任务介绍 运行多个进程…

深入解析CRM客户关系系统:技术架构与功能实现的融合创新

CRM客户关系管理系统&#xff08;Customer Relationship Management System&#xff09;是一种以客户为中心的信息系统&#xff0c;旨在帮助企业更好地管理和维护客户关系&#xff0c;提高客户满意度和忠诚度&#xff0c;从而提升企业的市场竞争力。以下是CRM客户关系管理系统的…

电磁兼容整改时磁环怎么选型

电磁兼容整改时磁环怎么选型 磁环的选型错误磁环特性纳米微晶磁环磁环选型示例磁环选型 一条线缆两端都有设备&#xff0c;那磁环应该放在哪里&#xff1f; 我们怎么样来选择这个磁环&#xff0c;通过磁环的吸收作用&#xff0c;让辐射的强度和传导发射的这个强度衰减更大的那我…

Linux|虚拟机|Windows 11 家庭版的Hyper虚拟机服务开启

前言&#xff1a; Windows11的版本是比较多的&#xff0c;但有的时候笔记本预装的可能是家庭版&#xff0c;而家庭版的Windows通常是不支持虚拟机的&#xff0c;也就是说Hyper服务根本就看不到 Windows的程序和功能大体如下&#xff1a; &#x1f197;&#xff0c;那么如何开…

一、初识Qt 之 Hello world

一、初识Qt 之 Hello world 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 初识Qt 之 Hello world文章目录 一、Qt 简介二、Qt 获取安装三、Qt 初步使用四、Qt 之 Hello world1.新建一个项目 总结 一、Qt 简介 C &#xf…

数据库系统概论(超详解!!!)第十节 过程化SQL

1.Transact-SQL概述 SQL(Structure Query Language的简称&#xff0c;即结构化查询语言) 是被国际标准化组织(ISO)采纳的标准数据库语言&#xff0c;目前所有关系数据库管理系统都以SQL作为核心&#xff0c;在JAVA、VC、VB、Delphi等程序设计语言中也可使用SQL&#xff0c;它是…

利用元宇宙NFG+IPO线上营销,打造新商业模型

随着互联网技术的飞速发展&#xff0c;商业模式和创新方式层出不穷。特别是在移动电商和区块链技术的双重推动下&#xff0c;市场格局正在经历一场深刻的变革。然而&#xff0c;随着竞争加剧和监管收紧&#xff0c;如何构建一个既能吸引用户又能保持系统稳定的商业模型&#xf…

Chapter 5 Current Mirrors and Biasing Techniques

Chapter 5 Current Mirrors and Biasing Techniques 这一章介绍电流镜 5.1 Basic Current Mirrors MOS工作在饱和区, 表现为一个电流源. 考虑电源变化, PVT波动, 我们会首先产生一路精准电流源, 再复制这路电流. 如何复制呢? 电流转电压再转电流就行了, 如下图所示 考虑到…

传感器和变送器的区别介绍

从它的名称来看&#xff0c;传与感二字。传是指传输&#xff0c;感是指感知。实际上是先有感知&#xff0c;其次转换&#xff0c;最后传输。因此传输是目的&#xff0c;转换是手段&#xff0c;感知是基础。把能够将被测变量&#xff08;温度、压力、液位、流量&#xff09;感知…

港湾周评|李小加“刀刃向内”裁员

《港湾商业观察》李镭 近年来争议颇大的滴灌通风波不断。 在交100万付费上班不久&#xff0c;最新又被曝出裁员。这位前港交所总裁、金融圈鼎鼎大名的李小加&#xff0c;没想到成立不足三年便迎来了重大挑战。 日前&#xff0c;滴灌通确认了公司组织架构已经调整&#xff0c…

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)

在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…

深入浅出Java多线程

系列文章目录 文章目录 系列文章目录前言一、多线程基础概念介绍线程的状态转换图线程的调度一些常见问题 二、Java 中线程的常用方法介绍Java语言对线程的支持Thread常用的方法三、线程初体验&#xff08;编码示例&#xff09; 前言 前些天发现了一个巨牛的人工智能学习网站&…

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练,孪生训练,导出onnx,搭建部署接口

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练&#xff0c;孪生训练&#xff0c;导出onnx&#xff0c;搭建部署接口 文章目录 【验证码识别】Yolov8入门到实战点选验证码数据集分类训练&#xff0c;孪生训练&#xff0c;导出onnx&#xff0c;搭建部署接口声明一、标…

scButterfly:单细胞跨模态翻译

技术限制导致了高噪声的多模态数据。尽管已经提出了计算方法来跨模态翻译单细胞数据&#xff0c;但是这些方法的泛化性仍然受到制约。scButterfly是一种基于双重对齐变分自编码器和数据增强方案的多功能单细胞跨模态翻译方法。通过对多个数据集进行全面的实验&#xff0c;证明了…

工业安全智勇较量,赛宁网安工业靶场决胜工业网络攻防对抗新战场

2024年1月30日&#xff0c;工信部发布《工业控制系统网络安全防护指南》&#xff08;工信部网安〔2024〕14号&#xff09;&#xff0c;围绕安全管理、技术防护、安全运营、责任落实四方面提出安全防护要求&#xff0c;强调聚焦安全薄弱关键环节&#xff0c;强化技术应对策略&am…

大学生社团活动平台系统基于springboot+vue的社团管理系统java项目sprignboot项目

文章目录 大学生社团活动平台一、项目介绍二、部分功能截图三、部分代码展示四、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 大学生社团活动平台 一、项目介绍 基于springbootvue的前后端分离大学生社团活动平台 系统角色 : 学生、社长、管理员 1、学生…

FENDI CLUB精酿啤酒中原麦汁浓度的高低有何区别?

关于精酿啤酒&#xff0c;有两个关键数据&#xff0c;一个是原麦汁浓度&#xff0c;一个是酒精度。酒精度无非是含酒精的高低&#xff0c;但原麦汁浓度又是什么呢&#xff1f;另外精酿啤酒中原麦汁浓度有高有低&#xff0c;究竟有哪些区别呢&#xff1f; 原麦汁浓度是指啤…

息壤,让全网算力随愿可得

【全球云观察 &#xff5c; 科技热点关注】 当下的AIGC时代&#xff0c;算力领域面临的最大挑战是什么&#xff1f; 对于这个问题&#xff0c;仁者见仁&#xff0c;智者见智。但答案中最吸引业界眼球的莫过于&#xff0c;算力调度。为什么呢&#xff1f; 「因时而生」&#xf…

2006NOIP普及组真题 4. 数列

线上OJ&#xff1a; 【06NOIP普及组】数列 思考&#xff1a; 这道题大概率是一道可以使用“瞪眼法”找到规律的题目。我们尝试把数据补充的更多&#xff0c;以便于寻找规律 当 k3 时&#xff0c;k的幂次为1, 3, 9, 27, 81… 从上述推理中&#xff0c;我们发现要输出的幂次和中…

纯js仿淘宝多图片封面图插件模板/带视频,带放大镜,带前后端完整代码PHP

功能预览,他依赖jq插件,请自已引入 类似这样 <script type"text/javascript" src"/Application/Admin/Static/js/jquery-2.0.3.min.js"></script>一,前端模板代码 <!--多图功能--><style> charset "utf-8"; .wrap_imgs…