最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码

中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法由GUO Zhiqing 等人提出,该算法的灵感来自中华穿山甲独特的狩猎行为,包括引诱和捕食行为。
在这里插入图片描述

算法流程如下:

1. 开始
设置算法参数和最大迭代次数:初始化算法所需的参数和最大迭代次数。
计算适应度值并更新初始化:计算初始种群的适应度值,并更新穿山甲的位置 λM​ 和蚂蚁的位置 XA​。
更新当前种群位置和最优个体位置:更新当前种群的位置和最优个体的位置。
2. 迭代过程
2.1 判断是否达到最大迭代次数
如果当前迭代次数 t 小于最大迭代次数 tmax​,则继续迭代;否则,输出穿山甲的新位置 λMnew​​ 及其适应度值,并结束算法。
2.2 计算香气浓度 CM​
使用公式 (9) 到 (14) 计算香气浓度 CM​。
2.3 计算快速下降因子 C1​
使用公式 (28) 计算快速下降因子 C1​。
2.4 计算能量消耗因子 E
使用公式 (24) 计算能量消耗因子 E。
2.5 计算能量波动因子 A1​
使用公式 (23) 计算能量波动因子 A1​。
2.6 计算疲劳指数因子 Fatigue
使用公式 (25) 计算疲劳指数因子 Fatigue。
2.7 计算 Levy 飞行函数步长 Llevy​
使用公式 (29) 和 (30) 计算 Levy 飞行函数的步长 Llevy​。
2.8 计算香气轨迹因子 a
使用公式 (21) 和 (22) 计算香气轨迹因子 a。
2.9 根据香气浓度 CM​ 的不同范围进行不同的操作
2.9.1 如果 CM​≥0.2
计算位置 XA​:使用公式 (19) 和 (20) 计算蚂蚁的位置 XA​。
计算穿山甲的位置 λM​:使用公式 (26) 和 (27) 计算穿山甲的位置 λM​。
更新最优位置 X∗:使用公式 (31) 更新最优位置 X∗。
计算适应度值并检查边界:计算新的适应度值并检查是否超出边界。
判断是否是最优的穿山甲位置:如果是,则更新迭代次数 t=t+1,继续迭代;否则,直接更新迭代次数 t=t+1。
2.9.2 如果 0≤CM​<0.3
搜索和定位阶段:使用公式 (32) 和 (33) 计算穿山甲的位置 λM​。
更新最优位置 X∗:使用公式 (38) 更新最优位置 X∗。
计算适应度值并检查边界:计算新的适应度值并检查是否超出边界。
判断是否是最优的穿山甲位置:如果是,则更新迭代次数 t=t+1,继续迭代;否则,直接更新迭代次数 t=t+1。
2.9.3 如果 0.3≤CM​<0.6
快速接近阶段:使用公式 (34) 和 (35) 计算穿山甲的位置 λM​。
更新最优位置 X∗:使用公式 (38) 更新最优位置 X∗。
计算适应度值并检查边界:计算新的适应度值并检查是否超出边界。
判断是否是最优的穿山甲位置:如果是,则更新迭代次数 t=t+1,继续迭代;否则,直接更新迭代次数 t=t+1。
2.9.4 如果 CM​≥0.6
挖掘和进食阶段:使用公式 (36) 和 (37) 计算穿山甲的位置 λM​。
更新最优位置 X∗:使用公式 (38) 更新最优位置 X∗。
计算适应度值并检查边界:计算新的适应度值并检查是否超出边界。
判断是否是最优的穿山甲位置:如果是,则更新迭代次数 t=t+1,继续迭代;否则,直接更新迭代次数 t=t+1。
3. 结束
输出穿山甲的新位置 λMnew​​ 及其适应度值:当达到最大迭代次数时,输出最终的穿山甲位置及其适应度值,算法结束。

在这里插入图片描述

参考文献:
[1]Zhiqing GUO, Guangwei LIU, and Feng JIANG, Chinese Pangolin Optimizer: A novel bio-inspired metaheuristic for solving optimization problems

