编程语言
首页 > 编程语言> > 【优化求解-单目标求解】基于阿基米德算法求解单目标问题matlab源码

【优化求解-单目标求解】基于阿基米德算法求解单目标问题matlab源码

作者:互联网

 一、算法简介

阿基米德优化算法:一种解决优化问题的新元启发式算法

现实世界中的数值优化问题的难度和复杂性日益增加,这需要有效的优化方法。迄今为止,已经引入了各种元启发式方法,但只有少数在研究界得到认可。本文提出了一种新的元启发式算法,称为阿基米德优化算法(AOA)来解决优化问题。AOA的设计灵感来自有趣的阿基米德物理学定律。它模仿了部分或完全浸入流体的向上作用在物体上的浮力的原理,该力与被驱替流体的重量成比例。为了评估性能,在CEC'17测试套件和四个工程设计问题上对提出的AOA算法进行了测试。使用AOA获得的解决方案的性能优于众所周知的最新技术,并且最近引入了元启发式算法,例如遗传算法(GA),粒子群优化(PSO),差分演化变体L-SHADE和LSHADE-EpSin,鲸鱼优化算法(WOA),正弦余弦算法(SCA),哈里斯霍克优化(HHO)和平衡优化器(EO)。实验结果表明,AOA在收敛速度和勘探开发平衡方面是一种高性能的优化工具,因为它可以有效地解决复杂问题。该源代码目前可从以下位置向公众公开:鲸优化算法(WOA),正弦余弦算法(SCA),哈里斯鹰优化(HHO)和平衡优化器(EO)。实验结果表明,AOA在收敛速度和勘探开发平衡方面是一种高性能的优化工具,因为它可以有效地解决复杂问题。该源代码目前可从以下位置向公众公开:鲸优化算法(WOA),正弦余弦算法(SCA),哈里斯鹰优化(HHO)和平衡优化器(EO)。实验结果表明,AOA在收敛速度和勘探开发平衡方面是一种高性能的优化工具,因为它可以有效地解决复杂问题。

 

二、部分代码

%_______________________________________________________________________________________
%  The Arithmetic Optimization Algorithm (AOA) source codes demo version 1.0                  
%                                                                                       
%  Developed in MATLAB R2015a (7.13)                                                    
                  
%                                                                                      
% Main paper:   The Arithmetic Optimization Algorithm
% Reference: Abualigah, L., Diabat, A., Mirjalili, S., Abd Elaziz, M., and Gandomi, A. H. (2021). The Arithmetic Optimization Algorithm. Computer Methods in Applied Mechanics and Engineering.
%
%_______________________________________________________________________________________

clear all 
clc


Solution_no=20; %Number of search solutions
F_name='F1';    %Name of the test function F1-f23
M_Iter=1000;    %Maximum number of iterations
 
[LB,UB,Dim,F_obj]=Get_F(F_name); %Give details of the underlying benchmark function

[Best_FF,Best_P,Conv_curve]=AOA(Solution_no,M_Iter,LB,UB,Dim,F_obj); % Call the AOA 

 

figure('Position',[454   445   694   297]);
subplot(1,2,1);
func_plot(F_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([F_name,'( x_1 , x_2 )'])


subplot(1,2,2);
semilogy(Conv_curve,'Color','r','LineWidth',2)
title('Convergence curve')
xlabel('Iteration#');
ylabel('Best fitness function');
axis tight
legend('AOA')



display(['The best-obtained solution by Math Optimizer is : ', num2str(Best_P)]);
display(['The best optimal value of the objective funciton found by Math Optimizer is : ', num2str(Best_FF)]);

        



三、仿真结果

 

四、参考文献

 Abualigah, L., Diabat, A., Mirjalili, S., Abd Elaziz, M., and Gandomi, A. H. (2021). The Arithmetic Optimization Algorithm. Computer Methods in Applied Mechanics and Engineering.

 

标签:Algorithm,AOA,求解,算法,源码,matlab,Optimization,优化,Best
来源: https://www.cnblogs.com/matlabxiao/p/15228464.html