2024高被引算法——鹦鹉优化器,MATLAB代码免费获取

2024.04最新 鹦鹉优化算法 (PO) 开源MATLAB代码 2024最新算法---鹦鹉优化算法 (PO) 含开源MATLAB代码 阅读详情

注:该算法已按照智能优化算法APP标准格式进行整改,可直接集成到APP中,方便大家与自己的算法进行对比。

鹦鹉优化器(Parrot optimizer,PO),这是一种高效的元启发式算法,其灵感来自于在驯养的鹦鹉中观察到的觅食、停留、交流和对陌生人的恐惧行为。这些行为被集成在四个不同的公式中,以便于寻找最优解。传统的元启发式算法遵循单独的探索和开发阶段,与之相反,PO群体中的每个个体在每次迭代期间随机表现出这四种行为中的一种。这一方法可以更准确地反映在驯化的鹦鹉中观察到的行为随机性,并显著提高了种群多样性。该方法不同于传统的勘探开采两阶段结构,在保证解决方案质量的同时,有效降低了陷入局部最优的风险。PO的随机结构将其与传统算法区分开来,使其特别适合于避免局部最优,并适用于现实世界的问题解决,特别是在医疗领域。

c9be439e97333322377d584a282ac815.png

该成果于2024年发表在医学领域2区SCI期刊“Computers in Biology and Medicine”上,目前被引81次。

39ddd61bb0e24e6af723b0d153ca8e38.png

1.算法原理

绿颊锥尾鹦鹉是一种很受欢迎的鹦鹉物种,由于其吸引人的特征,因此是宠物主人的热门选择。以前的研究和育种工作表明,绿颊锥尾鹦鹉表现出四种不同的行为特征:觅食,停留,交流和害怕陌生人。这些行为如图所示,在现实世界的背景下,形成了设计PO的动机的基础。

(1)种群初始化

所提出的PO的初始化公式,考虑到一个群体的大小N,最大迭代数Maxiter,和搜索空间下限lb和上限,可以表示为:

式中rand(0,1)为[0,1]范围内的随机数,Xi0为表示在初始阶段中的第i位置。

(2)觅食行为

在觅食行为中,它们主要通过观察食物的位置或考虑主人的位置来估计食物的大致位置,然后向各自的位置飞去。因此,位置运动遵循如下公式:

在式中,Xti表示当前位置,Xt+1i表示后续更新的位置。Xtmean表示鹦鹉在当前种群内的平均位置,Levy(D)表示列维分布,用于描述鹦鹉的飞行。Xbest表示从初始化到当前搜索到的最佳位置,它也表示主机的当前位置。t表示当前的迭代次数。(Xtt-Xbest)·Leve(drm)表示基于个人相对于所有者的位置而进行的移动, 表示观察整个人群的位置,以进一步确定食物的方向。该过程如图所示。

f46bad7071498e6c5fe8dabb6b167fda.png

当前群的平均位置,由Xtmean所示,用以下公式表示:

根据下式中的规则可以得到Levy分布,其中赋值为1.5。

(3)停留行为

鹦鹉是一种高度社会化的生物,它的停留行为主要包括突然飞到主人身体的任何部位,在那里静止一段时间。该过程如图所示。这个过程可以表示为:

其中ones(1,dim)表示维度为dim的全1向量。Xbeast·Levy(dim)表示飞向宿主的过程,rand(0,1)·ones(1,dim)表示随机停在宿主身体某个部位的过程。

53c91ef1b9ec33db5bee241afdf4edbe.png

(4)沟通行为

鹦鹉是天生的社会性动物,其特点是群体内的密切交流。这种沟通行为包括飞向鸟群和不飞向鸟群的沟通。在PO中,假设这两种行为发生的概率相等,并使用当前种群的平均位置来象征群体的中心。该过程如图所示。这个过程可以表示为:

其中, 表示个体加入鹦鹉群体进行交流的过程, 表示个体在交流后立即飞走的过程。这两种行为都是可行的,因此,在[0,1]范围内使用随机生成的P来实现。

dddaa0e0b21b5d4b5e004d1c13233387.png

(5)害怕陌生人的行为

一般来说,鸟类对陌生人表现出天然的恐惧,鹦鹉也不例外。它们与不熟悉的个体保持距离,与主人一起寻找安全环境的行为如图所示,其公式表达如下所示:

其中 表示向主人飞去的过程, Мах表示远离陌生人的过程。

30c465e6521c63235bc0bd3b5625ae80.png

