单目标优化:蜣螂优化算法(Dung beetle optimizer,DBO)

news2024/11/25 16:46:59

蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得。
在这里插入图片描述

一、蜣螂优化算法

1.1蜣螂滚球

(1)当蜣螂前行无障碍时,蜣螂在滚粪球过程中会利用太阳进行导航,下图中红色箭头表示滚动方向
在这里插入图片描述
本文假设光源的强度会影响蜣螂的位置,蜣螂在滚粪球过程中位置更新如下:

x i ( t + 1 ) = x i ( t ) + α × k × x i ( t − 1 ) + b × Δ x , Δ x = ∣ x i ( t ) − X w ∣ \begin{aligned} x_{i}(t+1) &=x_{i}(t)+\alpha \times k \times x_{i}(t-1)+b \times \Delta x, \\ \Delta x &=\left|x_{i}(t)-X^{w}\right| \end{aligned} xi(t+1)Δx=xi(t)+α×k×xi(t1)+b×Δx,=xi(t)Xw
其中, t t t表示当前迭代次数, x i ( t ) x_{i}(t) xi(t)表示第 i i i次蜣螂在第t次迭代中的位置信息, k ∈ ( 0 , 0.2 ] k∈(0,0.2] k(0,0.2]为扰动系数, b b b ( 0 , 1 ) (0,1) (0,1) 之间的随机数, α \alpha α取 -1 或 1 , X w X^{w} Xw表示全局最差位置, Δ x \Delta x Δx用于模拟光的强度变化。
其中, α \alpha α的取值采用算法1:
在这里插入图片描述

(2)当蜣螂遇到障碍物无法前进时,它需要通过跳舞来重新调整自己,以获得新的路线。本文使用切线函数来模仿跳舞行为,以此获得新的滚动方向,滚动方向仅考虑为 [ 0 , π ] [0,π] [0,π]之间。
在这里插入图片描述
蜣螂一旦成功确定新的方向,它应该继续向后滚动球。蜣螂的位置更新如下:
x i ( t + 1 ) = x i ( t ) + tan ⁡ ( θ ) ∣ x i ( t ) − x i ( t − 1 ) ∣ x_{i}(t+1)=x_{i}(t)+\tan (\theta)\left|x_{i}(t)-x_{i}(t-1)\right| xi(t+1)=xi(t)+tan(θ)xi(t)xi(t1)
其中, θ \theta θ为偏转角,其取值为 [ 0 , π ] [0,π] [0,π],采用算法2:
在这里插入图片描述

1.2蜣螂繁殖

在这里插入图片描述

在自然界中,雌性蜣螂将粪球被滚到适合产卵的安全地方并将其隐藏起来,以此为后代提供一个安全的环境。受此启发,因而提出了一种边界选择策略以此模拟雌性蜣螂产卵的区域:
L b ∗ = max ⁡ ( X ∗ × ( 1 − R ) , L b ) U b ∗ = min ⁡ ( X ∗ × ( 1 + R ) , U b ) \begin{array}{l} L b^{*}=\max \left(X^{*} \times(1-R), L b\right) \\ U b^{*}=\min \left(X^{*} \times(1+R), U b\right) \end{array} Lb=max(X×(1R),Lb)Ub=min(X×(1+R),Ub)
其中, X ∗ X^{*} X表示当前最优位置, L b ∗ L b^{*} Lb U b ∗ U b^{*} Ub分别表示产卵区的下限和上限, R = 1 − t / T m a x R=1−t/T_{max} R=1t/Tmax T m a x T_{max} Tmax表示最大迭代次数, L b Lb Lb U b Ub Ub分别表示优化问题的下限和上限。
雌性蜣螂一旦确定了产卵区,就会选择在该区域育雏球产卵。每只雌性蜣螂在每次迭代中只产生一个卵,可以看出,产卵区的边界范围是动态变化的,主要由R值决定。因此,育雏球的位置在迭代过程中也是动态的,其定义如下:
B i ( t + 1 ) = X ∗ + b 1 × ( B i ( t ) − L b ∗ ) + b 2 × ( B i ( t ) − U b ∗ ) B_{i}(t+1)=X^{*}+b_{1} \times\left(B_{i}(t)-L b^{*}\right)+b_{2} \times\left(B_{i}(t)-U b^{*}\right) Bi(t+1)=X+b1×(Bi(t)Lb)+b2×(Bi(t)Ub)
其中, B i ( t ) B_{i}(t) Bi(t)表示第t次迭代中第 i个育雏球的位置信息, b 1 b_{1} b1 b 2 b_{2} b2均为1×D的随机向量,D表示优化问题的维度。
产卵区的选择如算法3所示:
在这里插入图片描述

1.3蜣螂觅食

