【群智能算法改进】一种改进的鹦鹉优化算法 鹦鹉优化器 IPO算法【Matlab代码#73】

文章目录

    • 【`获取资源`请见文章第5节:资源获取】
    • 1. 原始鹦鹉优化算法PO
    • 2. 改进后的IPO算法
      • 2.1 自适应切换因子
      • 2.2 混合柯西和高斯变异
    • 3. 部分代码展示
    • 4. 仿真结果展示
    • 5. 资源获取


获取资源请见文章第5节:资源获取】


1. 原始鹦鹉优化算法PO

鹦鹉优化算法(Parrot optimizer,PO)是2024提出来的新算法。作者根据鹦鹉的四种不同的行为特征:觅食、停留、交流和对陌生人的恐惧,提出了这个算法。觅食行为描述鹦鹉在食物丰富的小群体中觅食,可以利用主人的位置和群体的存在,向食物靠近;停留行为描述鹦鹉在主人身体的不同部位随机栖息;交流行为描述鹦鹉在群体中进行交流,既用于社会互动,也用于信息传播;对陌生人的恐惧行为描述鹦鹉离开不熟悉的个体,向它们的主人寻求保护。

2. 改进后的IPO算法

2.1 自适应切换因子

在鹦鹉优化算法的交流行为阶段,有两个公式来更新鹦鹉的位置,其中一个公式描述的是鹦鹉在种群进行交流的行为,另外一个公式描述的是鹦鹉进行信息传播的行为,通过H因子来控制这两种行为的概率。其中,描述信息传播行为的公式,其变异力度较小,当种群陷入局部最优时,并不能有效地跳出局部最优。因此,提出自适应切换因子策略,让鹦鹉在迭代后期更多的进行种群间交流行为,减少低效的信息传播行为。

2.2 混合柯西和高斯变异

在传统鹦鹉优化算法迭代过程中,鹦鹉个体的快速同化可能会导致种群聚集在当前最优位置附近,从而陷入局部最优解而无法发现全局最优解。为了解决这个问题,引入变异算子对个体进行干扰,以增加种群的多样性,跳出局部最优解。柯西和高斯变异是两种常用的变异算子,但各自存在一些缺点。因此,提出一种融合了柯西变异和高斯变异各自的优点的自适应高斯-柯西混合变异策略。
在这里插入图片描述

3. 部分代码展示

close all
clear
clc
N = 30; % Number of search agents
Function_name='F1'; % Name of the test function that can be from F1 to F23 
Max_iteration = 500; % Maximum numbef of iterations

% Load details of the selected benchmark function
[lb,ub,dim,fobj] = Get_Functions_details(Function_name);
[Best_pos_PO, Best_score_PO, Convergence_PO] = PO(N,Max_iteration,lb,ub,dim,fobj);
[Best_pos_IPO, Best_score_IPO, Convergence_IPO] = IPO(N,Max_iteration,lb,ub,dim,fobj);

% Draw search space
figure('Position',[454   445   694   297]);
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])

% Draw objective space
subplot(1,2,2);
semilogy(Convergence_PO,'Color','k','Linewidth', 1.5)
hold on
semilogy(Convergence_IPO,'Color','r','Linewidth', 1.5)
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('PO','IPO')

4. 仿真结果展示

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

5. 资源获取

可更换其他群智能算法,获取完整代码资源。👇👇👇👀名片

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

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

相关文章

【数据结构】:顺序表专题

前言:今天我们开始介绍数据结构有关内容,那么数据结构是什么呢? 数据结构是计算机存储、组织数据的方式。在工作中,我们通常会直接使用已经封装好的集合API(应用程序编程接口),这样可以更高效地完成任务。但是作为一名…

构建高效网络:深入理解正向与反向代理的作用与配置

正向代理 如果把局域网外的互联网环境想象成一个巨大的资源库,则局域网中的客户端要访问互联网则需要通过代理服务器来访问,这种代理成为正向代理。 示例: 用户想要访问 https://chensir.ink (目标服务器)&#xff0…

【资源分享】这个网站我愿称之为年度学术最伟大的发现

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

Open CASCADE学习|求曲面的参数空间

在三维空间中,任意的曲面都可以通过特定的方法映射到一个二维参数平面上,从而对其进行详细的几何分析和处理。首先,我们需要从三维模型中提取出特定的曲面,这通常被称为“Face”。一个face可以被视为三维空间中的一个封闭区域&…

创建型模式--2.简单工厂模式【人造恶魔果实工厂1】

1. 工厂模式的特点 在海贼王中,作为原王下七武海之一的多弗朗明哥,可以说是新世界最大的流氓头子,拥有无上的权利和无尽的财富。他既是德雷斯罗萨国王又是地下世界的中介,控制着世界各地的诸多产业,人造恶魔果实工厂就…

