智能优化算法:算术优化算法-附代码

文章目录

  • 智能优化算法:算术优化算法-附代码
    • 1.算法原理
      • 1.1 数学优化器加速函数
      • 1.2 探索阶段
      • 1.3 开发阶段
    • 2.算法结果
    • 3.参考文献
  • 4.Matlab代码

摘要:AOA 算法是在 2021 年由 Abualigah 等人提出的基于四则混合运算思想设计的元启发式优化算法,该算法利用数学中的乘除运算提高位置更新的全局分散性,利用加减运算提高位置更新在局部区域的精确性。具有收敛速度快,精度高等特点。

1.算法原理

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

1.1 数学优化器加速函数

AOA 通过数学优化器加速函数(Math Opti-mizer Accelerated, MOA)选择搜索阶段,当 r1>MOAr_1 >MOAr1​>MOA​​​ 时,AOA 进行全局探索,当r1<MOAr_1<MOAr1​<MOA​​ 时,AOA 进入局部开发阶段。
MOA(t)=Min+tMax−MinT(1)MOA(t)=Min+t\frac{Max-Min}{T}\tag{1} MOA(t)=Min+tTMax−Min​(1)
其中,r1r_1r1​​ 代表 0 到 1 之间的随机数, MinMinMin 与 MaxMaxMax​分别是加速函数的最小值和最大值,为 0.2 和 1。

1.2 探索阶段