所提出的PO算法伪代码如图所示。

675e7e8ef44b8e2e877c03b336836a69.png

PO利用了探索和利用的优势,使其能够有效地导航搜索空间,同时收敛到最优解决方案,PO算法流程图如图所示。

353732ed20fd96750eaa21f5e171a9f1.png

2.结果展示

a3b31dda27d4c83864faf5b270d6b91b.png

7a76fc9ce780c7f557d0aba55db39d74.png

1a019013cad64485bab48923b43b0126.png

3f964a57c8796ffb6047a3afb41ee4f9.png

3.MATLAB核心代码

 
 
%% 淘个代码 %%
function [avg_fitness_curve, Best_pos, Best_score, curve, search_history, fitness_history] = PO(N, Max_iter, lb, ub, dim, fobj)

% BestF: Best value in a certain iteration
% WorstF: Worst value in a certain iteration
% GBestF: Global best fitness value
% AveF: Average value in each iteration

if (max(size(ub)) == 1)
    ub = ub .* ones(1, dim);
    lb = lb .* ones(1, dim);
end

%% Initialization
X0 = initialization(N, dim, ub, lb); % Initialization
X = X0;

% Compute initial fitness values
fitness = zeros(1, N);
for i = 1:N
    fitness(i) = fobj(X(i, :));
end
[fitness, index] = sort(fitness); % sort
GBestF = fitness(1); % Global best fitness value
AveF = mean(fitness);
for i = 1:N
    X(i, :) = X0(index(i), :);
end
curve = zeros(1, Max_iter);
avg_fitness_curve = zeros(1, Max_iter);
GBestX = X(1, :); % Global best position
X_new = X;
search_history = zeros(N, Max_iter, dim);
fitness_history = zeros(N, Max_iter);
%% Start search
for i = 1:Max_iter
if mod(i,100) == 0
      display(['At iteration ', num2str(i), ' the fitness is ', num2str(curve(i-1))]);
    end
    avg_fitness_curve(i) = AveF;
    alpha = rand(1) / 5;
    sita = rand(1) * pi;
for j = 1:size(X, 1)
        St = randi([1, 4]);
        % foraging behavior
if St == 1
                X_new(j, :) = (X(j, :) - GBestX) .* Levy(dim) + rand(1) * mean(X) * (1 - i / Max_iter) ^ (2 * i / Max_iter);

        % staying behavior
        elseif St == 2
                X_new(j, :) = X(j, :) + GBestX .* Levy(dim) + randn() * (1 - i / Max_iter) * ones(1, dim);

        % communicating behavior
        elseif St == 3
                H = rand(1);
if H < 0.5
                    X_new(j, :) = X(j, :) + alpha * (1 - i / Max_iter) * (X(j, :) - mean(X));
else
                    X_new(j, :) = X(j, :) + alpha * (1 - i / Max_iter) * exp(-j / (rand(1) * Max_iter));
                end
        % fear of strangers' behavior
        else
                X_new(j, :) = X(j, :) + rand() * cos((pi *i )/ (2 * Max_iter)) * (GBestX - X(j, :)) - cos(sita) * (i / Max_iter) ^ (2 / Max_iter) * (X(j, :) - GBestX);
        end
        % Boundary control
        for m = 1:N
            for a = 1:dim
                if (X_new(m, a) > ub(a))
                    X_new(m, a) = ub(a);
                end
                if (X_new(m, a) < lb(a))
                    X_new(m, a) = lb(a);
                end
            end
        end
               % Finding the best location so far
        if fobj(X_new(j, :)) < GBestF
            GBestF = fobj(X_new(j, :));
            GBestX = X_new(j, :);
        end
    end
        % Update positions
    for s = 1:N
        fitness_new(s) = fobj(X_new(s, :));
    end
    for s = 1:N
        if (fitness_new(s) < GBestF)
            GBestF = fitness_new(s);
            GBestX = X_new(s, :);
        end
    end
    X = X_new;
    fitness = fitness_new;
        
    % Sorting and updating
    [fitness, index] = sort(fitness); % sort
    for s = 1:N
        X0(s, :) = X(index(s), :);
    end
    X = X0;
    curve(i) = GBestF;
    Best_pos = GBestX;
    Best_score = curve(end);
    search_history(:, i, :) = X;
    fitness_history(:, i) = fitness;
