【智能算法】孔雀优化算法(POA)原理及实现

在这里插入图片描述

目录

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


1.背景

2022年,Wang等人受到自然界孔雀社会行为启发,提出了孔雀优化算法(Peafowl Optimization Algorithm,POA)。

2.算法原理

2.1算法思想

POA通过雄孔雀求偶、雌孔雀自适应接近雄孔雀、幼孔雀自适应搜索食物源和雄孔雀交互4种寻优机制完成迭代更新,以逐渐逼近问题最优解。
在这里插入图片描述

2.2算法过程

所有孔雀根据其适应度值的排序进行角色分配,具有最高适合度值的前5只为雄孔雀,剩下的前30%为雌孔雀,其余为幼孔雀。

雄孔雀求偶

雄孔雀的位置更新机制:
x c , 1 = x c , 1 ( t ) + R s x r , 1 ∥ x r , 1 ∥ x c , n = { x c , N ( t ) + σ R s x r , N ∥ x r , N ∥ , r N < ε x c , N ( t ) , o t h e r w i s e (1) \begin{aligned}&\boldsymbol{x}_{{_{{\mathrm{c,1}}}}}=\boldsymbol{x}_{{_{{\mathrm{c,1}}}}}(t)+R_{{_{{\mathrm{s}}}}}\frac{\boldsymbol{x}_{{_{{\mathrm{r,1}}}}}}{\parallel\boldsymbol{x}_{{_{{\mathrm{r,1}}}}}\parallel}\\&\boldsymbol{x}_{{_{{\mathrm{c,n}}}}}=\begin{cases}\boldsymbol{x}_{{_{{\mathrm{c,N}}}}}(t)+\sigma R_{{_{{\mathrm{s}}}}}\frac{\boldsymbol{x}_{{_{{\mathrm{r,N}}}}}}{\parallel\boldsymbol{x}_{{_{{\mathrm{r,N}}}}}\parallel},&r_{N}<\varepsilon\\\\\boldsymbol{x}_{{_{{\mathrm{c,N}}}}}(t),&otherwise&&\end{cases}\end{aligned}\tag{1} xc,1=xc,1(t)+Rsxr,1xr,1xc,n= xc,N(t)+σRsxr,Nxr,N,xc,N(t),rN<εotherwise(1)
其中,σ和ε为决定雄孔雀位置更新算子,Rs为雄孔雀围绕食物源旋转的半径:
x r = 2 r a n d ( 1 , D i m ) − 1 R s ( t ) = R s 0 − ( R s 0 − 0 ) ( k / k m a x ) 0.01 R s 0 = C v ( x u b − x l b ) (2) \begin{aligned}&\boldsymbol{x}_{\mathrm{r}}=2\mathrm{rand}(1,\mathrm{Dim})-1\\&R_{\mathrm{s}}(t)=R_{\mathrm{s}0}-(R_{\mathrm{s}0}-0)(k/k_{\mathrm{max}})^{0.01}\\&R_{\mathrm{s}0}=C_{\mathrm{v}}(x_{\mathrm{ub}}-x_{\mathrm{lb}})\end{aligned}\tag{2} xr=2rand(1,Dim)1Rs(t)=Rs0(Rs00)(k/kmax)0.01Rs0=Cv(xubxlb)(2)
其中,Rs0为初始旋转半径,Cv为雄孔雀旋转因子。适应度值较高的雄孔雀更有可能围绕食物源旋转,且旋转的半径较小,因此更容易接近局部最优解。这表明,雄孔雀位置所代表的决策变量解与适应度值正相关,与绕圈半径呈负相关关系。

雌孔雀自适应接近雄孔雀

位置更新:
x h = x h ( t ) + 3 θ ( x c , N − x h ( t ) ) , r 5 ∈ A (3) \boldsymbol{x}_{\mathrm{h}}=\boldsymbol{x}_{\mathrm{h}}(t)+3\theta(\boldsymbol{x}_{\mathrm{c},N}-\boldsymbol{x}_{\mathrm{h}}(t)),\quad r_{5}\in A\tag{3} xh=xh(t)+3θ(xc,Nxh(t)),r5A(3)
θ为平衡雌孔雀局部探索和全局搜索算子:
θ = θ 0 + ( θ 1 − θ 0 ) k / k max ⁡ (4) \theta=\theta_{0}+(\theta_{1}-\theta_{0})k/k_{\max}\tag{4} θ=θ0+(θ1θ0)k/kmax(4)
当θ<1/3时(迭代初期),雌孔雀趋向于所选择的雄孔雀,进行局部勘测;当θ>1/3
(迭代中后期),雌孔雀倾于向所选雄孔雀相对的位置移动,进行全局搜索。

幼孔雀自适应搜索食物源

幼孔雀向雄孔雀移动的同时借助Levy飞行在搜索空间进行随机搜索:
x c u = x c u ( t ) + α L e v y ( x c , 1 ( t ) − x c u ( t ) ) + β ( x p u ( t ) − x c u ( t ) ) x p u = x c , N ( t ) , r 6 ∈ B (5) \begin{aligned}\boldsymbol{x}_{\mathrm{cu}}&=\boldsymbol{x}_{\mathrm{cu}}(t)+\alpha\mathrm{Levy}(\boldsymbol{x}_{\mathrm{c,1}}(t)-\boldsymbol{x}_{\mathrm{cu}}(t))+\beta(\boldsymbol{x}_{\mathrm{pu}}(t)-\boldsymbol{x}_{\mathrm{cu}}(t))\\\boldsymbol{x}_{\mathrm{pu}}&=\boldsymbol{x}_{\mathrm{c,N}}(t),\quad r_{6}\in B\end{aligned}\tag{5} xcuxpu=xcu(t)+αLevy(xc,1(t)xcu(t))+β(xpu(t)xcu(t))=xc,N(t),r6B(5)
xcu和xpu分别为幼孔雀位置和幼孔雀跟随的雄孔雀位置,α和β 为随迭代次数动态变化的算
子:
α = α 0 ( α 0 − α 1 ) ( k / k max ⁡ ) 2 β = β 0 + ( β 1 − β 0 ) ( k / k max ⁡ ) 0.5 (6) \begin{aligned}\alpha&=\alpha_{0}(\alpha_{0}-\alpha_{1})(k/k_{\max})^{2}\\\beta&=\beta_{0}+(\beta_{1}-\beta_{0})(k/k_{\max})^{0.5}\end{aligned}\tag{6} αβ=α0(α0α1)(k/kmax)2=β0+(β1β0)(k/kmax)0.5(6)
当α>β时(迭代初期),幼孔雀主要进行随机搜索;当β>α时(迭代中后期),幼孔雀逐渐向5只雄孔雀收敛。

雄孔雀交互行为

拥有最佳食物源的第1只雄孔雀被视为领导者,第2-4只雄孔雀逐渐向第1只雄孔雀移动:
x c , N = x c , N ( t ) + θ d N + r N ′ D N ∥ D N ∥ d N = x c , 1 − x c , N D N = x r , N ′ − x r , N ′ d N d N d N d N (7) \begin{aligned}&\boldsymbol{x}_{\mathrm{c},N}=\boldsymbol{x}_{\mathrm{c},N}(t)+\theta\boldsymbol{d}_N+r_N^{\prime}\frac{\boldsymbol{D}_N}{\parallel\boldsymbol{D}_N\parallel}\\&\boldsymbol{d}_N=\boldsymbol{x}_{\mathrm{c},1}-\boldsymbol{x}_{\mathrm{c},N}\\&\boldsymbol{D}_N=\boldsymbol{x}_{\mathrm{r},N}^{\prime}-\frac{\boldsymbol{x}_{\mathrm{r},N}^{\prime}\boldsymbol{d}_N}{\boldsymbol{d}_N\boldsymbol{d}_N}\boldsymbol{d}_N\end{aligned}\tag{7} xc,N=xc,N(t)+θdN+rNDNDNdN=xc,1xc,NDN=xr,NdNdNxr,NdNdN(7)
其中,x′r,N为随机向量。
在这里插入图片描述

伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Wang J, Yang B, Chen Y, et al. Novel phasianidae inspired peafowl (Pavo muticus/cristatus) optimization algorithm: Design, evaluation, and SOFC models parameter estimation[J]. Sustainable Energy Technologies and Assessments, 2022, 50: 101825.

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

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

相关文章

uni-app调用苹果登录,并获取用户信息

效果 模块配置 dev中的配置 需要开启登录的权限&#xff0c;然后重新下载配置文件&#xff0c;发布打包基座&#xff0c;再运行程序 代码 <button click"appleLogin">苹果登录</button>function appleLogin() {uni.login({provider: apple,success: …

硬盘删除的文件怎么恢复?恢复方法大公开!

“硬盘删除的文件还有机会恢复吗&#xff1f;刚刚清理电脑垃圾的时候不小心删除了很多重要的文件&#xff0c;有什么方法可以有效恢复这些文件吗&#xff1f;” 在数据时代&#xff0c;我们会将很多重要的文件都保存在电脑上&#xff0c;如果我们清理了电脑上的文件&#xff0c…

GD32F470_(4线制)火光/火焰传感器模块火源探测 红外接收传感器 智能车配件

2.16 火焰传感器 红外火焰传感器可以用来探测火源或其它一些波长在700纳米~1000纳米范围内的热源&#xff0c;在机器人比赛中&#xff0c;远红外火焰探头起到非常重要的作用&#xff0c;它可以用作机器人的眼睛来寻找火源或足球。利用它可以制作灭火机器人等。 红外火焰传感器…

捷途山海T2探秘武夷山,这款旅行越野超混SUV直接拉满期待值

如今&#xff0c;出行已然不单单是A点到B点的空间位移&#xff0c;而是心灵的一场旅行。每个人都向往在旅途中&#xff0c;寻找到自我的归属。近年走红的捷途汽车&#xff0c;正洞察到用户们的出行迭代需求&#xff0c;推出全新力作捷途山海T2。山海T2是捷途旅行者的混动版&…

Centos7搭建 Skywalking 单机版

介绍 Skywalking是应用性能监控平台&#xff0c;可用于分布式系统&#xff0c;支持微服务、云原生、Docker、Kubernetes 等多种架构场景。 整体架构如图 Agent &#xff1a;在应用中&#xff0c;收集 Trace、Log、Metrics 等监控数据&#xff0c;使用 RPC、RESTful API、Kafk…

七燕论文可靠吗 #经验分享#经验分享

七燕论文是一个非常好用的论文写作工具&#xff0c;它不仅可以帮助学生提高写作效率&#xff0c;还能帮助他们避免抄袭和提高论文质量。七燕论文的查重降重功能非常靠谱&#xff0c;能够帮助用户检测论文中的重复内容&#xff0c;并提供相应的修改建议&#xff0c;确保论文的原…

人大金仓导入数据库

1、通过工具导入 具体步骤如下 逻辑还原选择备份文件还原至数据库还原 2、命令导入 进入如下文件夹下 在本文件夹下打开cmd运行如下命令 sys_restore -h 127.0.0.1 -p 54321 -d test -U system C:/Users/Lenovo/Desktop/lw_2024-01-03_11_11_44.dmp >> C:/Users/Len…

Mysql底层原理四:B+树索引

B树索引&#xff08;索引的原理&#xff09; 1.前言 前边我们详细唠叨了InnoDB数据⻚的7个组成部分&#xff0c;知道了各个数据⻚可以组成⼀个双向链表&#xff0c;⽽每个数据⻚中的记录会按照主键值从⼩到⼤的顺序组成⼀个单向链 表&#xff0c;每个数据⻚都会为存储在它⾥边…

Linux系统磁盘扩容——类型(二)

类型&#xff08;二&#xff09;扩容磁盘到现有逻辑分区目录 查看磁盘空间删除现有逻辑分区再次查看磁盘分区大小更新分区大小 查看磁盘空间 lsblk df -h图中扩容sda磁盘&#xff0c;260G已分配250G&#xff0c;还10G未分配&#xff0c;需要分配到逻辑分区5中。 删除现有逻辑…

基于逻辑回归和支持向量机的前馈网络进行乳腺癌组织病理学图像分类

CNN&#xff08;卷积神经网络&#xff09;通过使用反向传播方法来学习特征&#xff0c;这种方法需要大量的训练数据&#xff0c;并且存在梯度消失问题&#xff0c;从而恶化了特征学习。 CNN卷积神经网络 CNN由一个多层神经网络组成&#xff0c;该网络从标记的训练数据集中学习…

redis 集群模式(redis cluster)介绍

目录 一 redis cluster 相关定义 1&#xff0c; redis cluster 是什么 2&#xff0c;redis 集群的组成 3&#xff0c;集群的作用 4&#xff0c;集群架构图 二 Redis集群的数据分片 1&#xff0c;哈希槽是什么 2&#xff0c;哈希槽如何排布 3&#xff0c;Redis集…

iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑)

