【智能算法】猎豹优化器(CO)原理及实现

在这里插入图片描述

目录

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


1.背景

2022年,MA Akbari等人受到自然界中猎豹捕猎行为启发,提出了猎豹优化器(The Cheetah Optimizer,CO)。

2.算法原理

2.1算法思想

CO法对猎豹的捕猎机制进行模拟,主要包括搜索、坐等和攻击 3 种策略。
在这里插入图片描述

2.2算法过程

搜索策略

猎豹用两种方式寻找猎物:即在区域内全范围扫描或主动搜索。在狩猎期间,根据猎物的条件、区域的覆盖范围和猎豹自身的条件,猎豹可能会选择这两种搜索模式的连锁。位置更新为:
x i , j t + 1 = x i , j t + r i , j − 1 ⋅ α i , j t (1) x_{i,j}^{t+1}=x_{i,j}^{t}+r_{i,j}^{-1}\cdot\alpha_{i,j}^{t}\tag{1} xi,jt+1=xi,jt+ri,j1αi,jt(1)
其中,ri,ai为猎豹i的随机化参数和步长,ai一般可设置为0.001*t/T。

坐等策略

为避免猎物意识到猎豹的存在,猎豹保持位置,等待猎物靠近:
x i , j t + 1 = x i , j t (2) x_{i,j}^{t+1}=x_{i,j}^{t}\tag{2} xi,jt+1=xi,jt(2)
该策略能够避免 CO 过早收敛。
在这里插入图片描述

攻击策略

猎豹利用速度和灵活性捕捉猎物。在群体狩猎中,每只猎豹可以根据逃跑的猎物和首领或附近猎豹的状态调整自己的位置:
x i , j t + 1 = x B , j t + θ i , j ⋅ β i , j t (3) x_{i,j}^{t+1}=x_{B,j}^{t}+\theta_{i,j}\cdot\beta_{i,j}^{t}\tag{3} xi,jt+1=xB,jt+θi,jβi,jt(3)

其中,B代表猎物, θ , β \theta,\beta θ,β转向因子和相互作用因子。

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Akbari M A, Zare M, Azizipanah-Abarghooee R, et al. The cheetah optimizer: A nature-inspired metaheuristic algorithm for large-scale optimization problems[J]. Scientific reports, 2022, 12(1): 10953.

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

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

相关文章

P1102 A-B 数对 (非二分,不开龙永远的痛,用map解决)

可是我真的会伤心 题目链接 思路:1.本来想的是暴力,两层循环模拟每个数。 2.后来想先把每个数字的个数求出来放在数组nums【】中,并把不重复的数字存到数组b,再两层循环b数组应该时间复杂度会好些,如果b数组中的两个数…

欧拉路径欧拉回路

欧拉回路,指遍历图时通过图中每条边且仅通过一次,最终回到起点的一条闭合回路,适用于有向图与无向图,如果不强制要求回到起点,则被称为欧拉路径。 欧拉图:具备欧拉回路的图 无向图:图的所有顶…

全球范围内2nm晶圆厂建设加速

随着人工智能浪潮席卷而来,先进制程芯片的重要性日益凸显。当前,3nm工艺节点是行业内最先进的节点。与此同时,台积电、三星、英特尔、Rapidus等厂商正积极布局建设2nm晶圆厂。台积电与三星此前计划于2025年量产2nm芯片,而Rapidus则…

【Java】Thread详解

🍒前言 本文将从以下几方面来展开对Thread的介绍。 1.线程创建 2.线程中断 3.线程等待 4.线程休眠 在前面的文章中,已经总结了关于Thread的一些理解。 在阅读本文之前,最好对其有一些基础的了解。 文章链接: 【JavaSE】进程是什么&#xff1f…

基于lora技术微调Gemma(2B)代码实践

一、前置条件 获得模型访问权,选择Colab运行时,配置训练环境。 先在Kaggle上注册,然后获得Gemma 2B 的访问权; 然后在Google colab 配置环境,主要是GPU的选择,免费的是T4,建议采用付费的A100…

C++——list类及其模拟实现

前言&#xff1a;这篇文章我们继续进行C容器类的分享——list&#xff0c;也就是数据结构中的链表&#xff0c;而且是带头双向循环链表。 一.基本框架 namespace Mylist {template<class T>//定义节点struct ListNode{ListNode<T>* _next;ListNode<T>* _pre…

【重学C语言】三、C语言最简单的程序

【重学C语言】三、C语言最简单的程序 最简单的程序头文件使用尖括号 < >使用双引号 ""区别与注意事项示例 主函数认识三个错误 常量和变量常量ASCII 码表转义字符 关键字数据类型关键字存储类关键字修饰符关键字控制流程关键字函数相关关键字其他关键字 变量变…

Linux 恶意软件“Migo”针对 Redis 进行加密劫持攻击

安全研究人员遇到了一种新的加密劫持活动&#xff0c;该活动使用一种名为 Migo 的新恶意软件&#xff0c;该恶意软件针对 Linux 主机上的 Redis 服务器。在 Cado Security 研究人员注意到在野外利用 Redis 系统的新命令后&#xff0c;该活动曝光了。 初始访问 根据 Cado secu…

RUST语言基本数据类型认识

1.RUST的基本数据类型参考: 2.使用RUST数据类型声明变量并赋值: let a:i8=1;//8位有符号整数let a1:u8=2;//8位无符号整数let b:i16=1;//16位有符号整数let b1:u16=2;//16位无符号整数let c:i32=1;//32位有符号整数let c1:u32=2;//32位无符号整数let d:i64=1;//64位有符号整数l…

公众号爆文策略与实践:揭秘千万阅读量的秘密

1. 引言 介绍公众号爆文的重要性&#xff0c;以及分享个人通过每天投入半小时赚到30倍门票的经验。强调跟上大佬步伐&#xff0c;提升认知的重要性。 2. 爆文的底层逻辑 2.1 推荐的底层逻辑 内容分发机制的变化&#xff0c;从仅限于直接关注到通过搜索、浏览推荐等多种方式…

【项目实战经验】DataKit迁移MySQL到openGauss(上)

前言 本文将分享DataKit迁移MySQL到openGauss的项目实战&#xff0c;供广大openGauss爱好者参考。 1. 下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise…

封装一个vue3的公共组件

在Vue 3中&#xff0c;封装公共组件的场景包括但不限于以下几种情况&#xff1a; 重复使用的组件&#xff1a;如果你发现某个组件在多个地方重复使用&#xff0c;那么将其封装成公共组件是很有意义的。比如&#xff0c;页面中的各种表单控件&#xff08;输入框、下拉框、日期选…