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

news2025/1/17 1:43:56

文章目录

    • 【`获取资源`请见文章第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. 资源获取

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

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

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

相关文章

由王雅贤带你深入《DBWGLX vs Ethan_Wang》

vs是versus。 (百度收录我DBWG🙏🙏🙏) 算来篇自传吧。像自我介绍和简历我是完全没写过喵~ 2024年4月6日12:44:53書 本命王雅贤,DBWGLX我的微信号,至于什么意思,吊臂王锅的意思&am…

ARM FVP平台的terminal窗口大小如何设置

当启动ARM FVP平台时,terminal窗口太小怎么办?看起来非常累眼睛,本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求: 通过上图可知,UART默认使用的是xterm。因此,我们需要修改xterm的默认字体设…

sql语句如何在MySQL中执行?

我们先来对MySQL的基础结构进行分析 一、 MySQL 基础架构分析 1.1 MySQL 基本架构概览 下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。 简单来说 MySQL 主要分为 Server 层和存储引擎层: Server…

性能分析--内存知识

内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度,比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据,一旦断电就会消失。linux系统的 /proc路径下的文件,都是内存文件。内存大小,一般 是GB为单位。 现在都操作…

【Pt】马灯贴图绘制过程 04-玻璃脏迹

目录 效果 步骤 一、透明玻璃 二、烟熏痕迹 三、粗糙 四、浮尘 效果 步骤 一、透明玻璃 1. 打开纹理集设置,着色器链接选择“新的着色器链接” 在着色器设置中可以看到此时名称为“Main shader (Copy)” 这里修改名称为“玻璃” 在…

【加密周报】比特币“强烈看涨”信号来了!巨鲸们正疯狂囤积稳定币!SEC呼吁公众对以太币ETF提供意见!

在过去一周里,比特币价格经历了一段下跌,并在随后出现了一些反弹迹象。与此同时,链上数据显示,巨鲸们在囤积稳定币,预示着“强烈的看涨情绪”。以太坊方面,美国证券交易委员会(SEC)已…

异常练习题

第一题:分析题 package chapter09_exception_teacher.src.com.atguigu05.exer.exer2;/*** 输出结果:* 进入方法A* 用A方法的finally* 制造异常* 进入方法B* 调用B方法的finally** author shkstart* create 0:57*/ public class ReturnExceptionDemo {sta…

【算法题】树节点的第 K 个祖先

题目: 给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。 树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。 实现…

算法 ST表

思想(本质为dp): 题目AcWing1270. 数列区间最大值: 1270. 数列区间最大值 - AcWing题库 输入一串数字,给你 M 个询问,每次询问就给你两个数字 X,Y要求你说出 X到 Y这段区间内的最大数。 输入格式 第一…

Java数据结构队列

队列(Queue) 概念 队列的使用 注意:Queue是个接口,在实例化时必须实例化LinkedList的对象,因为LinkedList实现了Queue接口。 import java.util.LinkedList; import java.util.Queue;public class Test {public static void main(String[]…

初识二叉树和二叉树的基本操作

目录 一、树 1.什么是树 2. 与树相关的概念 二、二叉树 1.什么是二叉树 2.二叉树特点 3.满二叉树与完全二叉树 4.二叉树性质 相关题目: 5.二叉树的存储 6.二叉树的遍历和基本操作 二叉树的遍历 二叉树的基本操作 一、树 1.什么是树 子树是不相交的;…

windows server 2019-DHCP服务器搭建

一、DHCP的原理: 1,获得ip的过程 客户机发送请求给所有DHCP服务器 DHCP服务器收到请求后发送响应包给客户机 客户机收到响应包(第一个到达的)后,检验响应包里面的ip能不能用(使用ping的方式&#xff0c…

Ideal的使用技巧

一、springcloud项目如何将多个服务放到services中一起启动 1、打开ideal,再view -> Tool Windows -> services 2、在services界面 找到 run configuration type -> springboot即可 二、配置临时的启动参数 1、在edit configurations中 2、选择相应的服务…

网络原理 - HTTP / HTTPS(5)——https协议

目录 一、HTTPS是什么 为什么要进行加密 二、“加密” 是什么 三、HTTPS的工作过程 (1)引入对称加密 对称密钥的特点: (2)引入非对称加密 非对称加密的特点: (3)中间人攻击…

深入浅出 -- 系统架构之负载均衡Nginx反向代理

一、Nginx反向代理-负载均衡 首先通过SpringBootFreemarker快速搭建一个WEB项目:springboot-web-nginx,然后在该项目中,创建一个IndexNginxController.java文件,逻辑如下: Controller public class IndexNginxControl…

免费SSL证书申请指南

在互联网时代,HTTPS安全协议已成网站标配,而SSL/TLS证书是实现HTTPS的关键。以下是如何申请免费证书的简明流程: 1.选择证书颁发机构(CA):现今很多知名CA如JoySSL、Lets Encrypt等提供免费SSL证书服务。选定…

云备份day02

📟作者主页:慢热的陕西人 🌴专栏链接:C云备份项目 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要内容介绍了第三方库jsoncpp和bundle库的使用 文章目录 云备…

关于Linux下的进程状态(进程篇)

目录 Linux操作系统的一般进程状态 关于阻塞 关于挂起 Linux内核状态源代码: 关于僵尸进程 关于孤儿进程 Linux操作系统的一般进程状态 新建:字面意思运行:task_struct结构体在运行队列中排队,就叫做运行态阻塞:等待非…

Java项目:基于Springboot+vue社区医院管理系统设计与实现(源码+数据库+毕业论文)

一、项目简介 本项目是一套基于Springbootvue社区医院管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能…

机器学习知识点全面总结

机器学习按照模型类型分为监督学习模型、无监督学习模型两大类。 1、有监督学习 有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。Y f (X),训练数据通常是(nx,y)的形式,其中n代表训练样本的大…