灰狼优化算法

一、简介

1.1 灰狼优化算法-Grey Wolf Optimizer

        通过模拟灰狼群体捕食行为,基于狼群群体协 作的机制来达到优化的目的。GWO算法具有结构简单、需 要调节的参数少、容易实现等特点,其中存在能够自适应调整 的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索 之间实现平衡,因此在对问题的求解精度和收敛速度方面都 有良好的性能。

1.2 灰狼群体的捕猎行为

灰狼大多喜欢群居,每个群体中平均有5~12只狼,狼群内部等级制度比较森严,按照四层金字塔依次排列。α狼是种群中的领导者,位于金字塔的最顶端。β狼类似于军师团队,协助领导者α进行决策,δ狼位于第三层,听从α和β的决策命令,负责侦察/放哨/看护等任务,最低层为ω,负责种群内部的关系平衡。 

1.3 捕猎过程

捕猎过程分为以下三个主要的部分

(1)跟踪,追逐,接近猎物。

(2)追捕,包围和骚扰猎物,直到猎物停止移动

(3)攻击目标

二 GWO数学模型

       为了对GWO中灰狼的社会等级进行数学建模,将前3 匹最好的狼(最优解)分别定义为α,β和δ,它们指导其他狼向 着目标搜索。其余的狼(候选解)被定义为ω,它们围绕α,β 或δ来更新位置。

2.1包围猎物过程

      在狩猎过程中,将灰狼围捕猎物的行为定义如下:

式(1)表示个体与猎物间的距离,式(2)是灰狼的位置更 新公式。其中,t是目前的迭代代数,A→和C → 是系数向量,XP向量和X 向量分别是猎物的位置向量和灰狼ω的位置向量。

a向量为收敛因子,随着迭代的次数,从2线性减少到0.

r1,r2向量的模取[0,1]之间的随机数。

2.2 狩猎过程

当灰狼识别出猎 物的位置后,β和δ在α的带领下指导狼群包围猎物。

此时,猎物的位置就是我们的最佳解决方案。但是我们并不清楚猎物的位置在哪里。

       我们假设α,β和δ更 了解猎物的潜在位置。我们保存迄今为止取得的3个最优解 决方案,并利用这三者的位置来判断猎物所在的位置,同时强 迫其他灰狼个体(包括ω)依据最优灰狼个体的位置来更新其 位置,逐渐逼近猎物。

 灰狼个体跟踪猎物位置的数学模型描述如下:

图中:a1 a2 a3 分别为表α,β和δ狼。

        定义了狼群中ω个体朝向α,β和δ前进的步 长和方向

D α ,D β 和Dδ分别表示α,β和δ与其他个体间的距离;
X → α ,X → β 和X→δ分别代表α,β和δ的当前位置;

C → 1 ,C → 2 ,C → 3 是随机 向量,X是当前灰狼ω的位置。

定义了ω的最终位置。
 

2.3 攻击猎物

       当猎物停止移动时,灰狼通过攻击来完成狩猎过程。a → 的值被逐渐减小,因此A→的波动范围也随 之减小。在迭代过程中,当a→的值从2线性下降到 0时,其对应的A→的值也在区间[-a,a]内变化。当|A→ |<1时,狼群向猎物 发起攻击(陷入局部最优)

2.4 搜索猎物

灰狼根据α,β和δ的位置来搜索猎物。灰狼在寻找猎物 时彼此分开,然后聚集在一起攻击猎物。可以用A→大于1或小于-1的随机值来迫使灰狼与猎物分离,这强调了勘探(探索)并允许GWO算法全局搜索最优解。|A → |>1强迫灰狼与猎物(局部最优)分离,希 望找到更合适的猎物(全局最优)

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

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

相关文章

新日撸java三百行` 新手小白java学习记录 `Day1

新日撸java三百行新手小白java学习记录 Day1 模拟多线程回调机制 文章目录 新日撸java三百行 新手小白java学习记录 前言一 、模拟异步机制提出问题解决方案 前言 古人称长江为江,黄河为河。长江水清,黄河水浊,长江在流,黄河也在…

【Unity Bug 随记】unity version control 报 xx is not in a workspace.

可能原因是更改了仓库或者项目名称。 解决办法就是重置Unity Version Control,去Hub disconnect 然后重新connect cloud和UVC UVC可能连不上,直接进入项目就行,打开版本管理标签会让你重新连工作区,选择你的仓库和工作区 然后In…

Go语言入门教案

文章目录 一、教学目标二、教学重难点(一)重点(二)难点 三、教学方法四、教学过程(一)Go语言简介(二)环境搭建1. 下载和安装Go语言开发环境2. 配置Go语言环境变量3. 命令行查看Go语言…

[2024最新] java八股文实用版(附带原理)---java集合篇

介绍一下常见的list实现类? ArrayList 线程不安全,内部是通过数组实现的,继承了AbstractList,实现了List,适合随机查找和遍历,不适合插入和删除。排列有序,可重复,当容量不够的时候…

7天用Go从零实现分布式缓存GeeCache(学习)(3)

目录结构 ├── geecache │ ├── byteview.go │ ├── cache.go │ ├── consistenthash │ │ ├── consistenthash.go │ │ └── consistenthash_test.go │ ├── geecache.go │ ├── go.mod │ ├── http.go │ ├── lru │ …

