智能优化算法:算术优化算法-附代码
文章目录
- 智能优化算法:算术优化算法-附代码
- 1.算法原理
- 1.1 数学优化器加速函数
- 1.2 探索阶段
- 1.3 开发阶段
- 2.算法结果
- 3.参考文献
- 4.Matlab代码
摘要:AOA 算法是在 2021 年由 Abualigah 等人提出的基于四则混合运算思想设计的元启发式优化算法,该算法利用数学中的乘除运算提高位置更新的全局分散性,利用加减运算提高位置更新在局部区域的精确性。具有收敛速度快,精度高等特点。
1.算法原理
算术优化算法根据算术操作符的分布特性来实现全局寻优,是一种元启发式优化算法。算法分为三部分,通过数学优化器加速函数选择优化策略,乘法策略与除法策略迚行全局搜索,提高解的分散性,增强算法的全局寻优与克服早熟收敛能力,实现全局探索寻优。开发阶段利用加法策略与减法策略降低解的分散性,有利于种群在局部范围内充分开发,加强算法的局部寻优能力。
1.1 数学优化器加速函数
AOA 通过数学优化器加速函数(Math Opti-mizer Accelerated, MOA)选择搜索阶段,当 时,AOA 进行全局探索,当 时,AOA 进入局部开发阶段。
其中, 代表 0 到 1 之间的随机数, 与 分别是加速函数的最小值和最大值,为 0.2 和 1。
1.2 探索阶段
AOA 通过乘法运算与除法运算实现全局搜索,当 时,执行除法搜索策略,当时,执行乘法搜索策略,其位置更新公式如下:
其中,, u 是调整搜索过程的控制参数,值为 0.499, 为极小值数学优化器概率(MathOptimizer Probability, MOP)计算公式如下:
是敏感参数,定义了迭代过程中的局部开发精度,取值为5。
1.3 开发阶段
AOA 利用加法运算与减法运算实现局部开发,位置更新公式如下:
其中, 为 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代码