算法设计与分析实验报告c++java实现(矩阵链连乘、投资问题、完全背包问题、旅行商问题、数字三角形)

一、 实验目的 1.加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握; 2.提高学生利用课堂所学知识解决实际问题的能力; 3.提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用动态规…

基于springboot+vue+Mysql的车辆充电桩管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

树莓集团召开2024年全员大会暨产业招商培训,招商练尖兵 风好正扬帆!

2024年4月9日,树莓集团在国际数字影像产业园隆重召开四月份集团全员大会暨产业招商培训。会议汇聚集团各部门的精英们齐聚一堂,共同总结树莓集团在第一季度的工作成果以及第二季度的重点工作规划。 首先,总经办对第一季度的工作进行了全面总结…

jdk8 新增的日期时间相关的类

预览 学习原因 jdk8之前既然已经有了相关的处理类,为什么还要新增这些类呢? 设计不合理比如说Date.getYear 返回的2024-1900的时间差124年Calendar.set(Calendar.YEAR, 2020); 我们是需要记忆对应的字段名称的 都是修改源对象,而不是返回新对…

HiWoo Cloud设备在线监控系统软件

在数字化浪潮席卷全球的今天,设备在线监控系统软件已经成为了企业智能化升级的关键一环。今天,就让我们走进HiWoo Cloud的世界,一探这款设备在线监控系统软件的奥秘。 设备在线监控系统软件,顾名思义,是一种能够对设备…

自动驾驶中的多目标跟踪_第一篇

自动驾驶中的多目标跟踪:第一篇 多目标跟踪(multi-object/multi-target tracking)的任务包括估计场景中目标的数目、位置(状态)或其他属性,最关键的是需要在一段时间内持续地进行估计。 附赠自动驾驶学习资料和量产经验:链接 应…

<Halcon> 获取多边形拐点

获取多边形拐点 关键算子 * 多边形拟合XLD轮廓 gen_polygons_xld(Contours : Polygons : Type, Alpha : )* 获取多边形数据 * Row:多边形点的行坐标 * Col:多边形点的列坐标 * Length:点i和点i1之间的线段长度 * Phi:点i和点i1之…

最新版手机软件App下载排行网站源码/App应用商店源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 一款简洁蓝色的手机软件应用app下载排行,app下载平台,最新手机app发布网站响应式织梦模板。 主要有:主页、app列表页、app介绍详情页、新闻资讯列…

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组A-E题(go、java实现)

第十四届蓝桥杯大赛软件赛省赛C/C 大学 B 组 A题:日期统计B题:01串的熵C题:冶炼金属D题:飞机降落E题:接龙数列 A题:日期统计 直接遍历2023年每一天,看数组中是否有符合的 java的coding如下&…

【实操专区-第3周 课堂练习 完成折线图】

折线图(Line)也是最为常用的图表之一,核心思想是趋势变化。 折线图是点、线连在一起的图表,可反映事物的发展趋势和分布情况,适合在单个数据点不那么重要的情况下表现变化趋势、增长幅度。 为了更直观地查看商品销售数…

运营商名称 是如何显示到 手机通知栏上的?

在我们日常使用手机的过程中,经常会在通知栏或设置菜单中看到特定的运营商名称,例如"中国移动"、"中国联通"或"中国电信"等。 那么,这些运营商的名称是如何出现在我们手机上的呢?手机又是如何区分不…

Redis常见数据类型(2)

目录 String字符串 常见命令 SET GET MGET MSET SETNX 计数命令 INCR INCRBY DECR DECRBY INCRFLOAT 其它命令 APPEND GETRANGE SETRANGE STRLEN String字符串 字符串是Redis最基础的数据类型, 关于字符串需要特别注意: (1)首先Redis中所有的键的类型都是字符…

c++之stack_queue与反向迭代器的实现

目录 1. 简单介绍stack与queue的使用 1.1 stack的介绍与使用 stack的介绍 stack的使用 相关题目 1.2 queue的介绍与使用 queue的介绍 queue的使用 相关题目 2.stack与queue的模拟实现 容器适配器 2.1 stack的模拟实现 2.2 queue的模拟实现 2.3 priority_queu…

博客系统实现

一.准备工作 1.创建项目,把前端写好的博客静态页面拷贝到webapp目录中 2.引入依赖,这里主要用到servlet,mysql5.1.47,jacson2.15.0 3.找到右上角的edit configurations->smartTomcat->进行配置 4.数据库设计&#xff1a…

【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)

目录 题目描述思路及实现方式一:动态规划法思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:中心扩展法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型):回文串、动态规划 题目描述 给定一…