引言 在 iOS 开发中&#xff0c;将 IPA 文件上传到苹果开发者中心是一个重要的步骤。通常情况下&#xff0c;我们需要使用 Mac 电脑上的 Xcode 或 Application Loader 工具来完成这个任务。然而&#xff0c;如果你没有 Mac 电脑&#xff0c;也没有关系&#xff0c;本文将介绍一…

天软特色因子看板 (2024.4 第2期)

该因子看板跟踪天软特色因子A05005(近一月单笔流出金额占比(%)&#xff0c;该因子为近一月单笔流出金额占比(% 均值因子&#xff0c;用以刻画下跌时的 单成交中可能存在的抄底现象 今日为该因子跟踪第2期&#xff0c;跟踪其在SH000905 (中证500) 中的表现&#xff0c;要点如下 …

【问题处理】银河麒麟操作系统实例分享,ipelbats转发端口访问ftp目录空白问题处理

1.问题环境 系统环境 物理机 网络环境 私有网络 硬件环境 处理器 arm 软件环境 操作系统版本 V10-SP1-0518-arm 内核版本 4.19.90-23.15.ky10.aarch64 2.问题描述 iptables转发端口访问ftp目录空白&#xff0c;同一个脚本在redhat7.8上正常 2023/2/27&#xff0…

由近期 RAGFlow 的火爆看 RAG 的现状与未来

4 月 1 日&#xff0c;InfiniFlow &#xff08;英飞流&#xff09;的端到端 RAG 解决方案 RAGFlow 正式开源&#xff0c;首日即获得了 github 千星&#xff0c;目前已接近 3000 star。在这之前&#xff0c;InfiniFlow 还开源了专门用于 RAG 场景的 AI 原生数据库 Infinity&…

autodl常用工具命令

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 tar/zip命令镜像版本参考torch包全版本下载torch和cuda版本对应conda命令conda打包conda 环境重命名conda环境复制和转移conda环境删除 tar/zip命令 参考链接 文件目录打包&#x…

加州大学欧文分校英语基础语法专项课程03:Simple Past Tense 学习笔记(完结)

Learn English: Beginning Grammar Specialization Specialization Certificate course 3&#xff1a; Simple Past Tense Course Certificate 本文是学习 https://www.coursera.org/learn/simple-past-tense 这门课的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。…

爬虫入门教程(一)

爬虫入门教程 1.什么是爬虫 爬虫是一种自动获取网站数据的程序或脚本。它可以自动模拟人类访问网站,获取网页源代码,解析并提取出所需的数据。 爬虫的工作原理类似于搜索引擎的索引程序&#xff0c;它们会按照预定的规则和算法在互联网上不断地爬取网页&#xff0c;收集信息…

mysql 查询变量@i:=@i+1

学习完mysql的查询&#xff1a;基本查询&#xff0c;连接查询和子查询和mysql 正则表达式查询&#xff0c;接下来先学习下变量查询。 mysql中没有oracle序列号那一列。mysql可以使用查询变量的方式去处理。我们先了解下查询变量&#xff0c;后面应用起来就更清晰。 1&#xff0…

盘点那些好用的SAP FIORI App (五)-管理银行账户

SAP的ECC系统里面&#xff0c;House Bank银行账户的维护是在GUI通过T-Code FI12进行创建修改的&#xff0c;但是升级到S4 HANA以后&#xff0c;FI12的创建维护功能已经取消&#xff0c;所有的house bank account,都要通过这个FIORI App 维护。 App ID 如下 银行账户创建 点击…