【智能算法改进】多策略改进的蜣螂优化算法

目录

    • 1.算法原理
    • 2.改进点
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.算法原理

【智能算法】蜣螂优化算法(DBO)原理及实现

2.改进点

混沌反向学习初始化

采用 Pwlcm 分段混沌映射,由于 Pwlcm 在其定义区间上具有均匀的密度函数,在特定的 p 值下 x 的分布几乎是平坦的,混沌序列的这种遍历性、随机性的特性有利于蜣螂个体分布于整个解空间,增强种群多样性:
x ( t + 1 ) = { x ( t ) p , 0 ≤ x ( t ) < p x ( t ) − p 0.5 − p , p ≤ x ( t ) < 0.5 1 − p − x ( t ) 0.5 − p , 0.5 ≤ x ( t ) < 1 − p 1 − x ( t ) p , 1 − p ≤ x ( t ) < 1 (1) x\big(t+1\big)=\begin{cases}\frac{x\big(t\big)}{p},0\leq x\big(t\big)<p\\\frac{x\big(t\big)-p}{0.5-p},p\leq x\big(t\big)<0.5\\\frac{1-p-x\big(t\big)}{0.5-p},0.5\leq x\big(t\big)<1-p\\\frac{1-x\big(t\big)}{p},1-p\leq x\big(t\big)<1\end{cases}\tag{1} x(t+1)= px(t),0x(t)<p0.5px(t)p,px(t)<0.50.5p1px(t),0.5x(t)<1pp1x(t),1px(t)<1(1)
将混沌序列映射到解空间得到混沌初始化种群,对其进行反向学习:
X o B L = k × ( U b + L b ) − X (2) X_{\mathrm{oBL}}=k\times\bigl(Ub+Lb\bigr)-X\tag{2} XoBL=k×(Ub+Lb)X(2)

非线性权重的黄金正弦策略

蜣螂的滚球行为影响着算法的全局搜索能力与收敛速度,对种群有着引领作用,原始 DBO 算法以直线形式的滚球行为限制了滚球蜣螂在局部的搜索能力,容易错失寻得最优解的机会。加入自适应权重后滚球蜣螂的位置更新:
x i ( t + 1 ) = ( 1 − w ) × x i ( t ) × ∣ sin ⁡ ( r 1 ) ∣ − w × r 2 × sin ⁡ ( r 1 ) × ∣ c 1 × X b − c 2 × x i ( t ) ∣ (2) x_{i}\left(t+1\right)=\left(1-w\right)\times x_{i}\left(t\right)\times\left|\sin\left(r_{1}\right)\right|-w\times r_{2}\times\\\sin\left(\mathrm{r}_1\right)\times\left|\mathrm{c}_1\times\mathrm{X}^\mathrm{b}-\mathrm{c}_2\times x_i\left(t\right)\right|\tag{2} xi(t+1)=(1w)×xi(t)×sin(r1)w×r2×sin(r1)× c1×Xbc2×xi(t) (2)
其中,权重参数为:
w = ( w max ⁡ − w min ⁡ ) × [ 1 − sin ⁡ ( π 2 × t T max ⁡ ) ] + w min ⁡ (3) w=\begin{pmatrix}w_{\max}-w_{\min}\end{pmatrix}\times\begin{bmatrix}1-\sin\biggl(\frac{\pi}{2}\times\frac{t}{T_{\max}}\biggr)\end{bmatrix}+w_{\min}\tag{3} w=(wmaxwmin)×[1sin(2π×Tmaxt)]+wmin(3)

融合 SSA 改进的觅食行为

改进后的蜣螂觅食行为位置更新:
x i ( t + 1 ) = { Q × e x p ( X b − x i ( t ) i 2 ) , f ( x i ) > f M d X b + ∣ x i ( t ) − X b ∣ × A + × L , f ( x i ) ≤ f M d (4) x_i\left(t+1\right)=\begin{cases}\quad Q\times exp\biggl(\frac{X^\mathrm{b}-x_i\left(t\right)}{i^2}\biggr),f(x_i)>f_\mathrm{Md}\\\\X^\mathrm{b}+\biggl|x_i\left(t\right)-X^\mathrm{b}\biggr|\times A^+\times L,f(x_i)\leq f_\mathrm{Md}\end{cases}\tag{4} xi(t+1)= Q×exp(i2Xbxi(t)),f(xi)>fMdXb+ xi(t)Xb ×A+×L,f(xi)fMd(4)

基于分段函数改进偷窃行为

偷窃蜣螂占据种群的 40%,实现对种群的快速收敛,但原算法偏重在全局最优位置附近扰动,无法充分利用当前位置信息,使得种群对全局探索能力欠佳,在复杂问题上容易过早收敛。故基于分段函数形式改进偷窃行为,并以 sin 函数对扰动幅度进行约束:
x i ( t + 1 ) = { x i ( t ) + sin ⁡ z × S × g × { ∣ x i ( t ) − X ∗ ∣ + ∣ x i ( t ) − X b ∣ } , t ≤ T m a x 2 X b + sin ⁡ z × S × g × { ∣ x i ( t ) − X ∗ ∣ + ∣ x i ( t ) − X b ∣ } , t > T m a x 2 (5) x_i\left(t+1\right)=\begin{cases}x_i\left(t\right)+\sin z\times S\times g\times\left\{\left|x_i\left(t\right)-X^*\right|+\left|x_i\left(t\right)-X^\mathrm{b}\right|\right\},t\leq\frac{T_\mathrm{max}}2\\\\X^\mathrm{b}+\sin z\times S\times g\times\left\{\left|x_i\left(t\right)-X^*\right|+\left|x_i\left(t\right)-X^\mathrm{b}\right|\right\},t>\frac{T_\mathrm{max}}2&\end{cases}\tag{5} xi(t+1)= xi(t)+sinz×S×g×{xi(t)X+ xi(t)Xb },t2TmaxXb+sinz×S×g×{xi(t)X+ xi(t)Xb },t>2Tmax(5)

非线性权重的柯西-高斯变异

全局最优位置对蜣螂种群的滚球、觅食、偷窃行为都有指引作用。用柯西-高斯变异策略可以对全局最优个体进行随机扰动:
X n e w = X b × [ w 1 × C a u c h y + ( 1 − w 1 ) × G a u s s i a n ] (6) X_{\mathrm{new}}=X^{\mathrm{b}}\times\left[w_{1}\times Cauchy+\left(1-w_{1}\right)\times Gaussian\right]\tag{6} Xnew=Xb×[w1×Cauchy+(1w1)×Gaussian](6)

3.结果展示

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

比较难的F7,F8

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

4.参考文献

[1] 匡鑫,阳波,马华,等.多策略改进的蜣螂优化算法[J/OL].计算机工程,1-20[2024-07-08].

5.代码获取

【资源清单】代码资源清单导航~

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

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

相关文章

1.从入门到环境搭建及程序基础

目录 1.1 C督学营开营 1 老师介绍 2 学习常见问题 3 如何学习课程 1.2 程序员职业发展方向 1 前端 2 后端 3 网络安全 1.3 Windows 的 CLion 开发环境安装 1 C 语言的由来 2 安装 MinGW 编译器 3 安装 CLion 开发环境 4 运行&试用 CLion 5 新建项目​ ​6 激…

基于LangChain的RAG开发教程(二)

v1.0官方文档&#xff1a;https://python.langchain.com/v0.1/docs/get_started/introduction/ 最新文档&#xff1a;https://python.langchain.com/v0.2/docs/introduction/ LangChain是一个能够利用大语言模型&#xff08;LLM&#xff0c;Large Language Model&#xff09;能…

家里猫咪浮毛太多怎么办?值得买的猫毛空气净化器推荐

作为一位拥有5年铲屎经验的铲屎官&#xff0c;我知道许多新手铲屎官可能听说过宠物空气净化器&#xff0c;但了解得不多。事实上&#xff0c;宠物空气净化器确实是养猫家庭必备的小家电之一。它的大面积进风口可以有效吸附空气中的微小浮毛和皮屑&#xff0c;专门的除臭技术能有…

15个最佳WooCommerce商城网站及其主要功能

正在寻找的WooCommerce商城网站来激发灵感&#xff1f; 在动态的在线购物世界中&#xff0c;WooCommerce 就像企业的超级英雄。它帮助他们轻松创建强大而可靠的在线商店&#xff0c;并与WordPress顺畅协作。 从创新的产品展示到简化的结账流程&#xff0c;每个特色网站都拥有…

Linux--线程(概念篇)

目录 1.背景知识 再谈地址空间&#xff1a; 关于页表&#xff08;32bit机器上&#xff09; 2.线程的概念和Linux中线程的实现 概念部分&#xff1a; 代码部分&#xff1a; 问题&#xff1a; 3.关于线程的有点与缺点 4.进程VS线程 1.背景知识 再谈地址空间&#xff1a…

【TB作品】51单片机 Proteus仿真00016 乒乓球游戏机

课题任务 本课题任务 (联机乒乓球游戏)如下图所示: 同步显示 oo 8个LED ooooo oo ooooo 8个LED 单片机 单片机 按键 主机 从机 按键 设计题目:两机联机乒乓球游戏 图1课题任务示意图 具体说明: 共有两个单片机,每个单片机接8个LED和1 个按键,两个单片机使用串口连接。 (2)单片机…

视频号矩阵管理系统:短视频内容营销的智能助手

随着短视频行业的蓬勃发展&#xff0c;视频号矩阵管理系统应运而生&#xff0c;为内容创作者和品牌提供了一站式的短视频管理和营销解决方案。本文将深入探讨视频号矩阵管理系统的核心功能&#xff0c;以及它如何助力用户在短视频营销领域取得成功。 视频号矩阵管理系统概述 …

C++语言相关的常见面试题目(一)

1. const关键字的作用 答&#xff1a; 省流&#xff1a;&#xff08;1&#xff09;定义变量&#xff0c;主要为了防止修改 (2) 修饰函数参数&#xff1a;防止在函数内被改变 &#xff08;3&#xff09;修饰函数的返回值 &#xff08;4&#xff09;修饰类中的成员函数 2. Sta…

怎样卸载电脑上自带的游戏?

卸载电脑上自带的游戏通常是一个简单的过程&#xff0c;以下是几种常见的方法&#xff0c;您可以根据自己的操作系统版本选择相应的步骤进行操作&#xff1a; 方法一&#xff1a;通过“设置”应用卸载&#xff08;适用于Windows 10和Windows 11&#xff09; 1. 点击开始菜单&…

fastjson-1.2.24漏洞复现

文章目录 0x01 前言0x02 环境0x03漏洞复现环境准备 0x04 漏洞分析利用链源码分析 0x05 总结0x06 可能遇到的坑 0x01 前言 影响版本 fastjson < 1.2.24 本文出于学习fastjson漏洞的目的&#xff0c;为了能更好的复现漏洞&#xff0c;需要有以下前置知识。 springbootfastj…

nginx配置反向代理-CSDN

客户需求 1、实现通过域名访问税金的发票服务&#xff08;路径格式要求&#xff1a;https://www.xxx.com&#xff09; nginx的部署 前提 1、客户在局域网内已实现通过https://ip:port/stms访问税金平台 2、客户已获取https的SSL证书 3、客户申请的外网ip和域名已绑定 部署…

LeetCode——第 405 场周赛

题目 找出加密后的字符串 给你一个字符串 s 和一个整数 k。请你使用以下算法加密字符串&#xff1a; 对于字符串 s 中的每个字符 c&#xff0c;用字符串中 c 后面的第 k 个字符替换 c&#xff08;以循环方式&#xff09;。 返回加密后的字符串。 示例 1&#xff1a; 输入&…

Visual Studio Code 教程 VsCode安装Live Server以服务形式打开html

搜索Live Server 插件,然后安装 选一个html文件&#xff0c;右键点击 Open with live server,然后就自动弹出来了

最优化方法 运筹学【】

1.无约束 常用公式 线搜索准则&#xff1a;求步长 精确线搜索&#xff08;argmin&#xff09; 最速下降&#xff1a;sd&#xff1a;线性收敛 2.算法 SD dk&#xff1a;付梯度-g newton dk&#xff1a;Gkd-g 二阶收敛&#xff0c;步长为1 阻尼牛顿&#xff1a;步长用先搜…

数据分析与挖掘实战案例-电商产品评论数据情感分析

数据分析与挖掘实战案例-电商产品评论数据情感分析 文章目录 数据分析与挖掘实战案例-电商产品评论数据情感分析1. 背景与挖掘目标2. 分析方法与过程2.1 评论预处理1. 评论去重2. 数据清洗 2.2 评论分词1. 分词、词性标注、去除停用词2. 提取含名词的评论3. 绘制词云查看分词效…

Linux dig命令常见用法

Linux dig命令常见用法 一、dig安装二、dig用法 DIG命令(Domain Information Groper命令)是常用的域名查询工具&#xff0c;通过此命令&#xff0c;你可以实现域名查询和域名问题的定位&#xff0c;对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说&#xff0c;它是一个非…

Linux中的粘滞位及mysql日期函数

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限. 为了解决这个不科学的问题, Linux引入了粘滞位的概念. 粘滞位 当一个目录被设置为"粘滞位"(用chmod t),则该目录下的文件只能由 一、超级管理员删除 二、该目录…

汇川CodeSysPLC教程 Modbus变量编址

线圈&#xff1a;位变量&#xff0c;只有两种状态0和1。汇川PLC中包含Q区及SM区等变量。 寄存器&#xff1a;16位&#xff08;字&#xff09;变量&#xff0c;本PLC中包含M区及SD区等变量 说明&#xff1a; 汇川HMI的专用协议使用不同功能码&#xff1a;在访问SM时&#xff0c…

基于Java+SpringMvc+Vue技术的实验室管理系统设计与实现(6000字以上论文参考)

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

使用AI学习英语

使用AI学英语可以通过与智能AI对话、模拟对话场景、提供即时反馈和个性化学习计划等方式提高学习效率和效果。然而&#xff0c;AI技术也存在局限性&#xff0c;如缺乏情感交流和真实语境&#xff0c;需要与真人教师结合使用。 AI学英语的基本原理和应用 AI的基本原理 AI&…