文章目录

  • 一、理论基础
    • 1、算术优化算法
      • (1)初始化阶段
      • (2)探索阶段
      • (3)开发阶段
    • 2、算术优化算法(AOA)的伪代码
  • 二、仿真实验与分析
  • 三、参考文献

一、理论基础

1、算术优化算法

算术优化算法(Arithmetic Optimization Algorithm, AOA)根据算术操作符的分布特性来实现全局寻优,是一种元启发式优化算法。算法分为三部分,通过数学优化器加速函数选择优化策略,乘法策略与除法策略进行全局搜索,提高解的分散性,增强算法的全局寻优与克服早熟收敛能力,实现全局探索寻优。开发阶段利用加法策略与减法策略降低解的分散性,有利于种群在局部范围内充分开发,加强算法的局部寻优能力。

(1)初始化阶段

AOA的优化过程从一组候选解(XXX)开始,如式(1)所示,这些候选解是随机生成的,每次迭代中的最佳候选解被视为获得的最佳解或迄今为止的近似最优解。X=[x1,1⋯⋯x1,jx1,n−1x1,nx2,1⋯⋯x2,jx2,n−1x2,n⋯⋯⋯⋯⋯⋯⋮⋮⋮⋮⋮⋮xN−1,1⋯⋯xN−1,j⋯xN−1,nxN,1⋯⋯xN,jxN,n−1xN,n](1)X=\begin{bmatrix} x_{1,1} & \cdots & \cdots & x_{1,j} & x_{1,n-1} & x_{1,n} \\ x_{2,1} & \cdots & \cdots & x_{2,j} & x_{2,n-1} & x_{2,n} \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ x_{N-1,1} & \cdots & \cdots & x_{N-1,j} & \cdots & x_{N-1,n} \\ x_{N,1} & \cdots & \cdots & x_{N,j} & x_{N,n-1} & x_{N,n} \end{bmatrix}\tag{1}X=⎣⎡​x1,1​x2,1​⋯⋮xN−1,1​xN,1​​⋯⋯⋯⋮⋯⋯​⋯⋯⋯⋮⋯⋯​x1,j​x2,j​⋯⋮xN−1,j​xN,j​​x1,n−1​x2,n−1​⋯⋮⋯xN,n−1​​x1,n​x2,n​⋯⋮xN−1,n​xN,n​​⎦⎤​(1)AOA通过数学优化器加速函数(Math Optimizer Accelerated, MOA)选择搜索阶段,当r1>MOAr_1>MOAr1​>MOA时,AOA进行全局探索,当r1<MOAr_1<MOAr1​<MOA时,AOA进入局部开发阶段。MOA(t)=Min+t×(Max−MinT)(2)MOA(t)=Min+t×\left(\frac{Max-Min}{T}\right)\tag{2}MOA(t)=Min+t×(TMax−Min​)(2)其中,r1r_1r1​代表0到1之间的随机数,MinMinMin与MaxMaxMax分别是加速函数的最小值和最大值,为0.2和1。

(2)探索阶段

