【智能算法】天鹰优化算法(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地址 三台控制节点搭建数据库高可用…

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…

python多方式操作elasticsearch介绍

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

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批量写作内容进…

厦门攸信技术亮相新技术研讨会,展现物流自动化解决方案新高度!

今日&#xff0c;厦门攸信信息技术有限公司受邀参加了一场备受行业关注的电子制造高端盛会——一步步新技术研讨会&#xff0c;凭借卓越的智能制造与物流自动化技术在会议中大放异彩。作为一家引领行业发展的企业&#xff0c;厦门攸信技术不仅展示了其深厚的技术底蕴&#xff0…

算法系列--动态规划--背包问题(4)--完全背包拓展题目

&#x1f495;"这种低水平质量的攻击根本就不值得我躲&#xff01;"&#x1f495; 作者&#xff1a;Lvzi 文章主要内容&#xff1a;算法系列–动态规划–背包问题(4)–完全背包拓展题目 大家好,今天为大家带来的是算法系列--动态规划--背包问题(4)--完全背包拓展题目…

《web应用技术》第一次课后练习

上机任务&#xff08;利用好chatgpt&#xff0c;文心一言等工具。&#xff09;&#xff1a; 1、下载软件&#xff0c;并安装。相关安装文件已上传至群文件。 JDK,TOMCAT&#xff0c;IDEA 2、学会用记事本编写jsp文件&#xff0c;并放进tomcat的相关目录下&#xff0c;运行。 …

使用Windows自带服务(BitLocker)加密U盘

第一步&#xff1a;启用 BitLocker 服务 1.1快捷键&#xff1a;WinR 调出运行框&#xff0c;输入services.msc 1.2找到服务列表中的BitLocker Drive Encryption Service&#xff0c;启动此项 第二步&#xff1a;加密U盘 把你的U盘插入电脑&#xff0c;打开“我的电脑”&#…

EFCore的空迁移(EFCore操作已存在的数据库表,不影响其中的数据)

背景&#xff1a;EFCore默认的会自动创建数据表&#xff0c;但是有时又是DBFirst&#xff0c;数据库写好了要用现成的表。这个时候就需要进行一些特殊的操作了 1、写出跟要对接数据库的实体类 比如我的表是这样创建的 create table mail_test (user_id bigint auto_increment …