2024年新提出的算法|鹦鹉优化器(Parrot optimizer):算法及其在医疗问题中的应用

2024-02-28 13:36

本文主要是介绍2024年新提出的算法|鹦鹉优化器(Parrot optimizer):算法及其在医疗问题中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本期介绍一种基于训练后鹦鹉关键行为的高效优化方法——鹦鹉优化器(Parrot Optimizer, PO)。该成果于2024年2月发表在中科院2区top SCI期刊Computers in Biology and Medicine(IF=7.7)
在这里插入图片描述

1、简介

鹦鹉优化器(PO)是一种受训练有素的Pyrrhura Molinae鹦鹉观察到的关键行为启发的高效优化方法。该研究以定性分析和综合实验为特色,展示了鹦鹉优化器在处理各种优化问题时的独特特征。性能评估包括在35个函数上对所提出的PO进行基准测试,包括来自IEEE CEC 2022测试集的经典案例和问题,并将其与八种流行算法进行比较。结果生动地突出了PO在其探索性和开发性特征方面的竞争优势。此外,参数敏感性实验探索了所提出的PO在不同配置下的适应性。开发的PO在应用于工程设计问题时展示了有效性和优越性。为了进一步将评估扩展到现实世界的应用,我们将PO应用于疾病诊断和医学图像分割问题,这些问题在医学领域具有高度相关性和重要性。
在这里插入图片描述

2、数学建模

2.1 种群初始化(随机)

X i 0 = l b + r a n d ( 0 , 1 ) ⋅ ( u b − l b ) X_{i}^{0}=l b+r a n d\left(0,1\right)\cdot\left(u b-l b\right) Xi0=lb+rand(0,1)(ublb)

2.2 觅食行为

在PO的觅食行为中,它们主要通过观察食物的位置或考虑主人的位置来估计食物的大致位置,然后向各自的位置飞行。位置运动遵循以下方程:
X i t + 1 = ( X i t − X b e s t ) ⋅ L e v y ( d i m ) + r a n d ( 0 , 1 ) ⋅ ( 1 − t M a x i n v ) u M a x i n v ⋅ X m e a n t X_{i}^{t+1}=\left(X_{i}^{t}-X_{b e s t}\right)\cdot L e v y\left(d i m\right)+r a n d\left(0,1\right)\cdot\left(1-\frac{t}{M a x_{i n v}}\right)^{\frac{u}{M a x_{i n v}}}\cdot X_{m e a n}^{t} Xit+1=(XitXbest)Levy(dim)+rand(0,1)(1Maxinvt)MaxinvuXmeant

2.3 停留行为

Pyrrhura Molinae是一种高度社会化的生物,它的停留行为主要包括突然逃到主人身体的任何部位,在那里它保持静止一段时间。这个过程如图所示。这个过程可以表示为:
X i t + 1 = X i t + X b e s t ⋅ L e v y ( d i m ) + r a n d ( 0 , 1 ) ⋅ o n e s ( 1 , d i m ) X_{i}^{t+1}=X_{i}^{t}+X_{b e s t}\cdot L e v y(d i m)+r a n d(0,1)\cdot o n e s\left(1,d i m\right) Xit+1=Xit+XbestLevy(dim)+rand(0,1)ones(1,dim)
o n e s ( 1 , d i m ) ones(1,dim) ones(1,dim)表示随机停在宿主身体某一部位的过程。
在这里插入图片描述

2.4 沟通行为

Pyrrhura Molinae鹦鹉是天生的群居动物,其特点是在群体内进行密切的交流。这种交流行为包括飞向羊群和不飞向羊群进行交流。在PO中,假设这两种行为发生的概率相等,并使用当前群体的平均位置来表示群体的中心。这个过程如图所示。这个过程可以表示为:
X i t + 1 = { 0.2 ⋅ r a n d ( 0 , 1 ) ⋅ ( 1 − t M a x i e r ) ⋅ ( X i t − X m e a n t ) , P ≤ 0.5 0.2 ⋅ r a n d ( 0 , 1 ) ⋅ e x p ( − t r a n d ( 0 , 1 ) ⋅ M a x i e r ) , P > 0.5 X_{i}^{t+1}=\left\{\begin{array}{c}{{0.2\cdot r a n d\left(0,1\right)\cdot\left(1-\frac t{M a x_{i e r}}\right)\cdot\left(X_{i}^{t}-X_{m e a n}^{t}\right),P\leq0.5}}\\ {{0.2\cdot r a n d\left(0,1\right)\cdot ex p\left(-\frac t{r a n d(0,1)\cdot M a x_{i e r}}\right),P\gt 0.5}}\end{array}\right. Xit+1= 0.2rand(0,1)(1Maxiert)(XitXmeant),P0.50.2rand(0,1)exp(rand(0,1)Maxiert),P>0.5

在这里插入图片描述

2.5 害怕陌生人的行为

一般来说,鸟类对陌生人表现出天生的恐惧,Pyrrhura Molinae鹦鹉也不例外。它们与不熟悉的个体保持距离,并与主人一起寻求安全环境的行为如图5所示,如下所述:
X i t + 1 = X i t + r a n d ( 0 , 1 ) ⋅ c o s ( 0.5 π ⋅ t M a x i e r ) ⋅ ( X b e s t − X i t ) − c o s ( r a n d ( 0 , 1 ) ⋅ π ) ⋅ ( t M a x i e r ) 2 M a x i e r ⋅ ( X i t − X b e s t ) X_{i}^{t+1}\,=\,X_{i}^{t}\,+\,r a n d\,(0,1)\cdot c o s\,\left(0.5\pi\cdot{\frac{t}{M a x_{i e r}}}\right)\,\cdot\,\left(X_{b e s t}\,-\,X_{i}^{t}\right)-\,c o s\left(r a n d\left(0,1\right)\cdot\pi\right)\cdot\left(\frac{t}{M a x_{i e r}}\right)^{\frac{2}{M a x_{i e r}}}\,\cdot\left(X_{i}^{t}-X_{b e s t}\right) Xit+1=Xit+rand(0,1)cos(0.5πMaxiert)(XbestXit)cos(rand(0,1)π)(Maxiert)Maxier2(XitXbest)

3.Matlab源代码下载

(1)2024年新提出的算法|鹦鹉优化器(PO)跑CEC2005数据集
(2)2024年新提出的算法|鹦鹉优化器(PO)跑CEC2017数据集
(2)2024年新提出的算法|鹦鹉优化器(PO)跑CEC2022数据集

Junbo Lian, Guohua Hui, Ling Ma, Ting Zhu, Xincan Wu, Ali Asghar Heidari, Yi Chen, Huiling Chen,Parrot optimizer: Algorithm and applications to medical problems,Computers in Biology and Medicine,2024, https://doi.org/10.1016/j.compbiomed.2024.108064.

这篇关于2024年新提出的算法|鹦鹉优化器(Parrot optimizer):算法及其在医疗问题中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/755650

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语