zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

算法智能代码 优化 算术
2023-09-14 09:06:12 时间

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


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

1.算法原理

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

1.1 数学优化器加速函数

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

1.2 探索阶段

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

1.3 开发阶段

AOA 利用加法运算与减法运算实现局部开发,位置更新公式如下:
X ( t + 1 ) = { X b ( t ) − M O P ∗ ( ( U B − L B ) ∗ u + L B ) , r 3 < 0.5 X b ( t ) + M O P ∗ ( ( U B − L B ) ∗ u + L B ) , e l s e X(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((UBLB)u+LB),r3<0.5Xb(t)+MOP((UBLB)u+LB),else
其中, r 3 r_3 r3​ 为 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代码