AOA 通过乘法运算与除法运算实现全局搜索,当 r2<0.5r_2 < 0.5r2​<0.5 时,执行除法搜索策略,当r2>0.5r_2 > 0.5r2​>0.5​时,执行乘法搜索策略,其位置更新公式如下:
X(t+1)={Xb(t)/(MOP+ξ)∗(((UB−LB)∗u+LB)),r2<0.5Xb(t)∗MOP∗((UB−LB)∗u+LB),else(2)X(t+1)=\begin{cases} X_b(t)/(MOP + \xi)*(((UB-LB)*u+LB)),r_2<0.5\\ X_b(t)*MOP*((UB-LB)*u+LB),else \end{cases} \tag{2} X(t+1)={Xb​(t)/(MOP+ξ)∗(((UB−LB)∗u+LB)),r2​<0.5Xb​(t)∗MOP∗((UB−LB)∗u+LB),else​(2)
其中,r2∈[0,1]r_2∈[0,1]r2​∈[0,1], u 是调整搜索过程的控制参数,值为 0.499, ξ\xiξ为极小值数学优化器概率(MathOptimizer Probability, MOP)计算公式如下:
MOP(t+1)=1−t1/α/T1/α(3)MOP(t+1)=1-t^{1/\alpha}/T^{1/\alpha}\tag{3} MOP(t+1)=1−t1/α/T1/α(3)
α\alphaα​ 是敏感参数,定义了迭代过程中的局部开发精度,取值为5。

1.3 开发阶段

AOA 利用加法运算与减法运算实现局部开发,位置更新公式如下:
X(t+1)={Xb(t)−MOP∗((UB−LB)∗u+LB),r3<0.5Xb(t)+MOP∗((UB−LB)∗u+LB),elseX(t+1)=\begin{cases} X_b(t)-MOP*((UB-LB)*u+LB),r_3<0.5\\ X_b(t)+MOP*((UB-LB)*u+LB),else \end{cases} X(t+1)={Xb​(t)−MOP∗((UB−LB)∗u+LB),r3​<0.5Xb​(t)+MOP∗((UB−LB)∗u+LB),else​
其中,r3r_3r3​​ 为 0 到1之间的随机数。

算法步骤

step1.初始化算法相关参数和种群;

step2.计算适应度值,并记录最优位置。

step3.计算MOA,并根据其值,进行探索阶段或者开发阶段。并更新位置

step4.计算适应度值,并记录最优位置。

step5.判断是否满足结束条件,如果满足则输出最优解,否则重复步骤step3-step4.

2.算法结果

3.参考文献

[1]贾鹤鸣,刘宇翔,刘庆鑫,王爽,郑荣.融合随机反向学习的黏菌与算术混合优化算法[J/OL].计算机科学与探索:1-12[2021-08-18].http://kns.cnki.net/kcms/detail/11.5602.TP.20210714.1817.006.html.

[1]Abualigah Laith,Diabat Ali,Mirjalili Seyedali,Abd Elaziz Mohamed,Gandomi Amir H… The Arithmetic Optimization Algorithm[J]. Computer Methods in Applied Mechanics and Engineering,2021,376:

4.Matlab代码

智能优化算法:算术优化算法-附代码相关推荐

  1. 智能优化算法:闪电搜索算法-附代码

    智能优化算法:闪电搜索算法-附代码 文章目录 智能优化算法:闪电搜索算法-附代码 1.算法原理 1.1 过渡放电体 1.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...

  2. 智能优化算法:布谷鸟搜索算法-附代码

    智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...

  3. 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码

    基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...

  4. 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码

    基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 文章目录 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 1 GWO-SVM 模型 1.1 灰狼优化器GWO ...

  5. 相位 unwrap 与 wrap 算法详解(附代码)

    相位 unwrap 与 wrap 算法详解(附代码) 最近接手了一个项目,光通信方面的,我负责编写初测结果的数据处理算法,其中有一个算法叫做 unwrap 与 wrap,之前没有听说过.通过询问同事与 ...

  6. 数据挖掘领域十大经典算法之—SVM算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-Apriori算法 数据挖掘领域十大经 ...

  7. 二分查找算法详解(附代码)

    二分查找算法详解(附代码) 注: 现有一个升序 不重复的数组 查询target是否在此数组中并返回序号 使用条件 使用二分算法的两个条件: 有序 不重复 混淆处 二分算法两种方式容易弄混淆的地方:就是 ...

  8. 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-SVM算法(超详细附代码) 数据挖掘领 ...

  9. 麻雀优化算法_多种智能优化算法应用案例分享-附代码

    1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客​blog.csdn.net 2.智能优化算法 ...

  10. 智能优化算法:麻雀搜索算法-附代码

    2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...

最新文章

  1. LeetCode实战:字符串相加
  2. 给Python加Markdown式排版,在线运行可做Jupyter替身丨谷歌大脑出品
  3. CV之YOLO:深度学习之计算机视觉神经网络tiny-yolo-5clessses训练自己的数据集全程记录
  4. 引用一个网络图片作为样式的致命悲剧
  5. SqlHelper数据库操作辅助类
  6. Mysql总结_02_mysql数据库忘记密码时如何修改
  7. Mac给Sublime Text 配置Python3开发环境
  8. 【Flink】Flink使用withParameters(Configuration)传参
  9. linux hadoop etc目录,Hadoop系列——Linux下Hadoop的安装与伪分布式配置
  10. 大道至简 7、8、读后感
  11. mmap文件内存映射
  12. 你真的了解什么是项目管理吗?
  13. 龙芯+复旦微FPGA全国产VPX高速数据采集卡解决方案
  14. MySQL入门学习教程
  15. 微信android自动播放视频文件,vue-player或TcPlayer在微信内自动播放video和audio
  16. 三菱不同型号plc之间能否实现无线通讯?
  17. 在Flash中播放flv视频
  18. border属性 php,使用CSS的border属性构建变形边框的方法总结
  19. 我是这样变成一个RHCE的(转)
  20. vue个人博客开发记录-文件上传vue-quil-editormongo多层查询(二)

热门文章

  1. 21. Don't try to return a reference when you must return an object
  2. 17. 使用“swap技巧”除去多余得容量
  3. 服务器支持raid2,服务器做RAID,如何选择RAID?
  4. linux bin文件固件,电信物联网平台OTA软件升级bin文件包制作及上传
  5. redis中集群的故障恢复
  6. java 解析栅格数据_使用Rasterio读取栅格数据的实例讲解
  7. 多元统计分析最短距离法_多元统计分析习题及解答.doc
  8. 服务器不稳定补偿,《异化之地》服务器异常怎么解决 服务器不稳定官方补偿...
  9. Eclipse2019开发javaweb应用的配置(解决eclipse中没有Server配置选项和没有Dynamic Web Project项目类型)
  10. 使用FileOutputStream和ObjectOutputStream向文本文件中写多个对象的信息(序列化)