【智能算法】花斑翠鸟优化算法(PKO)原理及实现

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.背景

2024年,A Bouaouda受到自然界中花斑翠鸟社会行为启发,提出了花斑翠鸟优化算法(Pied Kingfisher Optimizer, PKO)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

PKO的灵感来自于自然界中斑翠鸟的狩猎行为和共生关系,其包括三个阶段:栖息和悬停,潜水策略,共生阶段

在这里插入图片描述

2.2算法过程

栖息和悬停策略

PKO的探索阶段灵感来自于花斑翠鸟的栖息和悬停行为,位置更新:
X i ( t + l ) = X i ( t ) + α ∗ T × ( X j ( t ) − X i ( t ) ) (1) X_i(\mathfrak{t}+\mathfrak{l})=X_i(\mathfrak{t})+\alpha*T\times(X_j(\mathfrak{t})-X_i(\mathfrak{t}))\tag{1} Xi(t+l)=Xi(t)+αT×(Xj(t)Xi(t))(1)
栖息时参数T表述为:
T = ( exp ⁡ ( 1 ) − exp ⁡ ( t − 1 Max_Iter ) 1 BF ) ∗ cos ⁡ ( Crest_angles ) (2) T=\left(\exp(1)-\exp\biggl(\frac{t-1}{\textit{Max\_Iter}}\biggr)^{\frac{1}{\text{BF}}}\biggr)*\cos(\textit{Crest\_angles})\right. \tag{2} T=(exp(1)exp(Max_Itert1)BF1)cos(Crest_angles)(2)
C r e s t _ a n g l e s = 2 ∗ p i ∗ r a n d (3) Crest \_angles = 2*pi* rand\tag{3} Crest_angles=2pirand(3)
悬停时参数T表述为:
T = b e a t i n g _ r a t e ∗ ( t 1 B F M a x _ I t e r 1 B F ) (4) T=beating\_rate*\left(\frac{t^{\frac{1}{BF}}}{Max\_Iter^{\frac{1}{BF}}}\right)\tag{4} T=beating_rate(Max_IterBF1tBF1)(4)
b e a t i n g _ r a t e = r a n d ∗ ( P K O _ F i t n e s s ( j ) P K O _ F i t n e s s ( i ) ) (5) beating\_rate=rand*\left(\frac{PKO\_Fitness(j)}{PKO\_Fitness(i)}\right)\tag{5} beating_rate=rand(PKO_Fitness(i)PKO_Fitness(j))(5)

潜水策略

斑翠鸟以其潜水行为而闻名,它用这种行为来捕鱼:
X i ( t + 1 ) = X i ( t ) + H A ∗ o ∗ α ∗ ( b − X b e s t ( t ) ) , i = 1 , 2 , … , N (6) \begin{gathered}X_i(\mathfrak{t}+1)=X_i(\mathfrak{t})+HA*o*\alpha*(b-X_{best}(\mathfrak{t})),\quad i=1,2,\ldots,N\end{gathered}\tag{6} Xi(t+1)=Xi(t)+HAoα(bXbest(t)),i=1,2,,N(6)
参数表述为:
H A = r a n d ∗ ( P K O _ F i t n e s s ( i ) B e s t _ F i t n e s s ) o = exp ⁡ ( − t M a x _ I t e r ) 2 b = X i ( t ) + o 2 ∗ r a n d n ∗ X b e s t ( t ) (7) \begin{aligned} &HA=rand*\left(\frac{PKO\_Fitness(i)}{Best\_Fitness}\right) \\ &o=\exp\left(\frac{-t}{Max\_Iter}\right)^{2} \\ &b=X_{i}(\mathrm{t})+o^{2}*randn*X_{best}(\mathrm{t}) \end{aligned}\tag{7} HA=rand(Best_FitnessPKO_Fitness(i))o=exp(Max_Itert)2b=Xi(t)+o2randnXbest(t)(7)

共生阶段

