2024最新算法:冠豪猪优化算法(Crested Porcupine Optimizer,CPO)求解23个基准函数(提供MATLAB代码)

一、冠豪猪优化算法

冠豪猪优化算法(Crested Porcupine Optimizer,CPO)由Mohamed Abdel-Basset等人于2024年提出,该算法模拟冠豪猪的四种不同保护机制:视觉、听觉、气味和物理攻击。第一和第二防御技术(视觉和听觉)反映了CPO的探索行为,而第三和第四防御策略(气味和物理攻击)反映了CPO的剥削行为。该算法提出了一种称为循环种群减少技术的新策略,以模拟并非所有CP激活其防御机制,而只激活那些受到威胁的CP的介词。这种策略促进了趋同率和种群多样性。

[1]Abdel-Basset M, Mohamed R, Abouhawwash M. Crested Porcupine Optimizer: A new nature-inspired metaheuristic[J]. Knowledge-Based Systems, 2024, 284: 111257.

二、23个函数介绍

参考文献:

[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

三、CPO求解23个函数

3.1部分代码

close all ;
clear
clc
Npop=30;                
Function_name='F1';     % Name of the test function that can be from F1 to F23 ( 
Tmax=500;              
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_fit,Best_pos,Convergence_curve]=CPO(Npop,Tmax,lb,ub,dim,fobj);
figure('Position',[100 100 660 290])
%Draw search space
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_curve,'Color','r','linewidth',3)
title('Search space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('CPO')
saveas(gca,[Function_name '.jpg']);


display(['The best solution is ', num2str(Best_pos)]);
display(['The best fitness value is ', num2str(Best_fit)]);


3.2部分结果

四、完整MATLAB代码

文件夹夹内包含该算法求解23个函数的完整MATLAB代码,点击main.m即可运行。

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

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

相关文章

论文阅读-CheckFreq:频繁、精细的DNN检查点操作。

论文名称:CheckFreq: Frequent, Fine-Grained DNN Checkpointing. 摘要 训练深度神经网络(DNNs)是一项资源密集且耗时的任务。在训练过程中,模型在GPU上进行计算,重复地学习权重,持续多个epoch。学习到的权重存在GPU内存中&…

地图资源工具新增 GEDI 2A 数据下载

GEDI 2A 是指"Global Ecosystem Dynamics Investigation 2A",这是一项由美国宇航局 (NASA) 所发起的卫星任务。GEDI 2A 任务的目标是通过激光雷达技术来监测和理解全球生态系统的动态变化。该技术可以提供高精度的地形和植被结构数据,对于研究…

云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸

知识点 1、云原生-Docker安全-容器逃逸&内核漏洞 2、云原生-Docker安全-容器逃逸&版本漏洞 3、云原生-Docker安全-容器逃逸&CDK自动化 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群&#xff0c…

CSM是什么意思?

CSM(Customer Service Management)是企业客户服务管理的信息化(IT)解决方案架构。本着以客户为中心的管理理念,搭建企业客户服务管理平台,实现企业以客户为中心的管理时代的竞争战略。 CSM的核心是以客户为中心,实现对…

【Pytorch、torchvision、CUDA 各个版本对应关系以及安装指令】

Pytorch、torchvision、CUDA 各个版本对应关系以及安装指令 1、名词解释 1.1 CUDA CUDA(Compute Unified Device Architecture)是由NVIDIA开发的用于并行计算的平台和编程模型。CUDA旨在利用NVIDIA GPU(图形处理单元)的强大计算…

Python3零基础教程之数学运算专题进阶

大家好,我是千与编程,今天已经进入我们Python3的零基础教程的第十节之数学运算专题进阶。上一次的数学运算中我们介绍了简单的基础四则运算,加减乘除运算。当涉及到数学运算的 Python 3 刷题使用时,进阶课程包含了许多重要的概念和技巧。下面是一个简单的教程,涵盖了一些常…

Http协议综述

目录 一.B/S架构 二.Http协议 1.概述 2.特点 3.请求数据格式 (1)请求头 (2)请求行 (3)请求体 4.相应数据格式 (1)相应行 (2)相应头 (…

Beans模块之工厂模块BeanClassLoaderAware

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

【HTML】HTML基础5(特殊字符)

目录 特殊字符的作用 常用的特殊字符 使用效果 特殊字符的作用 例如 当我在两个文字间打出空格时 <p>“银河护卫队”系列 在漫威电影宇宙中一直是异数般的存在&#xff0c;不仅因为影片主角是一群反英雄&#xff0c;<strong>与超级英雄相比显得格格不入<…

【软考】数据库的三级模式

目录 一、概念1.1 说明1.2 数据库系统体系结构图 二、外模式三、概念模式四、内模式 一、概念 1.1 说明 1.数据的存储结构各不相同&#xff0c;但体系结构基本上具有相同的特征&#xff0c;采用三级模式和两级镜像 2.数据库系统设计员可以在视图层、逻辑层和物理层对数据进行抽…

从零开始:开发家政预约APP的技术指南

当下&#xff0c;家政预约APP成为了人们解决家务需求的便捷工具。本文将为您提供一份从零开始的技术指南&#xff0c;帮助您了解开发家政预约APP所需的关键技术和步骤。 一、确定功能需求 -用户注册与登录 -家政服务分类与浏览 -预约服务与支付 -评价与反馈 -定位与导航 …

Unity - 相机画面为黑白效果

一、 在Hierarchy中创建一个Global Volume,并设置它为局部作用 二、 将场景出现的作用域范围缩小至相机所在位置&#xff0c;将相机包含即可。 三、添加覆盖组件Color Adjustments,并将Saturation直接拉为-100 。 此时&#xff0c;相机拍摄画面为黑白&#xff0c;场景视图中…

Python中调试 requests模块时出现的大坑(2)

为防止迷路: 学习机械相关,请关注公众号:南大盛联 学习软件,硬件,请关注公众号:一训微课 文件名命名不当导致的坑,是不是太坑人了,是的! 刚开始怀疑软件,怀疑平台,怀疑自己的代码 平台:pychar 运行结果: 很奇怪! 没有删除上面文件的情况下 新建re1.py

.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库

.net 在ubuntu下动态写入图片水印 中文字乱码 解决&#xff1a;ubuntu下添加中文字库 1.安装字体命令 sudo apt install -y fontconfig2.查看已安装的字体 &#xff08;1&#xff09;查看linux已安装字体 fc-list&#xff08;2&#xff09;查看linux已安装中文字体 fc-li…

(六)Dropout抑制过拟合与超参数的选择--九五小庞

过拟合 即模型在训练集上表现的很好&#xff0c;但是在测试集上效果却很差。也就是说&#xff0c;在已知的数据集合中非常好&#xff0c;再添加一些新数据进来效果就会差很多 欠拟合 即模型在训练集上表现的效果差&#xff0c;没有充分利用数据&#xff0c;预测准确率很低&a…

ctf_show笔记篇(web入门---文件包含)

目录 文件包含 78-79&#xff1a;最基础的文件包含&#xff0c;使用伪协议&#xff0c;大小写绕过或者通配符绕过&#xff0c;再或者使用其他方法 ​编辑80-81&#xff1a;可采用日志文件绕过或者大小写绕过&#xff08;81只能日志文件绕过&#xff09; ####80-86&#xff1…

Julia语言中的关系运算符和逻辑运算符,案例:学生成绩评价系统、猜拳游戏

逻辑运算符 在这里利用三门逻辑写一个猜拳游戏 function gaygay_play() # 定义游戏规则 function judge(player, computer) if player computer return "平局!" elseif (player "scissors" && computer "paper") || (player …

nginx------------缓存功能 ip透传 负载均衡 (六)

一、http 协议反向代理 &#xff08;一&#xff09;反向代理示例:缓存功能 缓存功能可以加速访问&#xff0c;如果没有缓存关闭后端服务器后&#xff0c;图片将无法访问&#xff0c;缓存功能默认关闭&#xff0c;需要开启。 ​ proxy_cache zone_name | off; 默认off #指明调…

SpringCloud-MQ消息队列

一、消息队列介绍 MQ (MessageQueue) &#xff0c;中文是消息队列&#xff0c;字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。消息队列是一种基于生产者-消费者模型的通信方式&#xff0c;通过在消息队列中存放和传递消息&#xff0c;实现了不同组件、服务或系统…

Ajax(黑马学习笔记)

Ajax介绍 Ajax概述 我们前端页面中的数据&#xff0c;如下图所示的表格中的学生信息&#xff0c;应该来自于后台&#xff0c;那么我们的后台和前端是互不影响的2个程序&#xff0c;那么我们前端应该如何从后台获取数据呢&#xff1f;因为是2个程序&#xff0c;所以必须涉及到…
最新文章