1 简介
阿基米德优化算法( Archimedes optimization algorithm, AOA)是一种基于群体的启发式算法。在该方法中,种群个体是沉浸对象。与其他基于种群的元启发式算法一样,AOA也从具有随机体积、密度和加速度的初始种群(候选解)开始搜索过程。
he difficulty and complexity of the real-world numerical optimization problems has grown manifold, which demands efficient optimization methods. To date, various metaheuristic approaches have been introduced, but only a few have earned recognition in research community. In this paper, a new metaheuristic algorithm called Archimedes optimization algorithm (AOA) is introduced to solve the optimization problems. AOA is devised with inspirations from an interesting law of physics Archimedes' Principle. It imitates the principle of buoyant force exerted upward on an object, partially or fully immersed in fluid, is proportional to weight of the displaced fluid. To evaluate performance, the proposed AOA algorithm is tested on CEC'17 test suite and four engineering design problems. The solutions obtained with AOA have outperformed well-known state-of-the-art and recently introduced metaheuristic algorithms such genetic algorithms (GA), particle swarm optimization (PSO), differential evolution variants L-SHADE and LSHADE-EpSin, whale optimization algorithm (WOA), sine-cosine algorithm (SCA), Harris' hawk optimization (HHO), and equilibrium optimizer (EO). The experimental results suggest that AOA is a high-performance optimization tool with respect to convergence speed and exploration-exploitation balance, as it is effectively applicable for solving complex problems.
2 部分代码
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)]);
3 仿真结果
4 参考文献
[1] Hashim F A , Hussain K , Houssein E H , et al. Archimedes optimization algorithm: a new metaheuristic algorithm for solving optimization problems[J]. Applied Intelligence, 2020:1-21.