【智能算法】黑寡妇优化算法(BWO)原理及实现
目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2020年,V Hayyolalam等人受到自然界黑寡妇交配行为启发,提出了黑寡妇优化算法(Black Widow Optimization Agorithm, BWO)。
2.算法原理
2.1算法思想
BWO以黑寡妇蜘蛛的整个生命周期为基础,主要阶段包括生殖、同类相食、突变、更新种群。
2.2算法过程
种群繁殖
生殖率(procreaterate,PR)决定了参与繁殖的种群数量,在该种群中随机选择两只黑寡妇蜘蛛,适应度高的选作雌性,另一只选作雄性:
{ y i = a x _ mother + ( 1 − α ) x _ father y j = a x _ father + ( 1 − α ) x _ mother (1) \begin{cases}y_i=ax\_\text{mother}+(1-\alpha)x\_\text{father}\\y_j=ax\_\text{father}+(1-\alpha)x\_\text{mother}\end{cases}\tag{1} {yi=ax_mother+(1−α)x_fatheryj=ax_father+(1−α)x_mother(1)
其中,yi、yj 为交配后产生的子代蜘蛛;x_mother为雌性黑寡妇;x_father雄性黑寡妇。
同类相食
淘汰适应度差的黑寡妇蜘蛛,存活的蜘蛛数量由同类相食率(cannibalismrate,CR)决定.同类相食有三种类型:雌性黑寡妇蜘蛛在交配时或交配后吃掉配偶,自己被保留进入下一代,这一类被称作性同类相食;适应度好的个体吃掉适应度差的个体称为手足同类相食;子代黑寡妇适应度比母亲好,子代便会吃掉母亲,这种情况属于子食母同类相食。
突变
突变种群数量由突变率(mutationrate,MR)决定,被选中的种群随机选取两只黑寡妇蜘蛛进行位置交换。
伪代码
3.结果展示
4.参考文献
[1] Hayyolalam V, Kazem A A P. Black widow optimization algorithm: a novel meta-heuristic approach for solving engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2020, 87: 103249.
相关文章:

【智能算法】黑寡妇优化算法(BWO)原理及实现
目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,V Hayyolalam等人受到自然界黑寡妇交配行为启发,提出了黑寡妇优化算法(Black Widow Optimization Agorithm, BWO)。 2.算法原理 2.1算法思想…...
C#-非托管代码
非托管代码是指不受.NET运行时(CLR)的管理和控制,而是直接由操作系统或其他本机执行环境(如C/C编译的代码)所执行的代码。以下是一些常见的非托管代码的例子: C/C代码:通过使用C或C等编程语言编…...

计算机视觉之三维重建(7)---多视图几何(下)
文章目录 一、透视结构恢复问题1.1 概述1.2 透视结构恢复歧义1.3 代数方法1.4 捆绑调整 二、P3P问题三、随机采样一致性 一、透视结构恢复问题 1.1 概述 1. 透视结构恢复问题:摄像机为透视相机,内外参数均未知。 2. 问题:已知 n n n 个三维…...

AUTOSAR配置工具开发教程 - 开篇
简介 本系列的教程,主要讲述如何自己开发一套简单的AUTOSAR ECU配置工具。适用于有C# WPF基础的人员。 简易介绍见:如何打造AUTOSAR工具_autosar_mod_ecuconfigurationparameters-CSDN博客 实现版本 AUTOSAR 4.0.3AUTOSAR 4.2.2AUTOSAR 4.4.0 效果 …...

配置VM开机自启动
1. 在此电脑-右键选择“管理”-服务和应用程序-服务中找到VMware Workstation Server服务(新版名称也可能是VMware自启动服务,自己找一下,服务属性里有描述信息的),将其启用并选择开机自动启动 新版参考官方文档&…...

工作的第四天
推荐一个软件分配软件 我们看一下如何使用 连接信息 AOC中国官方网站 发现打开 还是这个页面信息,发现最后出现了页面重新定向的问题 我服了 我的码 怎么解决 我想用这个软件 来看看这个软件下载就可以使用 一听到钱我使用的情绪不是很高了 算了不使用 使用…...
前端开发语言概览:从HTML、CSS到JavaScript
随着互联网的发展,前端开发领域涌现出了许多不同的编程语言和技术,用于构建各种类型的网页和应用程序。本文将介绍几种主流的前端开发语言,包括 HTML、CSS 和 JavaScript,并简要讨论它们在前端开发中的作用和特点。 1. HTML&…...

《Java面试自救指南》(专题二)计算机网络
文章目录 力推的计网神课get请求和post请求的区别在浏览器网址输入一个url后直到浏览器显示页面的过程常用状态码session 和 cookie的区别TCP的三次握手和四次挥手七层OSI模型(TCP/IP协议模型)各种io模型的知识http协议和tcp协议的区别https和http的区别…...
Android14音频进阶之<进阶调试>:Perfetto定位系统音频问题(六十六)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…...

使用 Clickhouse 集成的表引擎同步数据方式详解
Clickhouse作为一个列式存储分析型数据库,提供了很多集成其他组件的表引擎数据同步方案。 官网介绍 一 Kafka 表引擎 使用Clickhouse集成的Kafka表引擎消费Kafka写入Clickhouse表中。 1.1 流程图 1.2 建表 根据上面的流程图需要建立三张表,分别Click…...

Linux 性能分析工具大全
vmstat--虚拟内存统计 vmstat(VirtualMeomoryStatistics,虚拟内存统计)是 Linux 中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU 等的整体情况进行监视。vmstat 的常规用法:vmstat interval times 即每隔 interval 秒采…...

FME学习之旅---day21
我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:AutoCAD 变换 相关的文章 为您的 DWG 赋予一些样式:使用 DWGStyler、模板文件、块等 FME数据检查器在显示行的方式上受到限制。它只能显示线条颜色,而…...

volta(轻松切换管理Node.js版本)
Node.js版本管理 Volta提供了一个简单直观的命令行界面,可以轻松地安装、卸载、更新和切换Node.js版本。 Volta 既可以全局使用,也可以在项目级别使用,可以为每个项目单独设置node版本,nvm不行。 下载安装Volta 参考: …...

机器学习知识点
1鸢尾花分类 鸢尾花分类问题是一个经典的机器学习问题,旨在根据鸢尾花的花萼长度、花萼宽度、花瓣长度和花瓣宽度等特征,将鸢尾花分成三个品种:山鸢尾(setosa)、变色鸢尾(versicolor)和维吉尼亚…...

SQL注入利用学习-Union联合注入
联合注入的原理 在SQL语句中查询数据时,使用select 相关语句与where 条件子句筛选符合条件的记录。 select * from person where id 1; #在person表中,筛选出id1的记录如果该id1 中的1 是用户可以控制输入的部分时,就有可能存在SQL注入漏洞…...

zookeeper源码(12)命令行客户端
zkCli.sh脚本 这个命令行脚本在bin目录下: ZOOBIN"${BASH_SOURCE-$0}" ZOOBIN"$(dirname "${ZOOBIN}")" ZOOBINDIR"$(cd "${ZOOBIN}"; pwd)"# 加载zkEnv.sh脚本 if [ -e "$ZOOBIN/../libexec/zkEnv.sh&qu…...

深度学习的数学基础--Homework2
学习资料:https://www.bilibili.com/video/BV1mg4y187qv/?spm_id_from333.788.recommend_more_video.1&vd_sourced6b1de7f052664abab680fc242ef9bc1 神经网络的特点:它不是一个解析模型,它的储存在一堆参数里面(确定一个超平…...

什么是HW,企业如何进行HW保障?
文章目录 一、什么是HW二、HW行动具体采取了哪些攻防演练措施三、攻击方一般的攻击流程和方法四、企业HW保障方案1.建意识2.摸家底3.固城池4.配神器5.增值守 一、什么是HW 网络安全形势近年出现新变化,网络安全态势变得越来越复杂,黑客攻击入侵、勒索病…...

【Redis系列】Spring Boot 集成 Redis 实现缓存功能
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

Flutter之Flex组件布局
目录 Flex属性值 轴向:direction:Axis.horizontal 主轴方向:mainAxisAlignment:MainAxisAlignment.center 交叉轴方向:crossAxisAlignment:CrossAxisAlignment 主轴尺寸:mainAxisSize 文字方向:textDirection:TextDirection 竖直方向排序:verticalDirection:VerticalDir…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...