2024新算法花斑翠鸟优化算法,原理详解,MATLAB代码免费获取

花斑翠鸟优化算法(Pied Kingfisher Optimizer,PKO)是一种受自然启发的群智能优化算法。该算法的灵感来自于自然界中斑翠鸟独特的狩猎行为和共生关系。PKO算法围绕三个不同的阶段构建:栖息/悬停猎物(探索/多样化),潜水猎物(开发/强化),培养共生关系。这些行为方面被转化为数学模型,能够有效地解决各种搜索空间中的各种优化挑战。该算法的性能在39个测试函数中进行了严格的评估,总体结果突出了PKO处理复杂优化问题的特殊能力,这些问题以具有挑战性的搜索空间为特征。PKO在有效避免局部最优的同时,显示出优越的勘探开发趋势。

该成果于2024年发表在知名SCI期刊“Neural Computing and Applications”上。

9be86831f74e2065b322fa4062448bdc.png

花斑翠鸟如下图所示。花斑翠鸟有一种独特的狩猎策略,包括盘旋,也被称为空中栖息。这种悬停可以让鸟在一个地方停留很长一段时间,而不需要回到附近的栖息之处。它是唯一一种能摆出八字形翅膀的翠鸟,也是世界上最大的不用气流就能悬停的鸟。花斑翠鸟通常在水面上盘旋寻找食物,然后垂直下潜,喙朝前捕捉鱼。它进化出了两种独特的策略,这是其他翠鸟所没有的,这有助于它更成功地捕获猎物。悬停的能力使它能够在一个地方停留很长一段时间,并为它开辟了新的狩猎区域。当不觅食时,花斑翠鸟有一种独特的栖息模式,帮助它们保存能量。

5dd8bdf5e7890912501014d0ee252601.png

1、算法原理

(1)种群初始化:

与许多其他基于群体的方法类似,PKO通过从搜索空间随机生成一组起始解作为第一次试验来启动搜索过程。用于生成初始种群的方程如下:

f7d3b32ef292d14512a4d829d096be8e.png

其中Xi,j是指第i个个体在第j维的位置,rand表示0和1之间的随机值,UB和LB是指搜索范围的上界和下界。

一旦初始种群生成,适应度函数被用来根据每个个体解决问题的能力来评估其适应度值。然后选择具有最佳适应值的个体来创建新一代。

(2)栖息和盘旋策略(探索阶段)

PKO的探索阶段受到翠鸟栖息和盘旋行为的启发。对翠鸟在其自然栖息地的观察表明,它们会根据各种因素在栖息和悬停位置之间交替进行攻击。在PKO中,搜索代理的位置是根据翠鸟的觅食活动来确定的。翠鸟的位置根据以下等式更新:

在迭代过程中,下一次迭代的解用 表示,当前迭代的位置用Xi(t)表示。参数a计算为 ,其中randn表示正态分布中的随机数。N表示总体规模,Dim表示所考虑问题的维度。

参数T在本位的方法中起着关键作用,它的值是根据当前策略动态确定的,可以是"栖息"或"悬停"。T的计算是针对每种策略量身定制的,确保在不同的操作模式下的最佳性能。

在搜寻水中的猎物时,花斑翠鸟通常会将它们的羽冠保持垂直的角度。这有助于扩大它们的视野,使它们能够从更远的距离探测到运动,帮助它们发现鱼,即使它们藏在水中的植被或碎片中。一旦斑翠鸟发现了潜在的猎物,它就会降低羽冠,用双眼视觉聚焦猎物,并做出精确的动作来捕捉猎物。栖息策略可以用前面的公式进行数学建模,T参数计算如下:

最大迭代次数由Max Iter指定。恒定值BF (beat Factor)设置为8,rand是0到1之间的随机值。

fab91b0078dc89ef1b212ba04ffbac79.png

悬停策略的数学模型如以下所示,T参数的计算公式为:

第i和第j斑翠鸟的适应度分别用PKO_Fitness(i)和PKO_Fitness(j)表示。此外,一个恒定的值,BF(跳动因子),被设置为8。

花斑翠鸟以其在空中盘旋时快速拍打翅膀而闻名。它的翅膀相对短而宽,可以有效而快速地拍打。通过高频率拍打翅膀,这种鸟可以在空中保持稳定的位置。花斑翠鸟的翅膀特别适合悬停,因为它们的翅膀又长又尖,这可以产生升力,使它们能够保持自己的位置。翅膀相对坚硬,使鸟能够快速拍打翅膀并保持稳定的悬停。下图展示了斑翠鸟在捕猎时悬停并保持稳定位置的能力。

(3)潜水策略(开发阶段)

