【智能算法】土拨鼠优化算法(PDO)原理及实现

news2024/12/26 23:25:29

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2022年,AE Ezugwu等人受到土拨鼠觅食行为与自然行为启发,提出了土拨鼠优化算法(Prairie Dog Optimization algorithm, PDO)。

2.算法原理

2.1算法思想

PDO算法通过模拟草原土拨鼠的觅食和挖洞活动进行全局探索和局部开发,同时利用对特定警报声音的反应来调整搜索策略,从而有效地在解空间中进行勘探和开发。

在这里插入图片描述

2.2算法过程

探索阶段

草原土拨鼠的觅食和挖洞活动被用来探索优化问题空间。它们在丰富的食物源周围建立洞穴,当食物源耗尽后,会寻找新的食物源并在其周围建立新的洞穴,位置更新:
P D i + 1 , j + 1 = G B e s t i , j − e C B e s t i , j × ρ − C P D i , j × L e v y ( n ) ∀ i t e r < M a x i t e r 4 (1) \begin{aligned}PD_{i+1,j+1}=GBest_{i,j}-eCBest_{i,j}\times\rho-CPD_{i,j}\times Levy(n) \forall iter<\frac{Max_{iter}}{4}\end{aligned}\tag{1} PDi+1,j+1=GBesti,jeCBesti,j×ρCPDi,j×Levy(n)iter<4Maxiter(1)
P D i + 1 , j + 1 = G B e s t i , j × r P D × D S × L e v y ( n ) ∀ M a x i t e r 4 ≤ i t e r < M a x i t e r 2 (2) \begin{aligned}PD_{i+1,j+1}=GBest_{i,j}\times rPD\times DS\times L\mathrm{e}vy(n) \forall \frac{Max_{iter}}{4}\leq iter<\frac{Max_{iter}}{2}\end{aligned}\tag{2} PDi+1,j+1=GBesti,j×rPD×DS×Levy(n)4Maxiteriter<2Maxiter(2)
其中,Gbest为全局最优个体,eCBest为当前最优解,DS为挖掘强度,取决于食物来源质量:
e C B e s t i , j = G B e s t i , j × Δ + P D i , j × m e a n ( P D n , m ) G B e s t i , j × ( U B j − L B j ) + Δ C P D i , j = G B e s t i , j − r P D i , j G B e s t i , j + Δ D S = 1.5 × r × ( 1 − i t e r M a x i t e r ) ( 2 i t a r M a x i t e r ) (3) \begin{aligned}&eCBest_{i,j}=GBest_{i,j}\times\Delta+\frac{PD_{i,j}\times mean\left(PD_{n,m}\right)}{GBest_{i,j}\times\left(UB_{j}-LB_{j}\right)+\Delta}\\&CPD_{i,j}=\frac{GBest_{i,j}-rPD_{i,j}}{GBest_{i,j}+\Delta}\\&DS=1.5\times r\times\left(1-\frac{iter}{Max_{iter}}\right)^{\left(2\frac{itar}{Max_{iter}}\right)}\end{aligned}\tag{3} eCBesti,j=GBesti,j×Δ+GBesti,j×(UBjLBj)+ΔPDi,j×mean(PDn,m)CPDi,j=GBesti,j+ΔGBesti,jrPDi,jDS=1.5×r×(1Maxiteriter)(2Maxiteritar)(3)
在这里插入图片描述
开发阶段

草原土拨鼠有不同的信号或声音,从捕食者的威胁到食物的供应。它们的沟通能力在满足草原土拨鼠的营养需求和反捕食能力方面起着重要作用:
P D i + 1 , j + 1 = G B e s t i , j − e C B e s t i , j × ε − C P D i , j × r a n d ∀ M a x i t e r 2 ≤ i t e r < 3 M a x i t e r 4 (4) \begin{aligned}PD_{i+1,j+1}=GBest_{i,j}-eCBest_{i,j}\times\varepsilon-CPD_{i,j}\times rand \forall \frac{Max_{iter}}{2}\leq iter<3\frac{Max_{iter}}{4}\end{aligned}\tag{4} PDi+1,j+1=GBesti,jeCBesti,j×εCPDi,j×rand2Maxiteriter<34Maxiter(4)
P D i + 1 , j + 1 = G B e s t i , j × P E × r a n d ∀ 3 M a x i t e r 4 ≤ i t e r < M a x i t e r (5) \begin{aligned}PD_{i+1,j+1}&=GBest_{i,j}\times PE\times rand \forall 3\frac{Max_{iter}}{4}\leq iter<Max_{iter}\end{aligned}\tag{5} PDi+1,j+1=GBesti,j×PE×rand∀34Maxiteriter<Maxiter(5)
其中,PE表示捕食者影响:
P E = 1.5 × ( 1 − i t e r M a x i t e r ) ( 2 i t e r M a x i t e r ) (6) PE=1.5\times\left(1-\frac{iter}{Max_{iter}}\right)^{\left(2\frac{iter}{Max_{iter}}\right)}\tag{6} PE=1.5×(1Maxiteriter)(2Maxiteriter)(6)