二、23个函数介绍

在这里插入图片描述
参考文献:

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

三、部分代码及结果

SearchAgents_no = 100;
Max_iter = 1000;
fn=12;
Function_name=strcat('F',num2str(fn));
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_score,Best_pos,PO_cg_curve]=(SearchAgents_no,Max_iter,lb,ub,dim,fobj);
semilogy(PO_cg_curve,'LineWidth',2)
title(Function_name)
xlabel('迭代次数');
ylabel('适应度值');

在这里插入图片描述

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

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

四、完整MATLAB代码见下方名片

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云安全】云原生- K8S etcd 未授权访问

什么是etcd&#xff1f; etcd 是一个开源的分布式键值存储系统&#xff0c;主要用于存储和管理配置信息、状态数据以及服务发现信息。它采用 Raft 共识算法&#xff0c;确保数据的一致性和高可用性&#xff0c;能够在多个节点上运行&#xff0c;保证在部分节点故障时仍能继续提…

解锁建造者模式:Java 编程中的对象构建秘籍

系列文章目录 后续补充~~~~ 文章目录 一、引言二、建造者模式原理剖析2.1 定义与概念2.2 模式结构与角色2.2.1 产品&#xff08;Product&#xff09;2.2.2 建造者&#xff08;Builder&#xff09;2.2.3 具体建造者&#xff08;ConcreteBuilder&#xff09;2.2.4 指挥者&#xf…

ChatGPT行业热门应用提示词案例-AI绘画类

AI 绘画指令是一段用于指导 AI 绘画工具&#xff08;如 DALLE、Midjourney 等&#xff09;生成特定图像的文本描述。它通常包含场景、主体、风格、色彩、氛围等关键信息&#xff0c;帮助 AI 理解创作者的意图&#xff0c;从而生成符合要求的绘画作品。 ChatGPT 拥有海量的知识…

JUC并发—4.wait和notify以及Atomic原理

大纲 1.wait()与notify()实现一个简易的内存队列 2.wait()与notify()的底层原理 3.分布式存储系统NameNode机制介绍 4.分布式存储系统的edits log机制介绍 5.分布式存储系统的NameNode实现 6.分布式存储系统的创建目录功能的实现 7.edits log的全局txid机制和双缓冲机制…

ubuntu20.04声音设置

step1&#xff1a;打开pavucontrol&#xff0c;设置Configuration和Output Devices&#xff0c; 注意需要有HDMI / DisplayPort (plugged in)这个图标。如果没有&#xff0c;就先选择Configuration -> Digital Stereo (HDMI 7) Output (unplugged) (unvailable)&#xff0c;…

【网络安全 | 漏洞挖掘】价值3133美元的Google IDOR

未经许可,不得转载。 文章目录 正文正文 目标URL:REDACTED.google.com。 为了深入了解其功能,我查阅了 developer.google.com 上的相关文档,并开始进行测试。 在测试过程中,我发现了一个 XSS 漏洞,但它触发的域名是经过正确沙盒化的 *.googleusercontent.com,这符合 …

企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析

解决方案链接&#xff1a;https://www.aliyun.com/solution/tech-solution/deepseek-r1-for-platforms?utm_contentg_1000401616 何为DeepSeek R1 DeepSeek R1模型有诸多技术优势。高效架构设计使其能更高效提取特征&#xff0c;减少冗余计算&#xff0c;提升数据处理速度、…

qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene

qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene code review! 文章目录 qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene1.`setScene` 方法2.通过 `scene` 获取它的视图 (`views()`)…

深度学习(1)-简单神经网络示例

我们来看一个神经网络的具体实例&#xff1a;使用Python的Keras库来学习手写数字分类。在这个例子中&#xff0c;我们要解决的问题是&#xff0c;将手写数字的灰度图像&#xff08;28像素28像素&#xff09;划分到10个类别中&#xff08;从0到9&#xff09;​。我们将使用MNIST…

【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南