如前所述,花斑翠鸟以其潜水行为而闻名,它用这种行为来捕鱼。通常,这种鸟栖息在俯瞰水面的高处,比如树枝或岩石上,以观察鱼的存在。一旦发现鱼,花斑翠鸟就会从几米高的地方迅速潜入水中,用喙捕捉猎物,动作迅速而精确。这种鸟可以到达几米深的地方,然后把鱼牢牢地叼在嘴里,回到栖息的地方。

花斑翠鸟的潜水行为使其成为高效的猎手,这也是该物种在其栖息地如此成功的原因之一。这种鸟快速而准确的潜水能力,加上它锋利的喙和出色的视力,使它成为水生环境中有效的捕食者,下图说明了这种行为。

6cb4715b90481e309703805ba3da3137.png

其数学表示如下所示。

其中,第i只花斑翠鸟的适应度值记为PKO_Fitness(i),最佳适应度表示所有迭代得到的最佳适应度值。A是控制参数,o & HA表示狩猎能力,可由下式计算:

(4)随生阶段(局部逃逸阶段)

花斑翠鸟的捕食效率会受到多种因素的影响,比如猎物的可用性、单个鸟的捕猎技巧以及该地区竞争对手或捕食者的存在。这种行为在数学上表现如下:

在种群中随机选取2个个体,其位置用Xm和Xn表示。花斑翠鸟的捕食效率用PE表示,其中PEmax和PEmin固定值分别为0.5和0。

PKO优化算法的伪代码如下

79ce9342ba72159fc7b576e4788a0abf.png

2、结果展示

c73a6f627a089e4eae13e7a706e0bc5a.png

cce2bd06320d04f3234cb2508c6b15f5.png

55c673ca3d2122b85fd5f9c08362e5bf.png

d8d6ea37bbbee80a72194901c762dcb3.png

3、MATLAB核心代码

%% 淘个代码 %%
% 微信公众号搜索:淘个代码,获取更多代码
% 花斑翠鸟优化算法(PKO)
function [Best_fitness,Best_position,Convergence_curve]=PKO(Popsize,Maxiteration,LB,UB,Dim,Fobj)
tic;
BF=8;%beating Factor
Crest_angles=2*pi*rand;
X=Initialization(Popsize,Dim,UB,LB);
Fitness = zeros(1,Popsize);
Convergence_curve=zeros(1,Maxiteration);
for i=1:Popsize
    Fitness(i)=Fobj(X(i,:));
end
% Calculate the fitness values of initial PKO.
[~,sorted_indexes]=sort(Fitness);
Best_position=X(sorted_indexes(1),:);
Best_fitness = Fitness(sorted_indexes(1));
Convergence_curve(1)=Best_fitness;
t=1;
PEmax=0.5;
PEmin=0;
while t<Maxiteration+1
    o=exp(-t/Maxiteration)^2;
    for i=1:Popsize
          if rand<.8  %exploration
              j=i;
              while i==j
              seed=randperm(Popsize);
               j=seed(1);
              end
               beatingRate=rand*(Fitness(j))/(Fitness(i));
              alpha=2*randn(1,Dim)-1;
              if rand<.5
                 T=beatingRate-((t)^(1/BF)/(Maxiteration)^(1/BF));
                 X_1(i,:)=X(i,:)+alpha.*T.*(X(j,:)-X(i,:));
              else
                  T= (exp(1)-exp(((t-1)/Maxiteration)^(1/BF)))*(cos(Crest_angles));
                  X_1(i,:)=X(i,:)+alpha.*T.*(X(j,:)-X(i,:));
              end
          else %exploitation
               alpha=2*randn(1,Dim)-1;
               b=X(i,:)+o^2*randn.*Best_position; 
               HuntingAbility=rand*(Fitness(i))/(Best_fitness);
               X_1(i,:)=X(i,:)+ HuntingAbility*o*alpha.*(b-Best_position);
          end
    end
      for i=1:Popsize
FU=X_1(i,:)>UB;FL=X_1(i,:)<LB;X_1(i,:)=(X_1(i,:).*(~(FU+FL)))+UB.*FU+LB.*FL;
        fitnessn(i) = Fobj(X_1(i,:));
        if fitnessn(i)<Fitness(i)
            Fitness(i)=fitnessn(i);
            X(i,:)=X_1(i,:);
        end
        if Fitness(i)<Best_fitness
            Best_fitness=Fitness(i);
            Best_position=X(i,:);
        end
      end
      % Commensal association of the pied kingfisher with foraging Eurasian otters
      PE=PEmax-(PEmax-PEmin)*(t/Maxiteration);   %Predatory Efficiency
      for i=1:Popsize
           alpha=2*randn(1,Dim)-1;
         if rand>(1-PE)  
            X_1(i,:)=X(randi([1,Popsize]),:)+o*alpha.*abs(X(i,:)-X(randi([1,Popsize]),:));
         else
            X_1(i,:)=X(i,:);
         end