在这里插入图片描述

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试PDO性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2017-F14

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

4.参考文献

[1] Ezugwu A E, Agushaka J O, Abualigah L, et al. Prairie dog optimization algorithm[J]. Neural Computing and Applications, 2022, 34(22): 20017-20065.

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

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

相关文章

取地址及const取地址操作符重载

这两个默认成员函数一般不用重新定义 &#xff0c;编译器默认会生成。 class Date { public : //这两个运算符一般不需要重载&#xff0c;使用编译器生成的默认取地址的重载即可&#xff0c;只有特殊情况&#xff0c;才需 //要重载&#xff0c;比如想让别人获取到指定的内容…

第十五届蓝桥杯省赛第二场PythonB组A题【进制】题解(AC)

解题思路 按照题意进行模拟&#xff0c;计算 x x x 的 b b b 进制过程中&#xff0c;若出现余数大于 9 9 9&#xff0c;则说明 x x x 的 b b b 进制一定要用字母进行表示。 x 8100178706957568def check(x, b):while x:if x % b > 10:return Falsex // breturn True…

网络准入设备和软件有哪些 推荐八款网络准入设备

网络准入设备是确保网络安全的重要组成部分&#xff0c;它们负责控制和管理哪些设备能够接入网络以及如何接入。以下是一些常见的网络准入设备和软件。 1.认证服务器&#xff1a; 这是网络准入控制的核心组件&#xff0c;负责对用户或设备进行身份验证。常见的认证协议包括RAD…

【GitHub】主页简历优化

【github主页】优化简历 写在最前面一、新建秘密仓库二、插件卡片配置1、仓库状态统计2、Most used languages&#xff08;GitHub 常用语言统计&#xff09;使用细则 3、Visitor Badge&#xff08;GitHub 访客徽章&#xff09;4、社交统计5、打字特效6、省略展示小猫 &#x1f…

echarts实现水滴图

使用echarts实现水滴图 引入依赖&#xff0c;echarts-liquidfill3兼容echarts5; 安装依赖 "echarts": "^5.4.3","echarts-liquidfill": "^3.1.0",npm install echarts-liquidfill3.1.0 -S实现的效果图 构建一个水滴图的页面 <tem…

动态规划|714.买卖股票的最佳时机含手续费