end
%%  Levy search strategy
function o = Levy(d)
    beta = 1.5;
    sigma = (gamma(1 + beta) *sin(pi * beta / 2) / (gamma((1 + beta) / 2) * beta * 2^((beta - 1) / 2)))^(1 / beta);
    u = randn(1, d) * sigma;
    v = randn(1, d);
    step = u ./ abs(v).^(1 / beta);
    o = step;
end   
end
淘个代码,获取更多免费代码

4.参考文献

[1]Lian J, Hui G, Ma L, et al. Parrot optimizer: Algorithm and applications to medical problems[J]. Computers in Biology and Medicine, 2024, 172: 108064.

完整代码获取

后台回复关键词:

TGDM819


鹦鹉优化器(PO)算法精解:从生物行为建模到医疗诊断实战 本文深入解析了鹦鹉优化器(PO)算法,这是一种受绿颊锥尾鹦鹉觅食、停留、沟通和害怕陌生人四种行为启发的仿生智能优化方法。文章详细阐述了其数学建模与代码实现,并重点展示了其在医疗诊断领域的实战应用,如疾病风险预测模型和医学图像分割模型的超参数优化,为处理复杂优化问题提供了新思路。 阅读详情

相关推荐

算法 | 鹦鹉优化算法(Parrot Optimizer, PO)解析

鹦鹉优化算法通过模拟生物行为的随机性与群体智能,为复杂优化问题提供了高效解决方案。其在医学、工程等领域的成功应用验证了其技术价值,未来通过多模态融合与硬件加速,PO有望成为智能优化领域的核心工具之一。开发者可通过开源社区获取MATLAB/Python代码,快速实现算法部署。

尘世冰封的专栏 507

【智能算法】鹦鹉优化算法(PO)原理及实现

鹦鹉特点是群体内的密切交流,包括飞向鸟群和不飞向鸟群的沟通。2024年,J Lian等人受到鹦鹉学习行为启发,提出了鹦鹉优化算法(Parrot Optimizer, PO)。PO灵感来自于在驯养的鹦鹉中观察到的觅食、停留、交流和对陌生人的恐惧行为。Xbest最优鹦鹉位置,Xmean种群鹦鹉平均位置。

Logic_9527的博客 3664

MATLAB算法实战应用案例精讲-鹦鹉优化器(PO)(附MATLAB代码实现)

MATLAB算法实战应用案例精讲-鹦鹉优化器(PO)(附MATLAB代码实现)

2024最新算法:鹦鹉优化算法(Parrot optimizer,PO)求解23个基准函数(提供MATLAB代码)

鹦鹉优化算法(Parrot optimizer,PO)由Junbo Lian等人于2024年提出的一种高效的元启发式算法,该算法从驯养的鹦鹉中观察到的觅食、停留、交流和对陌生人行为的恐惧中汲取灵感。这些行为被封装在四个不同的公式中,以促进寻找最佳解决方案。与遵循单独探索和开发阶段的传统元启发式算法相比,PO 群体中的每个个体在每次迭代期间都会随机表现出这四种行为中的一种。这种方法更恰当地表示了在驯化鹦鹉中观察到的行为随机性,并显着增强了种群多样性。通过偏离传统的勘探-开采两阶段结构,PO有效地降低了被困在局

IT猿手 1642

PO-BP鹦鹉优化算法优化BP神经网络分类预测(Matlab完整源码和数据)

1.Matlab实现PO-BP鹦鹉优化算法优化BP神经网络分类预测(Matlab完整源码和数据)(Matlab完整源码和数据)。 2.输出对比图、混淆矩阵图、预测准确率,运行环境Matlab2023及以上。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:优快云搜索博主名称机器学习之心,优快云博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信。

智能算法鹦鹉优化器Parrot optimizer【2024最新智能优化算法合集】

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

鹦鹉优化算法(PO)-2024年新算法-公式原理详解与性能测评 Matlab代码免费获取

鹦鹉优化算法(Parrot optimizer, PO)是一种新型的元启发式算法(智能优化算法),灵感来源于鹦鹉与主人的关系。该成果由Junbo Lian等人于2024年发表在SCI二区Top期刊《Computers in Biology and Medicine》上。由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

qq_45410735的博客 430

Unity 2022打包Android APK:手把手教你创建和配置第一个签名Keystore(避坑指南)

本文详细介绍了Unity 2022打包Android APK时创建和配置签名Keystore的全流程,包括环境准备、Keystore创建、高级配置避坑指南以及签名验证与故障排查。特别强调了Android应用签名的重要性及安全维护策略,帮助开发者避免常见错误,确保应用顺利发布。

