【智能算法】天鹰优化算法(AO)原理及实现

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2021年,L Abualigah等人受到天鹰猎食过程启发,提出了天鹰优化算法(Aquila Optimizer,AO)。

2.算法原理

2.1算法思想

AO模拟天鹰 4 种不同的捕食策略建立数学模型,根据搜索空间内解的不同特性,灵活应用不同的搜索策略。

2.2算法过程

扩展探索阶段

在第 1 个阶段,天鹰通过垂直俯身的高空翱翔搜索猎物并选择搜索区域:
X 1 ( t + 1 ) = X b e s t ( t ) × ( 1 − t T ) + ( X M ( t ) − X b e s t ( t ) × r a n d ) . X M ( t ) = 1 N ∑ i = 1 N X i ( t ) . (1) X_{1}\left(t+1\right)=X_{\mathrm{best}}\left(t\right)\times\left(1-\frac{t}{T}\right)+\left(X_{\mathrm{M}}\left(t\right)-X_{\mathrm{best}}\left(t\right)\times\mathrm{rand}\right).\\\\X_{\mathrm{M}}\left(t\right)=\frac{1}{N}\sum_{i=1}^{N}X_{i}\left(t\right).\tag{1} X1(t+1)=Xbest(t)×(1Tt)+(XM(t)Xbest(t)×rand).XM(t)=N1i=1NXi(t).(1)
在这里插入图片描述

缩小探索阶段

模拟天鹰短滑翔攻击行为:
X 2 ( t + 1 ) = X b e s t ( t ) × L e v y ( D ) + X R ( t ) + ( y − x ) × r a n d × 1. (2) X_{2}\left(t+1\right)=X_{\mathrm{best}}\left(t\right)\times\mathrm{Levy}\left(D\right)+X_{\mathrm{R}}\left(t\right)+\left(y-x\right)\times\mathrm{rand}\times1.\tag{2} X2(t+1)=Xbest(t)×Levy(D)+XR(t)+(yx)×rand×1.(2)
x,y代表螺旋飞行:
y = r c o s ( θ ) x = r s i n ( θ ) r = r 1 + U D 1 θ = − ω D 1 + 3 π / 2 (3) y = rcos(\theta)\\x=rsin(\theta) \\ r = r1+UD_1\\ \theta = -\omega D_1+3\pi/2\tag{3} y=rcos(θ)x=rsin(θ)r=r1+UD1θ=ωD1+3π/2(3)
在这里插入图片描述

扩大开发阶段

模拟天鹰的低空慢降攻击:
X 3 ( t + 1 ) = α ( X b e s t ( t ) − X M ( t ) ) − r a n d × 1 + δ ( ( U − L ) × r a n d + L ) × 1. (4) \begin{gathered} \boldsymbol{X}_{3}(t+1) =\alpha\left(\boldsymbol{X}_{\mathrm{best}}\left(t\right)-\boldsymbol{X}_{\mathrm{M}}\left(t\right)\right)-\mathrm{rand}\times\mathbf{1}+ \delta((U-L)\times\mathrm{rand}+L)\times\mathbf{1}. \end{gathered}\tag{4} X3(t+1)=α(Xbest(t)XM(t))rand×1+δ((UL)×rand+L)×1.(4)
在这里插入图片描述

缩小开发阶段