OpenHarmony-1.启动流程

OpenHarmony启动流程 1.kernel的启动 流程图如下所示:   OpenHarmony(简称OH)的标准系统的底层系统是linux,所以调用如下代码: linux-5.10/init/main.c: noinline void __ref rest_init(void) {struct task_struct *tsk;int pid;rcu_sch…

HTB:Precious[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 使用curl访问靶机80端口 使用ffuf爆破一下子域 使用浏览器访问该域名 使用curl访问该域名响应头 使用exiftool工具查看该pdf信息 横向移动 USER_FLAG:adf5793a876a190f0c08b3b6247cec32…

jsmind 思维导图 + monaco-editor + vue3 + ts

Index.vue: <template><div class"m-jsmind-wrap"><div class"m-jsmind-header"><el-button type"primary" click"() > handleReset()">重置</el-button><el-button type"primary" cl…

在arm64架构下, Ubuntu 18.04.5 LTS 用命令安装和卸载qt4、qt5

问题&#xff1a;需要在 arm64下安装Qt&#xff0c;QT源码编译失败以后&#xff0c;选择在线安装&#xff01; 最后安装的版本是Qt5.9.5 和QtCreator 4.5.2 。 一、ubuntu安装qt4的命令(亲测有效)&#xff1a; sudo add-apt-repository ppa:rock-core/qt4 sudo apt updat…

AIGC学习笔记(5)——AI大模型开发工程师

文章目录 AI大模型开发工程师004 垂直领域的智能在线搜索平台1 智能在线搜索平台需求分析大模型不够“聪明”增强大模型的方式需求分析2 智能在线搜索平台方案设计方案设计技术选型大模型版本GLM-4大模型注册使用Google Cloud平台注册创建可编程的搜索引擎3 智能在线搜索平台代…

【React】状态管理之Redux

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 状态管理之Redux引言1. Redux 的核心概念1.1 单一数据源&#xff08;Single Sou…

Unity类银河战士恶魔城学习总结(P124 CharacterStats UI玩家的UI)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了玩家属性栏&#xff0c;仓库&#xff0c;物品栏UI的制作 UI_StatSlot.cs 这个脚本是用来在Unity的UI上显示玩家属性&#xf…

蓝桥杯每日真题 - 第7天

题目&#xff1a;&#xff08;爬山&#xff09; 题目描述&#xff08;X届 C&C B组X题&#xff09; 解题思路&#xff1a; 前缀和构造&#xff1a;为了高效地计算子数组的和&#xff0c;我们可以先构造前缀和数组 a&#xff0c;其中 a[i] 表示从第 1 个元素到第 i 个元素的…

Llama旋转位置编码代码实现及详解

旋转位置编码RoPE 在旋转位置编码与Transformer和BERT之间的区别中介绍了旋转位置编码&#xff08;RoPE&#xff09;的特点和优势&#xff0c;这种输入长度动态可变的优势使得在Llama编码时&#xff0c;不需要掩码将多余的嵌入掩住。为了详细了解RoPE是如何实现的&#xff0c;…

WebSocket和HTTP协议的性能比较与选择

WebSocket和HTTP协议的性能比较与选择 引言&#xff1a; 在web应用开发中&#xff0c;无论是实时聊天应用、多人在线游戏还是实时数据传输&#xff0c;网络连接的稳定性和传输效率都是关键要素之一。目前&#xff0c;WebSocket和HTTP是两种常用的网络传输协议&#xff0c;它们…

WebRTC项目一对一视频

开发步骤 1.客户端显示界面 2.打开摄像头并显示到页面 3.websocket连接 4.join、new-peer、resp-join信令实现 5.leave、peer-leave信令实现 6.offer、answer、candidate信令实现 7.综合调试和完善 1.客户端显示界面 步骤&#xff1a;创建html页面 主要是input、button、vide…

GIS基础知识:WKT格式、WKB格式

什么是WKT格式&#xff1f; WKT&#xff08;Well-Known Text&#xff09;是一种用于描述地理空间几何对象的文本格式。 这种格式是由Open Geospatial Consortium&#xff08;OGC&#xff09;定义并维护的一种开放标准&#xff0c;主要用于在不同的GIS系统和数据库之间交换空间…

力扣(LeetCode)611. 有效三角形的个数(Java)

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f439;今日诗词:雾失楼台&#xff0c;月迷津渡&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主&#x1f64f; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主…

Mac Nginx 前端打包部署

安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装Nginx brew install nginx nginx相关命令 nginx启动命令&#xff1a;nginx nginx -s reload #重新加载配置 nginx -s reopen #重启 nginx -s stop #…

利用VMware workstation pro 17安装 Centos7虚拟机以及修改网卡名称

通过百度网盘分享的文件&#xff1a;安装虚拟机必备软件 链接&#xff1a;https://pan.baidu.com/s/1rbYhDh8x1hTzlSNihm49EA?pwdomxy 提取码&#xff1a;omxy 123网盘 https://www.123865.com/s/eXPrVv-UsKch 提取码:eNcy 先自行安装好VMware workstation pro 17 设置虚拟机…