在这里插入图片描述
雌性蜣螂所产的卵会逐渐长大,一些已经成熟的小蜣螂会从地下出来寻找食物,小蜣螂的最佳觅食区建模如下:
L b b = max ⁡ ( X b × ( 1 − R ) , L b ) U b b = min ⁡ ( X b × ( 1 + R ) , U b ) \begin{array}{l} L b^{b}=\max \left(X^{b} \times(1-R), L b\right) \\ U b^{b}=\min \left(X^{b} \times(1+R), U b\right) \end{array} Lbb=max(Xb×(1R),Lb)Ubb=min(Xb×(1+R),Ub)
其中, X b X^{b} Xb表示全局最优位置, L b b L b^{b} Lbb U b b U b^{b} Ubb分别表示最佳觅食区的下限和上限。
在这里插入图片描述

小蜣螂的位置更新如下:
x i ( t + 1 ) = x i ( t ) + C 1 × ( x i ( t ) − L b b ) + C 2 × ( x i ( t ) − U b b ) x_{i}(t+1)=x_{i}(t)+C_{1} \times\left(x_{i}(t)-L b^{b}\right)+C_{2} \times\left(x_{i}(t)-U b^{b}\right) xi(t+1)=xi(t)+C1×(xi(t)Lbb)+C2×(xi(t)Ubb)
其中, x i ( t ) x_{i}(t) xi(t)表示第t次迭代中第i只小蜣螂在的位置, C 1 C_{1} C1是服从正态分布的随机数, C 2 C_{2} C2为(0,1)的随机向量。

1.4蜣螂偷窃

在这里插入图片描述

另一方面,一些蜣螂从其他蜣螂那里偷粪球,盗贼蜣螂的位置更新如下:

x i ( t + 1 ) = X b + S × g × ( ∣ x i ( t ) − X ∗ ∣ + ∣ x i ( t ) − X b ∣ ) x_{i}(t+1)=X^{b}+S \times g \times\left(\left|x_{i}(t)-X^{*}\right|+\left|x_{i}(t)-X^{b}\right|\right) xi(t+1)=Xb+S×g×(xi(t)X+xi(t)Xb)
其中, x i ( t ) x_{i}(t) xi(t)表示在第t次迭代中第i个盗贼蜣螂的位置,g为服从正态分布的1×D随机向量,S为常数。

二、蜣螂优化算法描述

滚球蜣螂、繁殖蜣螂、觅食蜣螂和偷窃蜣螂的比例分布如下:
在这里插入图片描述
DBO算法描述如下:
在这里插入图片描述
参考文献:Xue, J., Shen, B. Dung beetle optimizer: a new meta-heuristic algorithm for global optimization. J Supercomput (2022). https://doi.org/10.1007/s11227-022-04959-6

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

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

相关文章

redis基础3——配置文件核心参数实测+RDB持久化、AOF持久化核心参数详解

文章目录一、redis.conf配置文件详解1.1 查看配置文件位置1.2 启动需指定配置文件1.3 单位大小写不敏感1.4 引用其他配置文件(包含)1.4.1 测试参数存放前后位置1.4.1.1 反例1.4.1.2 正例1.4.2 测试引用参数有效性1.5 网络相关1.5.1 绑定IP1.5.2 保护模式…

全球领先飞瞳引擎™云服务全球两千+企业用户,集装箱识别集装箱箱况残损检测,正常箱号识别率99.98%以上,箱信息识别及铅封识别免费

全球领先飞瞳引擎™AI集装箱识别检测云服务全球两千企业用户,集装箱识别集装箱箱况残损检测,正常箱号识别率99.98%以上,箱信息识别及铅封识别免费。CIMCAI中集飞瞳是全球应用落地最广,规模最大,最先进的的港航人工智能…

链游新发展方向:告别高强度打金,回归游戏本质

2022 年伊始,加密领域最瞩目的项目要属区块链游戏了。随着 Axie Infinity、Genopets 和 Perion 等公司大获成功,区块链游戏生态系统逐渐进入主流圈。值得一提的是,游戏和 NFT 这两个备受关注的类别在 Web 3 世界中互相成就,创造出…

【简单总结】SLAM 算法的 Benchmark 及相关数据集的结果对比

前言与参考 主要是copy一下总结,方便自己后续找方案特定使用,所有的出处均在标题处和原链接跳转,此处仅做各个benchmark收集使用,如果有原作者觉得侵权,请联系我 将全力配合相关内容和链接删除 如果网友有其他更新的…

代码随想录刷题day51 309.最佳买卖股票时机含冷冻期;714.买卖股票的最佳时机含手续费

代码随想录刷题day51 309.最佳买卖股票时机含冷冻期;714.买卖股票的最佳时机含手续费 股票买卖,前两天的有点忘了正好也复习一下。 309.最佳买卖股票时机含冷冻期 309. 最佳买卖股票时机含冷冻期 - 力扣(Leetcode) 不是很好优…

