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

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


摘要: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代码

matlab最优化程序包括:无约束一维极值问题、进退法、黄金分割法、斐波那契法、牛顿法基本牛顿法、全局牛顿法、割线法、抛物线法、三次插值法、可接受搜索法、Goidstein法、Wolfe Powell法、单纯形搜索法、Powell法、最速下降法、共轭梯度法、牛顿法、修正牛顿法、拟牛顿法、信赖域法、显式最速下降法、Rosen梯度投影法、罚函数法、外点罚函数法、內点罚函数法、混合罚函数法、乘子法、G-N法、修正G-N法、L-M法、线性规划、单纯形法、修正单纯形法、大M法、变量有界单纯形法、整数规划、割平面法、分支定界法、0-1规划、二次规划、拉格朗曰法、起作用集算法、路径跟踪法、粒子群优化算法、基本粒子群算法、带压缩因子的粒子群算法、权重改进的粒子群算法、线性递减权重法、自适应权重法、随机权重法、变学习因子的粒子群算法、同步变化的学习因子、异步变化的学习因子、二阶粒子群算法、二阶振荡粒子群算法 (matlab optimization process includes Non-binding one-dimensional extremum problems Advance and retreat method Golden Section Fibonacci method of basic Newton s method Newton s method Newton s Law of the global secant method parabola method acceptable to the three interpolation search method Goidstein France Wolfe.Powell France Simplex search method Powell steepest descent method Conjugate gradient method Newton s method Newton s method to amend Quasi-Newton Method trust region method explicitly steepest descent method, Rosen gradient projection method Penalty function method outside the penalty function method within the penalty function method Mixed penalty function multiplier method G-N was amended in G-N method L-M method Of linear programming simplex method, revised simplex method Big M method variables bounded simplex method, Cutting Plane Method integer programming branch and bound method 0-1 programming quadratic programming )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值