三角拓扑聚合优化器(Triangulation Topology Aggregation Optimizer, TTAO)——新的基于数学的元启发式算法,用于解决连续优化问题和工程应用。该算法的核心是基于数学上的相似三角形拓扑结构。TTAO算法包含两种策略,即通用聚合和局部聚合,有助于迭代构建多个相似的三角形拓扑单元,以平衡探索和开发。前者通过不同三角拓扑单元之间的正信息交换产生新的顶点。后者根据每个单元的局部最优顶点在有希望的位置构造新的单元。尽管TTAO算法具有卓越的优化性能。在某些情况下仍然存在陷入局部最优、收敛精度低等情况。NFL定理激励读者对元启发式算法进行改进,于是本期介绍了我们提出的多策略改进的三角拓扑聚合优化器(ITTAO)。
改进一:提出了新的自适应扰动因子,使算法探索和开发更加动态平衡;
改进二:提出了多精英领导机制的自适应权重融合策略,加快收敛的同时提高算法的精度;
改进三:提出了基于领导者的自适应步长游走策略,加快算法的收敛速度。
为了验证改进效果,在CEC2005的23个经典基准测试函数上进行对比。结果显示改进后的算法ITTAO取得了显著的效果。部分实验结果如下:
部分主函数代码如下:
clc;clear;close all
N=60; % Number of search agents
Max_iter=1000; % Maximum numbef of iterations
F_name='F23'; % Name of the test function
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(F_name);
tic;
[Bestfitness1,Bestposition1,Convergencecurve1]=TTAO(N,Max_iter,lb,ub,dim,fobj);
hold on
[Bestfitness2,Bestposition2,Convergencecurve2]=ITTAO(N,Max_iter,lb,ub,dim,fobj);
Run_time=toc;
semilogy(1:Max_iter,Convergencecurve1,'color','r','linewidth',2.5);
semilogy(1:Max_iter,Convergencecurve2,'color','b','linewidth',2.5);
% 添加图例
legend('TTAO','ITTAO');
title('Convergence curve');
xlabel('Iteration');
ylabel('Best score obtained so far')
display(['The running time is:', num2str(Run_time)]);
display(['TTAO获得的最优解:', num2str(Bestfitness1)]);
% display(['The best position is: ', num2str(Bestposition1)]);
display(['ITTAO获得的最优解:', num2str(Bestfitness2)]);
% display(['The best position is: ', num2str(Bestposition2)]);