本文主要是介绍2024最新算法:斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)求解23个基准函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、斑翠鸟优化算法
斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO),是由Abdelazim Hussien于2024年提出的一种基于群体的新型元启发式算法,它从自然界中观察到的斑翠鸟独特的狩猎行为和共生关系中汲取灵感。PKO 算法围绕三个不同的阶段构建:栖息/悬停猎物(探索/多样化)、潜水寻找猎物(开发/集约化)和培养共生关系。这些行为方面被转化为数学模型,能够有效地解决不同搜索空间中的各种优化挑战。
斑翠鸟是一种美丽的鸟类,属于翠鸟科。它们主要分布在东南亚地区,包括马来西亚、泰国、印度尼西亚等国家。斑翠鸟的身体呈蓝色,头部有黑色的斑点,翅膀和尾巴也呈蓝色。它们的嘴长而尖,适合捕食小型水生动物。斑翠鸟是一种喜欢栖息在水边的鸟类,常常出现在河流、湖泊和沼泽等水域附近。它们以鱼类为主要食物,通过潜水捕食来获取食物。斑翠鸟在捕食时会从栖息地上方的树枝上俯冲下去,迅速抓住猎物后返回树枝上进食。
参考文献:
[1]Pied Kingfisher Optimizer: A new bio-inspired algorithm for solving numerical optimization and industrial engineering problems
二、23个函数介绍
参考文献:
[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.
三、PKO求解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=500; [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [Best_fit,Best_pos,Convergence_curve]=PKO(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('PKO') 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代码
这篇关于2024最新算法:斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)求解23个基准函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!