weixin_27379781的博客 241

2024年优化算法-鹦鹉优化器Parrot optimizer(附Matlab代码)

本期介绍一种基于训练后鹦鹉关键行为的高效优化方法——。该成果于在中科院2区top SCI期刊Computers in Biology and Medicine。鹦鹉表现出四种不同的行为特征:觅食、停留、交流和对陌生人的恐惧。1.:和其他算法类似,随机初始化2.:在觅食行为中,它们主要通过观察食物的位置或考虑主人的位置来估计食物的大致位置,然后向各自的位置飞去。因此,位置运动遵循这个方程。3.它的停留行为主要包括突然飞到主人身体的任何部位,在那里静止一段时间。。这个过程可以表示为4.

weixin_44028734的博客 1536

因时机器人-灵巧手配置方案(Ubuntu18.04)

因时机器人-灵巧手配置方案(Ubuntu18.04)

CH_monsy的博客 3848

嵌入式开发 DSP芯片运行方式(挖坑-填坑中-坑已平 :))

TMS320F28335 DSP 芯片 如何将运行代码放在不同的位置

FOOLCODE的专栏 1306

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

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

群智能算法开发 3394

YOLO26改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失

本文记录的是。传统的卷积神经网络中常用的最大池化平均池化和步长为2的卷积等操作进行下采样可能会导致信息丢失,为了解决信息丢失问题,HWD作者受无损信息变换方法的启发,引入Haar小波变换到下采样模块中,

Limiiiing的博客 346

2024最新算法:鹦鹉优化算法(Parrot optimizer,PO)求解23个基准函数

鹦鹉优化算法(Parrot optimizer,PO)由Junbo Lian等人于2024年提出的一种高效的元启发式算法,该算法从驯养的鹦鹉中观察到的觅食、停留、交流和对陌生人行为的恐惧中汲取灵感。这些行为被封装在四个不同的公式中,以促进寻找最佳解决方案。与遵循单独探索和开发阶段的传统元启发式算法相比,PO 群体中的每个个体在每次迭代期间都会随机表现出这四种行为中的一种。这种方法更恰当地表示了在驯化鹦鹉中观察到的行为随机性,并显着增强了种群多样性。通过偏离传统的勘探-开采两阶段结构,PO有效地降低了被困在局

1819

量化交易python代码解析:从狙击手算法到最优限价算法

在金融市场的竞技场上,量化交易如同一位冷静的策略大师,它以数学模型为剑,以计算机程序为盾,精准出击,捕捉市场的微妙波动。本文将深入探讨五种核心量化交易算法:直接委托算法(DMA)、时间加权平均算法(TWAP)、冰山算法(Iceberg)、狙击手算法(Sniper)、条件委托算法(Stop)以及最优限价算法(BestLimit),揭开它们背后的运作机制与实战应用。

木头大左的博客 1886

2024-江苏科技大学-模拟-动态接触角,模拟液滴撞击,comsol软件模拟。

相反,其对液滴粘度和平衡接触角的变化基本不敏感。重力势能的影响显著受过程参数调节,随着液滴直径和密度的增加而增加,而随着初始液滴速度和表面张力系数的增加而减小。通过考虑形状因子和粘度修正因子,可以准确定义表面能和粘性耗散能,使得所提出的半经验修正勺状模型表现出良好的性能,在所有65个研究案例中,液滴最大铺展长度因子(βmax)和中心厚度(h)的相对误差基本分别落在5%和10%的区间内。重力势能的影响受过程参数显著调节,随液滴直径和密度的增大而增大,随液滴初始速度和表面张力系数的增大而减小。

qq_15963745的博客 512

鹦鹉优化算法原理及代码实现

其中rand(0,1)⋅cos (0.5π·t/(Max_iter))⋅(X_best-X_i^t)表示重新定向飞向所有者的过程,cos (rand(0,1)⋅π)⋅(t/(Max_iter)) ^(2/(Max_iter))⋅(X_i^t- x_best)表示远离陌生人的过程。这种沟通行为包括飞向鸟群和不飞向鸟群的沟通。式中ones(1,dim)表示维度dim的全1向量,X_best⋅Levy(dim)表示飞往宿主的过程,rand(0,1)⋅ones(1,dim)表示随机停在宿主身体某个部位的过程。

yzf060109的专栏 1233

(11-3-01 )