模拟天鹰行走及狩猎地面上移速较慢的生物:
X 4 ( t + 1 ) = Q F × X b e s t ( t ) − G 1 × X ˉ ( t ) × r a n d − G 2 × L e v y ( D ) × 1 + r a n d × G 1 × 1. (5) \begin{array}{c}{X_{4}\left(t+1\right)=Q_{\mathrm{F}}\times X_{\mathrm{best}}\left(t\right)-G_{1}\times\bar{X}\left(t\right)\times\mathrm{rand}-}{G_{2}\times\mathrm{Levy}\left(D\right)\times\mathbf{1}+\mathrm{rand}\times G_{1}\times\mathbf{1}.}\\\end{array}\tag{5} X4(t+1)=QF×Xbest(t)G1×Xˉ(t)×randG2×Levy(D)×1+rand×G1×1.(5)
其中,参数表述为:
Q F ( t ) = t ( 2 × m n d − 1 ) / ( 1 − T ) 2 . G 1 = 2 × r a n d = 1. G 2 = 2 × ( 1 − t / T ) . (6) Q_{\mathrm{F}}(t)=t^{(2\times\mathrm{mnd}-1)/(1-T)^{2}}.\\ G_{1}=2\times\mathrm{rand}=1.\\ G_{2}=2\times(1-t/T).\tag{6} QF(t)=t(2×mnd1)/(1T)2.G1=2×rand=1.G2=2×(1t/T).(6)
在这里插入图片描述

伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Abualigah L, Yousri D, Abd Elaziz M, et al. Aquila optimizer: a novel meta-heuristic optimization algorithm[J]. Computers & Industrial Engineering, 2021, 157: 107250.

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

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

相关文章

Vue系列——数据对象

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>el:挂载点</title> </head> <body&g…

表情生成器微信小程序版

1.纯前端输出&#xff0c;无需后台&#xff0c;无需域名&#xff0c;速度杠杠快&#xff01; 2.完美支持微信端和抖音端&#xff1b; 3.双端均支持配置开启流量主广告&#xff0c;包括&#xff1a;激励视频广告、插屏广告、banner广告、原生广告、封面广告等&#xff1b; 4.…

刷题日记——国家名称排序

7.国家名称排序 分析 一开始打算用二维的字符数组来操作&#xff0c;但是数组指针玩不太明白&#xff0c;于是改用结构体&#xff0c;结构体country里面仅一个成员name&#xff08;字符数组&#xff09;&#xff0c;这样就有两种解题方法&#xff1a; 方法一&#xff1a;使用…

SpringBoot 整合Redis第1篇

SpringBoot是一个开发框架&#xff0c;Redis是一个高性能的键值存储数据库&#xff0c; 常用于缓存、会话管理、消息队列等应用场景。 定义 Redis是什么&#xff1f; 它是一个存储层级&#xff0c; 在实际项目中&#xff0c;位于关系数据库之上&#xff0c; 类似Android分为5…

ubuntu2204配置zabbix6.4高可用

zabbix6.4-HA 配置keepalived配置haproxy数据库高可用配置zabbix-server配置proxy配置客户端agent 本实验VMware搭建zabbix6.4高可用集群&#xff0c;搭配haproxykeepalived。 master&#xff0c;node节点搭建haproxykeepalibed主备并配置vip地址 三台控制节点搭建数据库高可用…

什么是计算机视觉?计算机视觉:从基础到前沿

引言 计算机视觉&#xff0c;作为人工智能的一个重要分支&#xff0c;致力于赋予机器“看”的能力——即从图像或视频中理解和解释视觉信息的能力。这项技术的发展为自动驾驶汽车、面部识别、机器人导航等多种应用开辟了道路&#xff0c;正在逐步改变我们的工作和生活方式。本…

相关性差异性分析

相关性差异性分析是一种用于比较不同组之间相关性差异的统计分析方法。在这种分析中&#xff0c;我们通常会比较两个或多个群体、样本或实验条件之间的相关性程度是否存在显著差异。 例如&#xff0c;假设我们有两组数据&#xff0c;分别代表两种不同的治疗方法对患者病情恢复…

人工智能-线性回归学习笔记

导数 先了解导数&#xff0c;也就是梯度 解释梯度&#xff1a;yf(x) x2(随机取一个值)&#xff0c;然后x变化了△x(趋向于0)&#xff0c;y值变化了△y&#xff0c;△y除以△x 就是x2的梯度。当x等于一个值&#xff0c;对应的梯度为0&#xff0c; 代表了y到了该函数的极…

