灰狼优化算法

一、简介

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强迫灰狼与猎物(局部最优)分离,希 望找到更合适的猎物(全局最优)

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

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

相关文章

AI 写作(五)核心技术之文本摘要:分类与应用(5/10)

一、文本摘要:AI 写作的关键技术 文本摘要在 AI 写作中扮演着至关重要的角色。在当今信息爆炸的时代,人们每天都被大量的文本信息所包围,如何快速有效地获取关键信息成为了一个迫切的需求。文本摘要技术正是为了解决这个问题而诞生的&#x…

【 ElementUI 组件Steps 步骤条使用新手详细教程】

本文介绍如何使用 ElementUI 组件库中的步骤条组件完成分步表单设计。 效果图: 基础用法​ 简单的步骤条。 设置 active 属性,接受一个 Number,表明步骤的 index,从 0 开始。 需要定宽的步骤条时,设置 space 属性即…

尽量通俗易懂地概述.Net U nity跨语言/跨平台相关知识

本文参考来自唐老狮,Unity3D高级编程:主程手记,ai等途径 仅作学习笔记交流分享 目录 1. .Net是什么? 2. .Net框架的核心要点? 跨语言和跨平台 .Net x Unity跨平台发展史 Net Framework 2002 Unity跨平台之 Mono 2004 Unity跨平台之 IL2CPP 2015 二者区别 .NET Core …

基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要:番茄成熟度检测在农业生产及质量控制中起着至关重要的作用,不仅能帮助农民及时采摘成熟的番茄,还为自动化农业监测提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的番茄成熟度检测模型,该模型使用了…

应用程序部署(IIS的相关使用,sql server的相关使用)

数据服务程序(API)部署 1、修改配置文件 打开部署包中的web.config配置文件,确认数据库登录名和密码正确 修改ip为电脑IP(winR输入cmd,输入ipconfig,IPv4对应的就是本机IP) 2、打开IIS&#x…

网页版五子棋——对战模块(服务器端开发②)

前一篇文章:网页版五子棋——对战模块(服务器端开发①)-CSDN博客 项目源代码:Java: 利用Java解题与实现部分功能及小项目的代码集合 - Gitee.com 目录 前言 一、创建并注册 GameAPI 类 1.创建 GameAPI 类 2.注册 GameAPI 类 …

STM32单片机WIFI语音识别智能衣柜除湿消毒照明

实践制作DIY- GC0196-WIFI语音识别智能衣柜 一、功能说明: 基于STM32单片机设计-WIFI语音识别智能衣柜 二、功能介绍: STM32F103C系列最小系统板LCD1602显示器ULN2003控制的步进电机(柜门开关)5V加热片直流风扇紫外消毒灯DHT11…

网络远程操控

1.给两个设备配上ip地址让他们能通 2.开启远程管理功能,打开telnet 3.创建远程管理的账号和密码,账号权限 输入system-view进入视图,不敲这个命令不能进行配置 配好ip后进入AR1ping一下AR2的ip看看通不通,接着进入AR2开启telnet权…

【go从零单排】Timer、Epoch 时间函数

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,time.Timer 是一个用于在指定时间后执行操作的计时器。…

鸿蒙自定义UI组件导出使用

上期讲解了在Entry入口写了一个系统的下拉列表组件,如果我们想要封装一个可供复用的组件供团队其他人使用,那么需要掌握一下自定义组件的写法: 1、自定义可导入组件 - export 声明模块 如果要定义一个在外部可使用的组件 , 需要再定义组件…

Web大学生网页作业成品——婚礼婚纱网页设计与实现(HTML+CSS)(6个页面)

🎉🎉🎉 常见网页设计作业题材有**汽车、环保、明星、文化、国家、抗疫、景点、人物、体育、植物、公益、图书、节日、游戏、商城、旅游、家乡、学校、电影、动漫、非遗、动物、个人、企业、美食、婚纱、其他**等网页设计题目, 可满足大学生网…

时序数据库TimescaleDB安装部署以及常见使用

文章目录 一、时序数据库二、TimescaleDB部署1、repository yum仓库配置2、yum在线安装3、插件配置4、TimescaleDB使用登录pg创建插件使用超表 一、时序数据库 什么是时序数据库?顾名思义,用于处理按照时间变化顺序的数据的数据库即为时序数据库&#x…

Matlab: 生成对抗网络,使用Datastore结构输入mat格式数据

使用matlab的生成对抗网络(Generative Adversarial Network,GAN)以及条件CGAN时,案例中 的生成器的输入为图像,改为.mat格式输入遇到的问题。解决方法 官方资源 训练条件生成对抗网络 (CGAN)- MATLAB & Simulink-…

Linux kernel 堆溢出利用方法(二)

前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通过讲解另一道相对来说比较困难的kernel off-by-null docker escape来深入了解这种漏洞的利用手法。(没了解过docker逃逸的朋友也可以看懂,毕竟有了root权限后&a…

设计模式:工厂方法模式和策略模式

工厂方法模式 什么是开闭原则? 开闭原则是扩展开发,对修改关闭 简单工厂(不是设计模式而是一种编程的习惯) 有三个角色 抽象产品:定义了产品的规范,描述了产品的特性和功能.具体产品:实现或者继承抽象产品的子类具体工厂:提供了创建产品的方法,调用者通过该方法获取产品 实…

深度学习代码笔记

一、U-NET 论文题目:U-Net: Convolutional Networks for Biomedical Image SegmentationUNet 的体系结构基于编码器-解码器范式,其中编码器从输入图像中提取特征,解码器基于这些特征生成分割图。但是,UNet还集成了编码器和解码器…

软件测试面试2024最新热点问题

大厂面试热点问题 1、测试人员需要何时参加需求分析? 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的开展越有利 可以尽早的确定测试思路 减少与开发人员的交互 减少对需求理解上的偏差 2、软件测试与调试的关系 测…

L10.【LeetCode笔记】回文链表

目录 1.题目 2.自解 代码 提交结果 1.题目 给你一个单链表的头节点 head ,请你判断该链表是否为 回文链表 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:tru…

Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)

作者:来自 Elastic Benjamin Trent Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)。 嵌入模型输出 float32 向量,通常对于高效处理和实际应用来说太大。Elasticsearch 支持 int8 标量量化,以减小向量大小,同时保持性能。其他…

猿创征文|Inscode桌面IDE:打造高效开发新体验

猿创征文|Inscode桌面IDE:打造高效开发新体验 引言 在当今快速发展的软件开发领域,一个高效、易用的集成开发环境(IDE)是每个开发者必不可少的工具。Inscode 桌面 IDE 作为一款新兴的开发工具,凭借其强大…