FU=X_1(i,:)>UB;FL=X_1(i,:)<LB;X_1(i,:)=(X_1(i,:).*(~(FU+FL)))+UB.*FU+LB.*FL;
         fitnessn(i) = Fobj(X_1(i,:));
        if fitnessn(i)<Fitness(i)
            Fitness(i)=fitnessn(i);
            X(i,:)=X_1(i,:);
        end
        if Fitness(i)<Best_fitness
            Best_fitness=Fitness(i);
            Best_position=X(i,:);
        end
      end
    Convergence_curve(t)=Best_fitness;
    t = t + 1;
end
time = toc;
end

参考文献

[1]Bouaouda A, Hashim F A, Sayouti Y, et al. Pied kingfisher optimizer: a new bio-inspired algorithm for solving numerical optimization and industrial engineering problems[J]. Neural Computing and Applications, 2024: 1-59.


完整代码获取

后台回复关键词:

TGDM833

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《计算机维护技术》第1阶段在线作业 《计算机维护技术》第1阶段在线作业全文共16页,当前为第1页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第1页。一、单项选择题 《计算机维护技术》第1阶段在线作业全文共16页,当前为第1页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第1页。 答题要求 : 每题只有一个正确选项。 窗体顶端 1(5.0分) 进行()是防止硬盘数据被侵害的有效方法之一。 A) 系统杀毒 B) 硬盘分区 C) 系统备份 D) 系统清理 参考答案: C 收起解析 解析: 无 窗体底端 窗体顶端 2(5.0分) 《计算机维护技术》第1阶段在线作业全文共16页,当前为第2页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第2页。ISA总的数据宽度是()位。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第2页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第2页。 A) 32位 B) 64位 C) 16位 D) 8位 参考答案: C 收起解析 解析: 无 窗体底端 窗体顶端 3(5.0分) 显卡中的显示芯片又叫()。 A) GPU B) CPU C) 《计算机维护技术》第1阶段在线作业全文共16页,当前为第3页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第3页。图形加速器 《计算机维护技术》第1阶段在线作业全文共16页,当前为第3页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第3页。 D) PGU 参考答案: A 收起解析 解析: 无 窗体底端 窗体顶端 4(5.0分) 下列哪一种是目前流行的显示卡接口规范? A) PCI B) SCSI C) AGP D) IDE 参考答案: C 《计算机维护技术》第1阶段在线作业全文共16页,当前为第4页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第4页。收起解析 《计算机维护技术》第1阶段在线作业全文共16页,当前为第4页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第4页。 解析: 无 窗体底端 窗体顶端 5(5.0分) 屏幕局部显示马赛克花斑,造成故障的原因是()。 A) 显示卡显存故障 B) 显示卡控制芯片坏 C) 显示器坏 D) 系统主存故障 参考答案: A 收起解析 解析: 无 窗体底端 窗体顶端 6(5.0分) 《计算机维护技术》第1阶段在线作业全文共16页,当前为第5页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第5页。某兼容机,原装32M内存,现扩展为160M,按要求将内存条插入主板,开机自检测试内存时,有时出现故障中断,有时能正常启动。但运行某些程序时出现死机现象,判断故障原因是: 《计算机维护技术》第1阶段在线作业全文共16页,当前为第5页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第5页。 A) CPU热稳定性不佳 B) 所运行的软件问题 C) 增内存条性能不稳定 D) 主机电源性能不良 参考答案: C 收起解析 解析: 无 窗体底端 窗体顶端 7(5.0分) 以下哪一项是CRT显示器做得比LCD好的? A) 可视面积 B) 刷率 《计算机维护技术》第1阶段在线作业全文共16页,当前为第6页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第6页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第6页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第6页。 C) 体积 D) 分辨率的可调性 参考答案: D 收起解析 解析: 无 窗体底端 窗体顶端 8(5.0分) 开机时出现以下提示" Primary IDE Channel no 80 conductor cable install" 是什么意思? A) 系统不支持DMA66的功能 B) 系统支持DMA66的功能,但并没有安装专用的数据线 C) 数据电缆已经损坏 D) IDE接口已经损坏 《计算机维护技术》第1阶段在线作业全文共16页,当前为第7页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第7页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第7页。 《计算机维护技术》第1阶段在线作业全文共16页,当前为第7页。 参考答案: B 收起解析 解析: 无 窗体底端 窗体顶端 9(5.0分) 用()软件可以让我们识别各种硬件设备的详细信息。 A) 克隆工具 B) 驱动工具 C) 测试工具 D) 注册表工具 参考答案: C 收起解析 解析: 无 窗体底端 窗体顶端 10(5.0分) 《计算机维护技术》第1阶段在线作业全文共16页,当前为第8页。《计算机维护技术》第1阶段在线作业全文共16页,当前为第8页。 《计算机维护技术》第1阶段在线作业

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天吃饺子

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值