Arithmetic optimization algorithm of intelligent optimization algorithm, with matlab code

        Arithmetic optimization algorithm (AOA) is a new meta-heuristic optimization algorithm proposed by scholar Laith Abualigah et al. in 2021. Its inspiration comes from the four mixed operations in arithmetic. The algorithm uses multiplication and division operations for global exploration and addition and subtraction operations for local development. At present, the arithmetic optimization algorithm is applied to solve many types of optimization problems, and has been gradually developed. The arithmetic optimization algorithm can quickly find the global optimal solution. The algorithm has a faster convergence speed and a higher convergence accuracy.

References: [1] Jia Heming, Meng Bin, Wei Yuanhao, Li Shanglong, Wen Changsheng, Chen Junling. Wireless sensor network coverage with improved arithmetic optimization algorithm [J]. Journal of Minnan Normal University (Natural Science Edition), 2022,35(03 ):54-61.

This article still uses the CEC2005 test function. The CEC2005 test set is the most widely used and classic test set, including 23 Benchmark functions. The specific information is as follows:

7ad127fddd434c7bba8f3d678aeab713.jpeg

 code:

%%
clear
clc
close all
addpath(genpath(pwd))
number='F15'; %选定优化函数,自行替换:F1~F23
[lb,ub,D,y]=CEC2005(number);  % [lb,ub,D,y]:下界、上界、维度、目标函数表达式
MaxIteration=1000;  %最大迭代次数
Solution_no=50;  %种群规模
%调用AOA算法

[BestF,BestX,HisBestF]=AOA(Solution_no,MaxIteration,lb,ub,D,y); % Call the AOA 
subplot(1,2,1)
func_plot(number)
title(number)
xlabel('x')
ylabel('y')
zlabel('z')
subplot(1,2,2)
CNT=50;
k=round(linspace(1,MaxIteration,CNT)); %随机选50个点
% 注意:如果收敛曲线画出来的点很少,随机点很稀疏,说明点取少了,这时应增加取点的数量,100、200、300等,逐渐增加
% 相反,如果收敛曲线上的随机点非常密集,说明点取多了,此时要减少取点数量
iter=1:1:MaxIteration;
semilogy(iter(k),HisBestF(k),'m-x','linewidth',1);
grid on;
title(['函数收敛曲线',number])
xlabel('Iterations');
ylabel('Objective function value');
box on
legend('AOA')
set (gcf,'position', [200,300,700,300])

Randomly select several functions, the algorithm iterates 500 times, and the resulting code is shown in the figure:

How to get the code: Reply to the key word in the card below: TGDM1209

Welcome everyone to leave a message in the comment area, what type of code is needed, please tell the blogger!

Guess you like

Origin blog.csdn.net/woaipythonmeme/article/details/131242256
Recommended