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

在这里插入图片描述

目录

    • 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.mzph.cn/pingmian/4620.shtml

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

相关文章

云服务器搭建XSS-platform、DVWA靶机和Permeate论坛

目录 前言准备环境安装步骤一、 部署MySQL二、 系统部署三、系统安装主页介绍 前言 我发现目前网上的xss-platform的搭建教程都是基于本地搭建的&#xff0c;这样搭建好的xss平台只能在本地使用&#xff0c;无法测试别的网站。而网络上的大部分xss平台又几乎都是收费的&#x…

vue3学习笔记-快速上手

创建第一个vue3的应用 之前看书学习vue,书籍对应的版本是vue2,今天群里看小伙伴聊天&#xff0c;觉得他们说得对 &#xff0c;反正是从零开始学&#xff0c;而且vue2都不维护了&#xff0c;那为什么不直接学习vue3呢&#xff0c;于是乎&#xff0c;又开启了从0学vue3之路。 参考…

2024Xtu程设第一次练习题解

程设练习题谢大会专门查重 1.1531奇怪的数字 题目让我们从小到大输出1e6以内所有的答案&#xff0c;其实也没什么好的思路 就是将一个数n的所有位都拆出来&#xff0c;遍历这些位&#xff08;每次取一个x&#xff09;&#xff0c;然后通过作除法&#xff08;y n / x&#xf…

java多态知识

目录 一、定义 二、注意事项 三、多态的好处 四、多态的弊端以及解决办法 一、定义 多态定义:多态是在继承/实现情况下的一种现象&#xff0c;表现为:对象多态、行为多态。 对象多态&#xff1a;都是同一对象&#xff0c;表现出不同角色&#xff0c;比如小明&#xff0c;…

java:SpringBoot入门

Spring 提供若干子项目,每个项目用于完成特定功能 Spring Boot 可以简化配置并且快速开发 SpringBootWeb快速入门 创建Springboot模块并使用Springweb依赖 在类上添加注解 RestController可以将字符串自动转成json返回数据给页面 再在方法上添加注解 RequestMapping(&…

python应用-socket网络编程(2)

socket 是 Python 标准库中的一个模块&#xff0c;它提供了低级别的网络通信接口。使用 socket 模块&#xff0c;你可以创建客户端和服务器应用程序&#xff0c;以便在网络上进行数据交换。 接着上文我们介绍下socket模块其他的一些函数。 目录 gettimeout() 和settimeout()…

0422empAJAX项目

数据库字段&#xff1a; 多条件查询&#xff1b; 分页查询&#xff1b; 添加图片&#xff1b; ajax离职操作&#xff1b; 删除选项&#xff0c;点击离职操作后仍然可实现删除选项

项目部署总结

1、安装jdk 第一步&#xff1a;上传jdk压缩安装包到服务器 第二步&#xff1a;将压缩安装包解压 tar -xvf jdk-8uXXX-linux-x64.tar.gz 第三步&#xff1a;配置环境变量 编辑/etc/profile文件&#xff0c;在文件末尾添加以下内容&#xff1a; export JAVA_HOME/path/to/j…

鉴权到底做什么

两种方案&#xff1a; 将 token 放在 cookie 里&#xff1b;将 token 放在请求头里&#xff0c;用 Authorization 字段。 无论对于前端还是后端而言&#xff0c;这两种方案都是各有利弊的&#xff0c;下面稍微讲几点&#xff0c;实际开发中根据需求来选用即可。 将 token 放在…

进程控制5 - exit()退出+子进程被收养+僵死进程

我们应当知道的是&#xff0c;在用fork创建子进程后&#xff0c;父子进程的执行的先后顺序是不定的&#xff0c;这时&#xff0c;我们可以用wait函数&#xff0c;wait()会暂停当前进程的执行&#xff0c;直到有信号到来或者子进程结束。总的来说&#xff0c;wait()的作用就是阻…

C语言编译的优化等级应该选哪个?O0、O1、O2还是O3

在使用IDE开发STM32程序时&#xff0c;IDE一般都会提供优化等级设置的选项&#xff0c;例如下图中KEIL软件优化等级的设置。 从上图中也可以看出&#xff0c;设置不同的优化等级&#xff0c;实际上是修改了编译器的编译参数。这个编译器是由ARM公司提供的C/C编译器armclang或者…

微信小程序Vue+nodejs+uniapp课堂教学辅助在线学习系统

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 后台主要实现功能&#xff1a;一、用户的管理(用户的信息管理) 二、 课程的管理&#xff08;课程发布&#xff0c;课后成绩的查看&#xff0c…

DAY 5

1. 2. #include <iostream>using namespace std; class Person {string name;int *age;public:Person():name("zhangsan"),age(new int (18)){cout << "Person的无参函数" << endl;}Person(string name,int *age):name("zhangsan&q…

水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)

是自己利用LabelImg工具进行手工标注&#xff0c;数据集制作不易&#xff0c;请尊重版权&#xff08;稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫&#xff09; 如果需要yolv8检测模型和数据集放在一起的压缩包&#xff0c;可以关注&#xff1a;最新最…

聊聊Flink:Docker搭建Flink

一、准备工作 查看下Docker和Docker Compose版本&#xff0c;确保你安装了这些软件。 在 Flink 官网上下载 Flink 的 Docker 镜像。您可以使用以下命令从 Docker Hub 中下载&#xff1a; docker pull flink:1.18.0-scala_2.12 此命令将下载 Flink 1.18.0 版本的 Docker 镜像…

电商架构:系统设计+表设计

如有不对&#xff0c;请指正 欢迎评论区交流 需要哪些系统 商品系统、订单系统、权限系统、审核系统等。 商品系统 订单系统 审核系统 权限系统 参考 基于电商中台架构-商品系统设计(一) 附件

2024年【流动式起重机司机】报名考试及流动式起重机司机复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【流动式起重机司机】报名考试及流动式起重机司机复审模拟考试&#xff0c;包含流动式起重机司机报名考试答案和解析及流动式起重机司机复审模拟考试练习。安全生产模拟考试一点通结合国家流动式起重机司机考试…

电脑已经有了一个Windows10,再多装一个Windows10组成双系统

前言 前段时间已经讲过一次双Windows系统的安装教程&#xff0c;但是小白重新去看了一下&#xff0c;发现写的内容太多&#xff0c;怕小伙伴看了之后一脸萌。 所以今天咱们就重新再来讲讲&#xff1a;在同一台机器上安装Windows10双系统的教程。 注意哦&#xff01;这里的Wi…

Android优化RecyclerView图片展示:Glide成堆加载批量Bitmap在RecyclerView成片绘制Canvas,Kotlin(b)

Android优化RecyclerView图片展示&#xff1a;Glide成堆加载批量Bitmap在RecyclerView成片绘制Canvas&#xff0c;Kotlin&#xff08;b&#xff09; 对 Android GridLayoutManager Glide批量加载Bitmap绘制Canvas画在RecyclerView&#xff0c;Kotlin&#xff08;a&#xff09;-…

【GitHub】主页简历优化

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