以太坊(Ethereum)是一种基于区块链技术的开源平台和加密货币。它于2015年由Vitalik Buterin和Gavin Wood等开发者创建,并成为比特币之后最受欢迎的加密货币之一。以太坊不仅支持加密货币交易,还为开发者和企业提供了构建去中心化应用程序的强大工具。在本节的内容中,将实型一个完整的机器学习模型项目,智能检测出以太坊区块链中的非法账户。从问题定义到模型建立和评估,再到最终的总结和建议。本实例突出了处理类别不平衡问题的重要性,并展示了如何使用多种机器学习算法来解决实际问题。此外,通过数据可

码农三叔 2170

智能优化特征选择|基于鹦鹉优化(2024年新出优化算法)的特征选择(分类器选用的是KNN)研究Matlab程序 【优化算法可以替换成其他优化方法】

智能优化特征选择|基于鹦鹉优化(2024年新出优化算法)的特征选择(分类器选用的是KNN)研究Matlab程序

2401_86241083的博客 1484

基于OpenCV的实时疲劳检测系统实现

本文介绍了一个基于OpenCV的实时疲劳检测系统,使用Python实现。系统通过Haar级联分类器检测人脸和眼睛,计算眼睛宽高比(EAR)和PERCLOS(眼睛闭合时间比例)来评估疲劳程度,分为4个等级:正常、轻度、中度和重度疲劳。核心代码包含人脸眼睛检测、疲劳评估和可视化显示功能,具有实时性、稳定性和直观的视觉反馈。系统可通过摄像头实时监控驾驶员状态,为疲劳驾驶预警提供简单有效的解决方案。

weixin_62135607的博客 232

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

分类预测|2024年最新优化算法鹦鹉优化器PO|基于鹦鹉优化RELM正则化极限学习机数据分类预测Matlab程序PO-RELM

分类预测|2024年最新优化算法鹦鹉优化器PO|基于鹦鹉优化RELM正则化极限学习机数据分类预测Matlab程序PO-RELM

2401_86241083的博客 892

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

鹦鹉优化算法-POA

鹦鹉优化算法(Parrot Optimization Algorithm,POA)是一种受鹦鹉社会行为和觅食策略启发而提出的新型元启发式优化算法,下面将从算法灵感来源、原理、步骤、特点和应用等方面进行详细介绍。

RRACC的博客 1442

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

新!!!基于多策略改进2024年鹦鹉智能优化算法MSPO 有对比 也可使用MSPO优化机器学习模型参数进行回归、分类、时序预测

多策略改进鹦鹉优化算法(MSPO)结合了几种优化策略和改进措施,旨在提高算法的全局搜索能力和收敛速度。基于cat映射 + 反向策略的种群初始化Cat映射初始化:利用“cat映射”技术,可以有效地初始化种群,提高种群的多样性和初始探索能力。Cat映射是一种启发式方法,模拟猫的行为来生成种群的初始解。反向策略:在初始化过程中引入反向策略,有助于增加种群的多样性,避免种群陷入局部最优。自适应权重切换因子权重切换因子:通常指在算法执行过程中调整不同策略的权重或者调整算法参数的因子。

2401_86241083的博客 2138

一种改进的鹦鹉优化算法IPO(2024年最新优化算法,可以发小论文)效果非常好!

可以利用改进的IPO优化算法对机器学习模型超参数进行优化,例如随机森林RF,支持向量机SVM,最小二乘支持向量机LSSVM,相关向量机RVM,极限学习机ELM,鲁棒极限学习机RELM,长短期记忆网络LSTM,IPO-CNN-LSTM-Attention等等。一种改进的鹦鹉优化算法IPO(2024年最新优化算法,可以发小论文)效果非常好!基本每个函数的效果都很好!F9,F11收敛非常快,远远最优,其他都是最优的!2024年新优化算法,原创可以发小论文。可以用于数据的分类,回归,时序预测。

m0_53992455的博客 235

【智能优化算法】鹦鹉优化算法(Parrot optimizer,PO)

是发表在中科院二区期刊上的论文“Parrot optimizer: Algorithm and applications to medical problems”

yuchunyu12的博客 1428
上一篇: 2024最新——逃生优化算法,MATLAB代码免费获取
下一篇: 向量加权平均优化算法,MATLAB代码免费获取
淘个代码_
博客等级 码龄7年 1万+粉丝 504原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

淘个代码_

不想刀我的可以选择爱我

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

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

打赏作者

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

抵扣说明:

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

余额充值