力扣题目链接 class Solution { public:int maxProfit(vector<int>& prices, int fee) {int n prices.size();vector<vector<int>> dp(n, vector<int>(2, 0));dp[0][0] - prices[0]; // 持股票for (int i 1; i < n; i) {dp[i][0] max(dp[i …

交直流充电桩检测的基础知识

交直流充电桩检测是电动汽车充电设施的重要组成部分&#xff0c;其目的是确保充电桩的正常运行&#xff0c;保障电动汽车的安全充电。以下是关于交直流充电桩检测的一些基础知识。 我们需要了解什么是交直流充电桩&#xff0c;简单来说&#xff0c;交直流充电桩是一种为电动汽车…

本地部署 Meta Llama3-8b

Meta Llama 3(8B) Instruct model performance Meta Llama 3(8B) Pre-trained model performance 使用 Ollama 运行 Llama3 访问 Tags llama3&#xff0c;选择你想运行的模型&#xff0c;例如&#xff0c;8b-instruct-q8_0 拷贝并运行命令&#xff0c;ollama run llama3:8b-…

快速计算乘法法则

快速计算乘法法则 简便算法的原理算法的实现1.和为偶数2.和为奇数3.总结及注意事项 实战演练 简便算法的原理 我们发现乘法一共只有两种&#xff0c;分别是两因数和为奇数与和为偶数。和为奇数的两数之和总可以拆成两个相邻的数&#xff08;如 13 6 7 13 67 1367&#xff…

【论文阅读】ESRT-Transformer for Single Image Super-Resolution

ESRT-Transformer for Single Image Super-Resolution 论文地址摘要1. 引言2.相关工作2.1 基于 CNN 的 SISR 模型2.2 Vision Transformer Transformer 3. Efficient Super-Resolution Transformer3.1. Lightweight CNN Backbone (LCB)3.2. High-frequency Filtering Module (HF…

(十一)Servlet教程——Request请求转发

1.Web应用在处理客户端的请求的时候&#xff0c;一般的时候都需要多个资源协同处理&#xff0c;比如先经过一个Servlet的处理&#xff0c;然后再经过另外一个Servlet的处理。但是在一个Servlet中又不能直接调用另外一个Servlet的service方法&#xff0c;所以Servlet就提供了请求…

c++ primer plus(2)

前言 延续上一讲的内容&#xff0c;今天来写一写这本书的第三章&#xff1a;处理数据 好吧&#xff0c;本次博客仍然是总结重点内容 简单变量 在本书中变量有三个属性 1信息存储在什么地方 2要存储什么 3存储类型 比如 int braincount; braincount5; 这两行代码体现了…

找不到mfc140u.dll文件如何处理?这三种方法帮你快速修复mfc140u.dll

当你的电脑出现提示&#xff0c;显示找不到mfc140u.dll文件&#xff0c;从而无法继续执行代码&#xff0c;你需要知道如何应对这种情况。今天我们就来详细说明如何解决mfc140u.dll文件丢失的问题&#xff0c;并对该文件进行详细分析。这个文件是Microsoft Visual Studio的一个重…

Vue从入门到精通-01-Vue的介绍和vue-cli

MVVM模式 Model&#xff1a;负责数据存储 View&#xff1a;负责页面展示 View Model&#xff1a;负责业务逻辑处理&#xff08;比如Ajax请求等&#xff09;&#xff0c;对数据进行加工后交给视图展示 关于框架 为什么要学习流行框架 1、企业为了提高开发效率&#xff1a;…

idea的插件,反编译整个jar包

idea的插件&#xff0c;反编译整个jar包 1.安装插件1.1找到插件1.2 搜索插件 2.反编译整个jar包2.1 复制jar包到工件目录下&#xff1a;2.2 选中jar包&#xff0c;点出右键 3.不用插件&#xff0c;手动查看某一个java类3.1 选中jar包&#xff0c;点出右键 1.安装插件 1.1找到插…

VPN的基本概念

随着互联网的普及和应用的广泛&#xff0c;网络安全和隐私保护越来越受到人们的关注。在这个信息爆炸的时代&#xff0c;我们的个人信息、数据通信可能会受到各种威胁&#xff0c;如何保护自己的隐私和数据安全成为了一个迫切的问题。而VPN&#xff08;Virtual Private Network…

用Jenkins Gerrit-Trigger插件实现提交gerrit后自动启动编译验证

说明&#xff1a;如果没有gerrit-trigger&#xff0c;说明缺少插件&#xff0c;先安装插件即可。 步骤 1.在Jenkins首页点击Manage Jenkins 2.点击Gerrit Trigger 3.配置gerrit服务器 下图是已配置好的gerrit服务器&#xff0c;配置完毕记得点击status下面的按钮进行测试服务…

Linux学习之路 -- 进程篇 -- 自定义shell的编写

前面介绍了进程程序替换的相关知识&#xff0c;接下来&#xff0c;我将介绍如何基于前面的知识&#xff0c;编写一个简单的shell&#xff0c;另外本文的所展示的shell可能仅供参考。 目录 <1>获取用户的输入和打印命令行提示符 <2>切割字符串 <3>执行这个…

网络安全的防护措施有哪些?

1. 安全策略和合规性 2. 物理和网络安全 3. 数据加密 4. 软件和系统更新 5. 访问控制 6. 威胁监测和响应 7. 员工培训和安全意识 8. 备份和灾难恢复 零基础入门学习路线 视频配套资料&国内外网安书籍、文档 网络安全面试题 网络安全的防护措施多种多样&#xff0c…

openssl3.2 - exp - 使用默认的函数宏,在release版中也会引入__FILE__

文章目录 openssl3.2 - exp - 使用默认的函数宏&#xff0c;在release版中也会引入__FILE__概述笔记验证是否__FILE__在release版下也能用&#xff1f;将openssl编译成release版的&#xff0c;看看CRYPTO_free()是否只需要一个参数就行&#xff1f;将工程中的openssl相关的库换…