斑翠鸟的捕食效率会受到多种因素的影响,比如猎物的可用性、单个鸟的捕猎技巧以及该地区竞争对手或捕食者的存在。
X i ( t + 1 ) = { X m ( t ) + o ∗ α ∗ a b s ( X i ( t ) − X n ( t ) ) i f r a n d > ( 1 − P E ) X i ( t ) o t h e r w i s e (8) \left.X_i(\mathbf{t}+1)=\left\{\begin{matrix}X_m(\mathbf{t})+o*\alpha*abs(X_i(\mathbf{t})-X_n(\mathbf{t}))&if\quad rand>(1-PE)\\X_i(\mathbf{t})&otherwise\end{matrix}\right.\right.\tag{8} Xi(t+1)={Xm(t)+oαabs(Xi(t)Xn(t))Xi(t)ifrand>(1PE)otherwise(8)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[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.

5.代码获取

免费获取花斑翠鸟优化算法(PKO)

智能算法,论文复现,算法应用(机器学习、二维&三维路径规划、UAV路径规划、布局优化、调度优化、VRP问题等),定制算法可以联系我~

资源清单:https://docs.qq.com/sheet/DU1V0QWtSeHJnY0JU?u=989d90f9b14449ec9419aa7b51473c1b&tab=BB08J2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/676966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1103. 分糖果 II Rust等差求和+一元二次方程求根(击败100% Rust用户)

题目内容 排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,…

Redis缓存(笔记二:Redis常用五大数据类型)

目录 1、Redis中String字符串 1.1 常用命令解释: 1.2 原子性 1.3 具有原子性的常用命令 1.4 String数据结构 1、Redis中String字符串 概念 String 是 Redis 最基本的类型,可以理解成与 Memcached 一模一样的类型,一个 key对应一个 value…

STL容器--list

1. list的介绍及使用 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指其前…

2.3 OpenCV随手简记(四)

阈值处理是很多高级算法底层处理的预方法之一。 自己求图像平均阈值: # -*- codingGBK -*- import cv2 as cv import numpy as np #求出图像均值作为阈值来二值化 def custom_image(image): gray cv.cvtColor(image, cv.COLOR_BGR2GRAY) cv.imshow("原来&qu…

微服务网关Gateway(下)

CSDN 的小伙伴们,大家好呀,我是苍何。 这篇文章我们继续来说下我们项目中用到的微服务网关 Gateway 的技术点。主要涵盖过滤器,限流处理以及黑白名单配置。 过滤器 网关中的过滤器,有点类似 SpringMVC 里面的拦截器 Intercepto…

面试官:什么是Redis持久化—>AOF持久化

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

Python | Leetcode Python题解之第130题被围绕的区域

题目: 题解: class Solution:def solve(self, board: List[List[str]]) -> None:if not board:returnn, m len(board), len(board[0])que collections.deque()for i in range(n):if board[i][0] "O":que.append((i, 0))board[i][0] &q…

C语言 | Leetcode C语言题解之第129题求根节点到叶节点数字之和

题目: 题解: int sumNumbers(struct TreeNode* root) {if (root NULL) {return 0;}int sum 0;struct TreeNode* nodeQueue[2000];int numQueue[2000];int leftQueue 0, rightQueue 0;nodeQueue[rightQueue] root;numQueue[rightQueue] root->v…

MPEG-TS 封装格式详解

MPEG-TS 封装格式详解 MPEG-TS 封装格式详解简介基本概念TS 文件格式PSI(Program Specific Information)节目关联表(PAT,Program Association Table)节目映射表(PMT,Program Map Table&#xff…

探索k8s集群的配置资源(secret和configmap)

目录 ConfigMap ConfigMap(主要是将配置目录或者文件挂载到k8s里面使用) 与Secret类似,区别在于ConfigMap保存的是不需要加密配置的信息。(例如:配置文件) ConfigMap 功能在 Kubernetes1.2 版本中引入&…

算法 java 排序和查找

排序和查找 冒泡排序(稳定)选择排序(不稳定)插入排序(稳定)希尔排序(不稳定)归并排序(稳定)快速排序(不稳定)堆排序计数排序桶排序基数…

Scikit-Learn随机森林分类

Scikit-Learn随机森林分类 1、随机森林分类1.1、随机森林分类概述1.2、随机森林分类的优缺点2、Scikit-Learn随机森林分类2.1、Scikit-Learn随机森林分类API2.2、Scikit-Learn随机森林分类初体验(葡萄酒分类)2.3、Scikit-Learn随机森林分类实践(鸢尾花分类)2.4、参数调优与…

undefined symbol: _ZN3c104impl8GPUTrace13gpu mmcv

这里写自定义目录标题 ImportError: //python3.8/site-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN3c104impl8GPUTrace13gpuTraceStateEERROR conda.cli.main_run:execute(49): 这样的问题往往都是版本不匹配导致的 pytorch的版本,m…

为Android组件化项目搭建Maven私服

概览 文章目录 概览前言搭建 maven 私服服务器环境jdk安装配置nexus安装配置管理创建存储点、仓库 项目中使用 maven 私服上传 module 到仓库自动发布 module手动上传单个aar包 引用仓库中的 modulebuild.gradle引入远程module FAQ开发阶段有些module用远程依赖,有些…

构建大型语言模型(LLM)产品的实战指南

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

#13前端后花园周刊-10个现代 Node.js 运行时新特性、Nextjs15、Astro4.9、CSS压缩

⚡️行业动态 JavaScript 的创建者 Brendan Eich 在 Twitter/X 上出现,反驳了 JS 是“最邋遢的”的说法,称其只有 50% 。 📆发布 Next.js 15 RC 流行的 React 元框架已经准备好迎接一个主要的新版本,它有一个 RC,让…

YOLOv9改进策略 | 添加注意力篇 | 利用YOLOv10提出的PSA注意力机制助力YOLOv9有效涨点(附代码 + 详细修改教程)

一、本文介绍 本文给大家带来的改进机制是YOLOv10提出的PSA注意力机制,自注意力在各种视觉任务中得到了广泛应用,因为它具有显著的全局建模能力。然而,自注意力机制表现出较高的计算复杂度和内存占用。为了解决这个问题,鉴于注意…

群体优化算法---蝙蝠优化算法分类Iris数据集

介绍 蝙蝠算法(Bat Algorithm, BA)是一种基于蝙蝠回声定位行为的优化算法。要将蝙蝠算法应用于分类问题,可以通过将蝙蝠算法用于优化分类器的参数,图像分割等 本文示例 我们使用一个经典的分类数据集,如Iris数据集&…

基于深度学习的CT影像肺癌检测识别

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 肺癌是全球范围内导致癌症死亡的主要原因之一,早期检测和诊断对于提高患者生存率至关重要。随着深度学习技术的迅猛发展,基于CT影像的肺癌检测识别成为了研究热点。本文介绍…

Spire.PDF for .NET【文档操作】演示:在 C# 中向 PDF 文件添加图层

Spire.PDF 完美支持将多页 PDF 拆分为单页。但是,更常见的情况是,您可能希望提取选定的页面范围并保存为新的 PDF 文档。在本文中,您将学习如何通过 Spire.PDF 在 C#、VB.NET 中根据页面范围拆分 PDF 文件。 Spire.PDF for .NET 是一款独立 …