1 简介 AEO算法是Zhao等于2019年通过模拟地球生态系统中能量流动而提出一种新型元启发式优化算法,该算法通过生产算子、消费算子和分解算子对生态系统中的生产、消费和分解行为进
1 简介
AEO 算法是 Zhao 等于 2019 年通过模拟地球生态系统中能量流动而提出一种新型元启发式优化算法,该算法通过生产算子、消费算子和分解算子对生态系统中的生产、消费和分解行为进行模拟来达到求解优化问题的目的。生产算子旨在加强AEO 算法勘探和开发之间的平衡能力; 消费算子用于改进 AEO 算法的探索能力; 分解算子旨在提升AEO 算法的开发性能。与传统群智能算法相比, AEO 算法不但实现简单,除群体规模和最大迭代次数外,无需调整其他任何参数,且具有较好的寻优精度和全局搜索能力。
2 部分代码
%--------------------------------------------------------------------------% SDO code v1.0.
% Developed in MATLAB R2011b
% The code is based on the following papers.
% W. Zhao, L. Wang and Z. Zhang, Artificial ecosystem-based optimization:
% A novel nature-inspired meta-heuristic algorithm, Neural Computing and
% Applications, DOI:10.1007/s00521-019-04452-x.
% --------------------------------------------------------------------------
close all
clear
clc
N = 100; % Number of search agents
Function_name='F11'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)
Max_iteration = 100; % Maximum numbef of iterations
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Fbest,Lbest,Convergence_curve]=AEO(dim,N,Max_iteration,lb,ub,fobj);
figure('Position',[500 500 660 290])
%Draw search space
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
%Draw objective space
subplot(1,2,2);
semilogy(Convergence_curve,'Color','r','linewidth',2)
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('AEO')
3 仿真结果
4 参考文献
[1]崔东文, 包艳飞. 基于人工生态系统优化算法的组合生长需水预测模型[J]. 水资源保护, 2020, 36(6):9.