【智能算法】花斑翠鸟优化算法(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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac安装nigix

1. 查看是否存在 nginx 执行brew search nginx 命令查询要安装的软件是否存在 brew search nginx 2. 安装nginx brew install nginx 3. 查看版本 nginx -v 4. 查看信息 查看ngxin下载的位置以及nginx配置文件存放路径等信息 brew info nginx 下载的存放路径 /usr/loca…

Vue3-Pinia状态管理器

Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。如果你熟悉组合式 API 的话,你可能会认为可以通过一行简单的 export const state reactive({}) 来共享一个全局状态。对于单页应用来说确实可以,但如果应用在服务器端渲染&…

OVF(Open Virtualization Format)或OVA(Open Virtual Appliance)格式有什么区别

OVF(Open Virtualization Format)和OVA(Open Virtual Appliance)是两种不同的文件格式,它们都是用于虚拟机的打包和交换的开放标准。以下是它们之间的主要区别: 1. **OVF(Open Virtualization …

Ant-Design-Vue动态表头并填充数据

Ant-Design-Vue动态表头并填充数据 Ant-Design-Vue 是一个基于 Vue.js 的前端UI框架,它继承了 Ant Design 的优秀设计理念,并针对 Vue.js 进行了深度优化。在实际开发过程中,我们经常需要处理各种复杂的表格数据,而 Ant-Design-V…

Renesas MCU之使用Keil搭建开发环境

目录 概述 1 软件安装 1.1 软件版本信息 1.2 安装FSP 1.3 安装和配置Keil 2 使用FSP创建工程 2.1 FSP中配置参数 2.2 配置板卡硬件资源 3 Keil中配置项目 3.1 在Keil配置FSP 3.2 添加user src目录 3.3 配置下载项 3.4 测试下载功能 4 使用stm32 NUCLEO板卡的ST-L…

elementplu父级页面怎么使用封装子组件原组件的方法

一、使用原因: 封装了el-table,表格中有多选,父级要根据指定状态,让其选择不上,需要用到elementplus中table原方法toggleRowSelection 附加小知识点:(el-tree刷新树后之前选中的保持高亮setCurr…

前端面试宝典总结3-JavaScript(2)

前端面试宝典总结之JavaScript(2) 本文章 对各大学习技术论坛知识点,进行总结、归纳自用学习,共勉🙏 上一篇👉: 前端面试宝典总结3-JavaScript(1) 文章目录 前端面试宝典总结之Ja…

11.6 归并排序

目录 11.6 归并排序 11.6.1 算法流程 11.6.2 算法特性 11.6.3 链表排序 11.6 归并排序 归并排序(merge sort)是一种基于分治策略的排序算法,包含图 11-10 所示的“划分”和“合并”阶段。 划分阶段:通过递归不断地…

雷池WAF-动态防护新功能体验

雷池WAF 雷池WAF(Web Application Firewall,网络应用防火墙)是由长亭科技开发的一个网络安全产品,它专注于保护Web应用免受黑客攻击。 今天主要讲的是长亭雷池最近新出的功能:动态防护 安装 雷池WAF支持多种安装方式…

Activiti7 Maven笔记

通过maven完成BPMN的创建,定义流程,部署流程,完成流程等操作 代码整合创建maven项目添加log4j日志配置添加activiti配置文件创建数据库 activitijava类编写程序生成表如果代码运行,没有生成表,可能是没有读取到activiti的配置文件 Activiti数据表介绍类关系图工作流引擎创建默认…

禁止某个网段访问网络

禁用攻击 改成桥接模式 nmtui,改手动,清ip虚拟网络编辑器改成桥接模式. 安装arpspoof工具 先试着运行arpspoof如果不成功,更新源apt-get update接着运行arpspoof/apt install dsniff成功后,看arpspoof颜色是否是蓝色 禁止某个…

【视频转码】ZLMediaKit漏洞报告的问题

漏洞问题: 支持ss1 rc4密码套件(bar mitzvah) 漏洞级别: 中危 漏洞修复: 方法:避免使用RC4密码,参考代码如下: 修改文件位于:webrtc/DtlsTransport.cpp ret SSL_CTX_set_cipher_list(ssl…

Windows主机信息收集

一、内网环境分析 1、什么是内网渗透 内网渗透: ①在拿到webshell的时候,想办法获得系统信息拿到系统权限,进入到网络系统内部之后收集内部 网络的各种信息,获取内部网络有价值的人员、资产信息。 ②内网渗透的第一步,内网信…

嵌入式linux中线程编程实现详解

大家好,今天主要给大家分享一下,线程的使用,通过具体的实例代码来说明一个线程创建到退出到回收的基本流程,后半部分则会通过实例来说明如何能够控制好线程,从临界资源访问与线程的执行顺序控制上引出互斥锁、信号量的概念与使用方法。 第一:为什么要使用线程 场景分析:…

三.三Vue 实现的精彩动画效果

在 Vue 开发中&#xff0c;我们可以利用<transition>组件来打造各种令人惊艳的动画效果。下面来详细看看这些有趣的动画效果及其实现代码。 一、缩放类效果 zoom-in&#xff08;整体放大进入&#xff09; <template><div><button click"isShow ! …

[数据集][目标检测]电力工地场景下的人头检测数据集VOC+YOLO格式7035张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;7035 标注数量(xml文件个数)&#xff1a;7035 标注数量(txt文件个数)&#xff1a;7035 标注…

Dockershim 与 Containerd:两种容器运行时的故事

在不断发展的容器化世界中&#xff0c;两个关键组件经常被混淆&#xff1a;Dockershim 和 containerd。虽然它们在管理容器方面都发挥着重要作用&#xff0c;但它们的用途却截然不同。本文深入探讨了它们的功能&#xff0c;深入探讨了 Dockershim 和 containerd 之间的区别。 揭…

SpringBoot——全局异常处理

目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result&#xff08;通用的响应结果类&#xff09; MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章&#xff1a…

对比投入高成本自研推广系统,直接采用SaaS更有效益

推广分销作为一种有效的市场拓展方式&#xff0c;被越来越多的企业所采纳。部分企业会选择投入资源自研一套推广分销系统&#xff0c;但是其实最后发现几年过去了&#xff0c;投入了大量成本&#xff0c;系统仍然是一地鸡毛&#xff0c;还在定义一些基本的属性。 自研推广系统…

Web前端三大主流框架:Angular、React与Vue.js的深入探讨

在快速发展的Web前端领域&#xff0c;选择一款合适的框架对于提升开发效率、保证代码质量以及实现项目目标具有至关重要的作用。在众多前端框架中&#xff0c;Angular、React和Vue.js以其独特的优势和广泛的应用场景&#xff0c;成为了市场上的三大主流框架。本文将深入剖析这三…