【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南 一、前言 为了确保在 Docker 环境中顺利安装并高效运行 Ollama 以及 DeepSeek 离线模型&#xff0c;本文将详细介绍整个过程&#xff0c;涵盖从基础安装到优化配置等各个方面。通过对关键参数和配置的深入理解…

将OpenWrt部署在x86服务器上

正文共&#xff1a;1234 字 40 图&#xff0c;预估阅读时间&#xff1a;2 分钟 如果你问ChatGPT有哪些开源的SD-WAN方案&#xff0c;他会这样答复你&#xff1a; 我们看到&#xff0c;OpenWrt也属于比较知名的开源SD-WAN解决方案。当然&#xff0c;在很久之前&#xff0c;我就发…

【区块链】零知识证明基础概念详解

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 零知识证明基础概念详解引言1. 零知识证明的定义与特性1.1 基本定义1.2 三个核心…

Elasticsearch:将 Ollama 与推理 API 结合使用

作者&#xff1a;来自 Elastic Jeffrey Rengifo Ollama API 与 OpenAI API 兼容&#xff0c;因此将 Ollama 与 Elasticsearch 集成非常容易。 在本文中&#xff0c;我们将学习如何使用 Ollama 将本地模型连接到 Elasticsearch 推理模型&#xff0c;然后使用 Playground 向文档提…

基于Ubuntu+vLLM+NVIDIA T4高效部署DeepSeek大模型实战指南

一、 前言&#xff1a;拥抱vLLM与T4显卡的强强联合 在探索人工智能的道路上&#xff0c;如何高效地部署和运行大型语言模型&#xff08;LLMs&#xff09;一直是一个核心挑战。尤其是当我们面对资源有限的环境时&#xff0c;这个问题变得更加突出。原始的DeepSeek-R1-32B模型虽…

新数据结构(9)——Java异常体系

异常的种类 程序本身通常无法主动捕获并处理错误&#xff08;Error&#xff09;&#xff0c;因为这些错误通常表示系统级的严重问题&#xff0c;但程序可以捕获并处理异常&#xff08;Excrption&#xff09;&#xff0c;而Error则被视为一种程序无法或不应尝试恢复的异常类型。…

深度学习笔记——循环神经网络之LSTM

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络LSTM知识点。 文章目录 文本特征提取的方法1. 基础方法1.1 词袋模型&#xff08;Bag of Words, BOW&#xff09;工作…

传统混合专家模型MoE架构详解以及python示例(DeepSeek-V3之基础)

我们已经了解到DeepSeek-V3的框架结构基于三大核心技术构建:多头潜在注意力(MLA)、DeepSeekMoE架构和多token预测(MTP)。而DeepSeekMoE架构的底层模型采用了混合专家模型(Mixture of Experts,MoE)架构。所以我们先了解一下传统混合专家模型MoE架构。 一、传统混合专家模…

【深度学习】计算机视觉(CV)-目标检测-Faster R-CNN —— 高精度目标检测算法

1.什么是 Faster R-CNN&#xff1f; Faster R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09; 是 目标检测&#xff08;Object Detection&#xff09; 领域的一种 双阶段&#xff08;Two-Stage&#xff09; 深度学习方法&#xff0c;由 Ross Girshick…

实现pytorch注意力机制-one demo

主要组成部分&#xff1a; 1. 定义注意力层&#xff1a; 定义一个Attention_Layer类&#xff0c;接受两个参数&#xff1a;hidden_dim&#xff08;隐藏层维度&#xff09;和is_bi_rnn&#xff08;是否是双向RNN&#xff09;。 2. 定义前向传播&#xff1a; 定义了注意力层的…

SAP-ABAP:SAP的Screen Layout Designer屏幕布局设计器详解及示例

在SAP中&#xff0c;Screen Layout Designer&#xff08;屏幕布局设计器&#xff09;是用于设计和维护屏幕&#xff08;Dynpro&#xff09;布局的工具。通过Screen Layout Designer&#xff0c;您可以创建和修改屏幕元素&#xff08;如输入字段、按钮、文本、表格控件等&#x…