Java---SpringBoot---SpringBoot

SpringBoot1,SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.1.1 创建新模块1.1.1.2 创建 Controller1.1.1.3 启动服务器1.1.1.4 进行测试1.1.2 对比1.1.3 官网构建工程1.1.3.1 进入SpringBoot官网1.1.3.2 选择依赖1.1.3.3 生成工程1.1.4 SpringBoot工程快…

尚医通-预约下单中rabbitmq的使用

需求描述 在挂号界面选择完需要挂号的医生和排版后,添加就诊人,确认挂号 附上业务流程图 技术分析 我们今天主要来看看这块 mq 的运用,也是一个思考,我还是挑着重要的来讲,这里讲讲我们这里怎么使用 mq 的 这里会用…

关于λ-optimal的初始化解算法在(元)启发式中的应用

关于λ-optimal算法在启发式中初始化解的应用TSP问题介绍λ-optimal定理与定义算法描述与伪代码算法的优化参考文献这里讨论组合优化中初始解的生成问题。组合优化问题,很多情况下,解的生成是随机的或者是采用某种直观上满足题意的初始化方法&#xff0c…

12月1日(第三天)

四舍五入 Math.round()整形 字符串输出字符串,加字符则输出整形if else if,是互斥关系,同时满足条件,只会被执行前面那个,if if,是并列的关系,条件满足都会执行ORACLE中的操作(来自…

使用SpringBoot将图片上传至阿里云OSS

一. 对象存储OSS 1. 什么是OSS? 官方的解释是这样的:阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。 官网…

我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下: void RemoveById(long id)…

【毕业设计】9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

毕业设计】基于STM32无刷直流电机控制器的设计仿真与实现(原理图源码仿真工程论文PPT参考英文文献) 文章目录毕业设计】基于STM32无刷直流电机控制器的设计仿真与实现(原理图源码仿真工程论文PPT参考英文文献)任务书设计说明书摘要…

能迪科技智能控制系统对中央空调进行精准、单独调控医院案例

案例背景​ 梅州市妇女儿童医院新院区(以下简称“新院区”)是省、市重点项目工程,建设地点位于江南新城客都大道北侧,一期项目总投资4.8亿元,占地面积50亩,总建筑面积87000平方米,按照三级妇幼保…

blender cycles引擎

文章目录简介属性一 Scene采样二 光程最多反弹次数钳制焦散快速GI近似三 体积步进速率四 曲线简介 1 cycles与EV的区别在于cy是传统渲染引擎,效果好,速度慢,ev是实时引擎,速度快,效果差 2 切换渲染引擎,属…

基于51单片机智能IC卡水表控制系统(仿真+源程序+全套资料)

资料编号:200 功能介绍: 采用51单片机作为主控CPU,使用按键进行模拟冲卡(模拟缴费冲卡),通过按键来控制当前是否使用自来水,并且LCD1602实时显示当前自来水可用量剩余多少,当自来水…

GhMYB7促进棉纤维中次生壁纤维素的积累

文章信息 题目:GhMYB7 promotes secondary wall cellulose deposition in cotton fibres by regulating GhCesA gene expression through three distinct cis-elements 刊名:New Phytologist 作者:Junfeng Huang,Wenliang Xu e…

图文详解Linux基础经典教程(10)——阿里云安装开发工具

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 概述 之前,我们已经介绍在本地CentOS上安装JDK、Tomcat、MySQL等开发工具。接下来,我们介绍在阿里云安装这些开发工具。 购买阿里云 请在阿里云 h…

自然语言处理NLP——ERNIE-M:基于回译机制的“预训练-微调”多语言模型

目录 系列文章目录 一、背景介绍 1.多语言任务 1.1 多语言任务定义 1.2 多语言任务难题 2.多语言模型 2.1 多语言模型定义与原理 2.2 多语言模型困难 3.论文简介 3.1 背景与开发动机 3.2 论文梗概 3.3 论文贡献与成就 二、相关工作 1.预训练方法 1.1 预训练方法…

Postman之Newman命令行运行脚本生成HTML报告

目录 一、Newman的下载安装 二、Newman生成Html报告 三、执行脚本准备 3.1.导出项目集脚本 3.2.导出环境变量 3.3.导出全局变量 3.4.data数据驱动文件 3.5.文件存储 四、Newman运行命令简介 4.1.运行命令:newman run 4.2.常用参数: 4.3.执行…

【SSM框架】依赖注入

🍓个人主页:个人主页 🍒系列专栏:SSM框架 目录 1.依赖注入之setter注入 2.依赖注入之构造器注入 3.特殊值处理 4.为类类型属性赋值 5.为数组类型属性赋值 1.依赖注入之setter注入 ①创建学生类Student package com.atguigu.s…