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

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Matlab科研辅导帮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值