一、角蜥优化算法
角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)由Peraza-Vázquez等人于2024年提出的一种新颖的元启发式优化算法,它在数学上模拟了角蜥皮肤变黑或变亮、喷血和移动逃生防御方法。在蜥蜴行为中,蜥蜴通过变得半透明来改变颜色,以避免被捕食者发现。角蜥蜴可以使它的皮肤变亮或变黑,这取决于它是否需要减少或增加其太阳热增益。皮肤变黑或变亮策略是通过包括影响这些皮肤颜色变化的刺激激素黑色素团率 (α-MHS) 来建模的。此外,还从数学上描述了从移动到规避的策略。角蜥蜴的射血防御机制,被描述为弹丸运动,也被建模。这些策略平衡了解决方案空间中局部和全局搜索的利用和探索机制。




参考文献:
[1]Peraza-Vázquez, H., Peña-Delgado, A., Merino-Treviño, M. et al. A novel metaheuristic inspired by horned lizard defense tactics. Artif Intell Rev 57, 59 (2024). https://doi.org/10.1007/s10462-023-10653-7
二、23个函数介绍

参考文献:
[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.
三、HLOA求解23个函数
3.1部分代码
close all ;
clear
clc
Npop=30;
Function_name='F8'; % Name of the test function that can be from F1 to F23 (
Tmax=100;
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_fit,Best_pos,Convergence_curve]=HLOA(Npop,Tmax,lb,ub,dim,fobj);
figure('Position',[100 100 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',3)
title('Search space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('HLOA')
saveas(gca,[Function_name '.jpg']);
display(['The best solution is ', num2str(Best_pos)]);
display(['The best fitness value is ', num2str(Best_fit)]);
3.2部分结果








四、完整MATLAB代码
文件夹夹内包含该算法求解23个函数的完整MATLAB代码,点击main.m即可运行。