AOA通过乘法运算与除法运算实现全局搜索,当r2>0.5r_2>0.5r2​>0.5时,执行除法搜索策略,否则,执行乘法搜索策略,其位置更新公式如下:X(t+1)={Xb(t)÷(MOP+ε)×((UB−LB)×μ+LB),r2>0.5Xb(t)×MOP×((UB−LB)×μ+LB),r2≤0.5(3)X(t+1)=\begin{dcases}X_b(t)÷(MOP+\varepsilon)×((UB-LB)×\mu+LB),r_2>0.5\\X_b(t)×MOP×((UB-LB)×\mu+LB),\quad\quad\,\,\, r_2\leq0.5\end{dcases}\tag{3}X(t+1)={Xb​(t)÷(MOP+ε)×((UB−LB)×μ+LB),r2​>0.5Xb​(t)×MOP×((UB−LB)×μ+LB),r2​≤0.5​(3)其中,r2∈[0,1]r_2\in[0,1]r2​∈[0,1],μ\muμ是调整搜索过程的控制参数,值为0.499,ε\varepsilonε为极小值,数学优化器概率(Math Optimizer Probability, MOP)(如图1所示)计算公式如下:MOP(t)=1−t1αT1α(4)MOP(t)=1-\frac{t^{\frac1\alpha}}{T^{\frac1\alpha}}\tag{4}MOP(t)=1−Tα1​tα1​​(4)其中,α\alphaα是敏感参数,定义了迭代过程中的局部开发精度,取值为5。

图1 数学优化器概率曲线图

(3)开发阶段

AOA利用加法运算与减法运算实现局部开发,位置更新公式如下:X(t+1)={Xb(t)−MOP×((UB−LB)×μ+LB),r3>0.5Xb(t)+MOP×((UB−LB)×μ+LB),r3≤0.5(5)X(t+1)=\begin{dcases}X_b(t)-MOP×((UB-LB)×\mu+LB),r_3>0.5\\X_b(t)+MOP×((UB-LB)×\mu+LB),r_3\leq0.5\end{dcases}\tag{5}X(t+1)={Xb​(t)−MOP×((UB−LB)×μ+LB),r3​>0.5Xb​(t)+MOP×((UB−LB)×μ+LB),r3​≤0.5​(5)其中,r3r_3r3​为[0,1][0,1][0,1]的随机数。

2、算术优化算法(AOA)的伪代码

图2 AOA算法伪代码

二、仿真实验与分析

将AOA与GWO、SCA和WOA进行对比,AOA参数设置如第一节所示。为了更准确的验证所提算法与对比算法的优劣性,设定种群规模N=30N=30N=30,维度D=10D=10D=10,最大迭代次数为500,各算法独立运行30次,各算法参数设置与原文献一致。以文献[1]中的F1~F5为例。
结果显示如下:

函数:F1
GWO:best: 1.3305e-69,worst:1.3277e-61,mean:4.6063e-63,std:2.4213e-62
SCA:best: 5.19e-20,worst:7.6592e-11,mean:4.6613e-12,std:1.4616e-11
WOA:best: 3.1e-91,worst:2.0794e-77,mean:1.4271e-78,std:4.6428e-78
AOA:best: 0,worst:1.4069e-283,mean:4.6895e-285,std:0
函数:F2
GWO:best: 3.4374e-39,worst:2.7874e-36,mean:3.0562e-37,std:5.7549e-37
SCA:best: 1.6297e-12,worst:3.2899e-08,mean:2.2499e-09,std:6.035e-09
WOA:best: 3.5874e-61,worst:9.9506e-52,mean:4.6096e-53,std:1.8851e-52
AOA:best: 0,worst:0,mean:0,std:0
函数:F3
GWO:best: 3.4434e-30,worst:5.1223e-24,mean:3.7524e-25,std:1.0476e-24
SCA:best: 2.413e-08,worst:0.12386,mean:0.0043233,std:0.022579
WOA:best: 0.0061823,worst:1407.0217,mean:221.6468,std:352.294
AOA:best: 0,worst:2.3197e-314,mean:7.7323e-316,std:0
函数:F4
GWO:best: 2.9587e-21,worst:7.1641e-18,mean:7.0815e-19,std:1.3765e-18
SCA:best: 2.4999e-06,worst:0.019411,mean:0.0010942,std:0.0035595
WOA:best: 0.00018126,worst:14.1995,mean:3.5162,std:4.4943
AOA:best: 0,worst:6.3401e-123,mean:2.1134e-124,std:1.1575e-123
函数:F5
GWO:best: 5.6622,worst:8.3538,mean:6.2751,std:0.54266
SCA:best: 6.4971,worst:8.1146,mean:7.5187,std:0.41923
WOA:best: 6.2757,worst:8.9567,mean:6.9797,std:0.56355
AOA:best: 6.0705,worst:7.2897,mean:6.6426,std:0.28928

实验结果表明,AOA算法能够有效地平衡全局探索和局部开发能力,具有良好的鲁棒性以及寻优精度。

三、参考文献

[1] Laith Abualigah, Ali Diabat, Seyedali Mirjalili, et al. The Arithmetic Optimization Algorithm[J]. Computer Methods in Applied Mechanics and Engineering, 2021, 376: 113609.
[2] 贾鹤鸣, 刘宇翔, 刘庆鑫, 等. 融合随机反向学习的黏菌与算术混合优化算法[J]. 计算机科学与探索, 2022, 16(5): 1182-1192.

基于算术优化算法的函数寻优算法相关推荐

  1. 《MATLAB智能算法30个案例》:第2章 基于遗传算法和非线性规划的函数寻优算法

    <MATLAB智能算法30个案例>:第2章 基于遗传算法和非线性规划的函数寻优算法 1. 前言 2. MATLAB 仿真示例一 3. MATLAB 仿真示例二 4. MATLAB 仿真示例 ...

  2. 基于蚁群算法的函数寻优算法

    文章目录 一.理论基础 二.案例背景 1.问题描述 2.解题思路及步骤 三.MATLAB程序实现 1.清空环境变量 2.初始化参数 3.构建解空间和目标函数 4.迭代寻优 5.结果显示 6.绘图 四. ...

  3. 基于沙猫群优化算法的函数寻优算法

    文章目录 一.理论基础 1.沙猫群优化算法 (1)初始化种群 (2)搜索猎物(探索) (3)攻击猎物(开发) (4)探索和开发 2.SCSO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基 ...

  4. 基于蜉蝣优化算法的函数寻优算法

    文章目录 一.理论基础 1.蜉蝣优化算法 (1)雄性蜉蝣的更新 (2)雌性蜉蝣的更新 (3)蜉蝣的交配过程 2.MA算法伪代码 二.仿真实验与结果分析 1.函数测试与数值分析 2.WSN三维覆盖优化 ...

  5. 基于金豺优化算法的函数寻优算法

    文章目录 一.理论基础 1.金豺优化算法 (1)搜索空间公式 (2)探索阶段或搜索猎物 (3)开发阶段或围捕和突袭猎物 (4)从探索转向开发 2.GJO伪代码 二.仿真实验与结果分析 三.参考文献 一 ...

  6. 基于果蝇优化算法的函数寻优算法

    文章目录 一.理论基础 二.算法步骤 1.启发 2.方向和距离 3.气味浓度判断值 4.适应度评估 5.寻找最优个体 6.飞行 7.迭代优化 三.案例背景 问题描述 四.MATLAB程序实现 1.清空 ...

  7. 基于蜂鸟优化算法的函数寻优算法

    文章目录 一.理论基础 1.自搜索阶段 2.引导搜索阶段 3.HOA伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 蜂鸟优化算法(Hummingbirds optimization algor ...

  8. 基于藤壶交配优化算法的函数寻优算法

    文章目录 一.理论基础 1.藤壶交配优化算法 1.1 哈迪-温伯格(Hardy-Weinberg)法则 1.2 BMO 1.2.1 初始化 1.2.2 选择过程 1.2.3 繁殖 2.BMO算法伪代码 ...

  9. 基于阿基米德优化算法的函数寻优算法

    文章目录 一.理论基础 1.算法步骤 (1)初始化 (2)更新密度和体积 (3)转移算子与密度算子 (4)勘探阶段 <1> 物体之间发生碰撞 <2> 物体之间无碰撞 <3 ...

  10. 基于堆优化算法的函数寻优算法

    文章目录 一.理论基础 1.堆优化算法(HBO) 2.HBO算法伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 堆优化算法(Heap-based optimizer, HBO)模拟公司层次结构 ...

最新文章

  1. cocos2dx 3.x(动态改变精灵的背景图片)
  2. Spring Cloud第四章:熔断器Hystrix
  3. 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )
  4. 启明云端分享 | sigmastar SSD201开发板网口直连PC升级
  5. 小米知识图谱团队斩获CCKS 2020实体链指比赛冠军
  6. 用反射写的取属性值和设置属性值得方法
  7. 噪声产生原因_想要解决音响噪声,得先看这五大原因
  8. ubuntu 安装软件到一半被中断的解决办法
  9. IOS10.8.2安装
  10. 怎么保存php格式,把php代码保存到php文件实现方法
  11. 基于公网smtp协议实现邮件服务器
  12. 泰然的粒子编辑器~~拿过来玩玩啊
  13. 微信视频号推流直播使用测评
  14. qregexp括号匹配_qt中的正则表达式QRegExp使用大全以及匹配中括号[]方法大全
  15. 操作系统复习(二)——操作系统主要功能
  16. 文本框获取焦点后出现的边框,怎么去掉
  17. 有哪些性价比高的照明品牌?性价比最高的灯具品牌
  18. 信奥中的数学基础:分解质因数
  19. 如何成为优秀的数据人经验分享
  20. 共识协议(5)DPOS委托权益证明

热门文章

  1. 【协议分析】WAP1.x协议栈浅析-WSP协议
  2. 计算机硬件性能及瓶颈,这只是一个教您了解计算机性能瓶颈的技巧-如何测试计算机性能...
  3. word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
  4. Alexa 开发指南
  5. IBM ServerGuide 8.42
  6. matlab实现3维测井曲线绘制
  7. Oracle之学习if条件选择语句
  8. USB转串口设备如何固定串口号
  9. python自动化中使用unittestreport输出测试报告
  10. postgresql客户端远程连接