Linux内核之Binder驱动container_of进阶用法(三十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

小小狠招:巧妙使用HANA数据库的jdbc driver

SAP旗下的HANA数据库&#xff0c;实际上是分为两个系列进行发布&#xff0c;一种是基于本地部署的称之为HANA Platform。另一种是面向Cloud平台的&#xff0c;称之为HANA Cloud。 在实际使用当用&#xff0c;因为两者基本上共用同一代码库&#xff0c;除个别地方略有差异以外&…

车载电子电器架构 —— 电气架构释放检查

车载电子电器架构 —— 电气架构释放检查 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明…

Sql注入---基础

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.Sql注入概述 攻击者通过构造恶意的SQL查询语句&#xff0c;将其注入到应用程序的数据库查询中&#xff0c;以执行未经授权的操作或者获取敏感信息。 假设如下场景&#xff0c;当你想要知道对…

【c++】简单的日期计算器

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好啊&#xff0c;在我们学习了默认成员函数后&#xff0c;我们本节内容来完成知识的实践&#xff0c;来实现一个简易的日期计算器 目录 头文件声明函数函数的实现1.全缺省默认构…

每日一博 - 关于日志记录的最佳实践

文章目录 概述选择合适的日志等级打印函数的入参、出参打印日志对象要做判空处理&#xff0c;避免阻断流程推荐使用 Slf4j不用e.printStackTrace()打印日志低级别的日志输出&#xff0c;必须进行日志级别开关判断不打印重复日志打印全部的异常信息&#xff0c;方便定位问题核心…

cocos2.x => node 属性修改

简介 与节点属性相关的几个核心变量_trs、_matrix、_worldMatrix、_localMatDirty、_worldMatDirty。 _trs&#xff1a;存储节点的position、rotation、scale _matrix&#xff1a;存储节点的缩放、位移、旋转三者合一的变化矩陈&#xff08;仿射矩陈&#xff09; _worldMat…

6、Cocos Creator 2D 渲染组件(一)

目录 1、Sprite 组件 2、Label 组件 3、Mask 组件 4、Graphics 组件 5、RichText 组件 1、Sprite 组件 2、Label 组件 3、Mask 组件 4、Graphics 组件 5、RichText 组件 6、BlockInputEvents 组件 BlockInputEvents 组件将拦截所属节点 bounding box 内的所有输入事件&a…

python多方式操作elasticsearch介绍

python多方式操作elasticsearch介绍 1. requests模块操作ES ​ requests 是一个 Python HTTP 库&#xff0c;它简化了发送 HTTP 请求和处理响应的过程。通过 requests 模块&#xff0c;开发人员可以轻松地与 Web 服务进行通信&#xff0c;包括获取网页内容、执行 API 请求等。…

Java初级八股文面试题

1. Java的基本数据类型有哪些&#xff1f; 答&#xff1a;Java的基本数据类型包括&#xff1a; 整型&#xff1a;byte, short, int, long浮点型&#xff1a;float, double字符型&#xff1a;char布尔型&#xff1a;boolean 2. Java中的变量作用域有哪些&#xff1f; 答&…

Qt for WebAssembly 环境搭建 - Windows新手入门

Qt for WebAssembly 环境搭建 - Windows新手入门 一、所需工具软件1、安装Python2、安装Git2.1 注册Github账号2.2 下载安装Git2.2.1配置Git&#xff1a;2.2.2 配置Git环境2.2.3解决gitgithub.com: Permission denied (publickey) 3 安装em编译器 二、Qt配置编译器三、参考链接…

怎么让ChatGPT批量写作原创文章

随着人工智能技术的不断发展&#xff0c;自然语言处理模型在文本生成领域的应用也日益广泛。ChatGPT作为其中的佼佼者之一&#xff0c;凭借其强大的文本生成能力和智能对话特性&#xff0c;为用户提供了一种高效、便捷的批量产出内容的解决方案。以下将就ChatGPT批量写作内容进…