【智能算法】吸引-排斥优化算法(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 多任务介绍 运行多个进程…

代码随想录算法训练营第四十五天| 1049. 最后一块石头的重量 II、494. 目标和、474.一和零

1049. 最后一块石头的重量 II 题目链接&#xff1a;1049. 最后一块石头的重量 II 文档讲解&#xff1a;代码随想录/最后一块石头的重量 II 视频讲解&#xff1a;视频讲解-最后一块石头的重量 II 状态&#xff1a;已完成&#xff08;1遍&#xff09; 解题过程 这几天属实是有…

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

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

Python父子继承

下列代码输出是&#xff1a; python class Parent: def __init__(self)&#xff1a; self.value4 def get_value(self)&#xff1a; return self.value class Child(Parent): def get_value(self)&#xff1a; return self.value1…

Lua与Python:深度解析两者之间的核心差异

Lua与Python&#xff1a;深度解析两者之间的核心差异 在计算机编程的广袤领域中&#xff0c;Lua和Python作为两种具有独特特性和应用领域的语言&#xff0c;各自闪耀着独特的光芒。然而&#xff0c;尽管它们都是编程语言&#xff0c;但Lua和Python在多个方面存在着显著的差异。…

深度学习和计算机视觉中的backbone

在深度学习和计算机视觉中&#xff0c;“backbone” 是指深度神经网络的主要部分&#xff0c;通常用于特征提取。骨干网络通过卷积操作提取图像中的低级和高级特征&#xff0c;为后续的特定任务&#xff08;如分类、检测、分割等&#xff09;提供丰富的信息。这些骨干网络一般是…

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

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

OLED C语言编程:深度解析与实战应用

OLED C语言编程&#xff1a;深度解析与实战应用 OLED显示技术以其出色的显示效果和低功耗特性&#xff0c;在现代电子设备中得到了广泛应用。而C语言作为一种高效、灵活的编程语言&#xff0c;自然成为OLED编程的首选。本文将从四个方面、五个方面、六个方面和七个方面&#x…

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

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

最近关于工作与学习的一点思考

文章目录 关于工作关于学习职业规划 关于工作 我2015年大学毕业&#xff0c;工作到现在&#xff0c;差不多九个年头了。最近换工作&#xff0c;有一些沉淀的想法&#xff0c;分享一下我是在淮南读的大学&#xff0c;毕业后就到合肥工作了&#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;它是…

重生之我想写后端

Vue Element Plus 简单的响应式侧边栏 利用onMounted&#xff0c;初次加载页面的时候&#xff0c;为页面注册一个监听器。 当 ‘resize’ 事件发生时&#xff0c; 触发函数。 此函数里监听窗口大小&#xff0c;当窗口小于 500px 时&#xff0c;改变 isCollpase boolean 值。 …

利用元宇宙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波动, 我们会首先产生一路精准电流源, 再复制这路电流. 如何复制呢? 电流转电压再转电流就行了, 如下图所示 考虑到…

Kivy.uix.textinput

一个小小的输入框&#xff0c;纵上下数页文档已不能全不概括&#xff0c;当去源码慢慢寻找&#xff0c;才知道其中作用&#xff0c;才能运用灵活。 Text Input — Kivy 2.3.0 documentation # -*- encoding: utf-8 -*-Text Input .. versionadded:: 1.0.4.. image:: images/te…

windows安装nodeJs,以及常用操作

1. 官网(Node.js — Run JavaScript Everywhere (nodejs.org))下载想要安装的node版本 的安装包完成安装 2.环境变量设置&#xff1a; 系统变量&#xff1a; Path新增&#xff1a;D:\Program Files\nodejs (node安装目录) 3.设置淘宝源&#xff1a; npm config set registr…

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

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

Python操作系统交互的15个实用命令

对于Python初学者而言&#xff0c;掌握如何使用Python与操作系统进行交互是一项非常实用的技能。这不仅能够让你的脚本更加灵活强大&#xff0c;还能在自动化任务处理、文件管理等方面大显身手。下面&#xff0c;我们将通过10个简单到复杂的实例&#xff0c;逐步引导你学习如何…

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

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