• 2024最新算法:斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)求解23个基准函数(提供MATLAB代码)


    一、斑翠鸟优化算法

    斑翠鸟优化算法(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代码

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

  • 相关阅读:
    C++左值引用与右值引用
    计算机毕业设计(附源码)python知识付费运营管理系统
    【老生谈算法】matlab实现控制系统稳定性——控制系统
    机器学习笔记:特征缩放(sklearn实现)
    浅谈Jmeter性能测试流程
    文心一言简单体验
    在旭日X3派开发板上使用USB Wifi来提高网络速度
    设计模型之单例设计
    4个宝宝晚上不建议出门的原因,你知道吗?
    vue之表单输入绑定
  • 原文地址:https://blog.csdn.net/2401_82411023/article/details/136414096