智能优化算法:猎豹优化算法-附代码

news2025/1/13 13:46:25

智能优化算法:猎豹优化算法

文章目录

  • 智能优化算法:猎豹优化算法
    • 1.猎豹优化算法
      • 1.1 初始化
      • 1.2 搜索策略
      • 1.3坐等策略
      • 1.4攻击策略
    • 2.实验结果
    • 3.参考文献
    • 4.Matlab
    • 5.python

摘要:CO算法是Mohammad AminAkbari等人于2022年受自然界猎豹狩猎启发而提出一种新型群体智能优化算法。该算法通过模拟猎豹在狩猎过程中搜索、坐等和攻击3种策略来实现位置更新。具有寻优能力强,收敛速度快等特点。

1.猎豹优化算法

1.1 初始化

(1) 初始化。与其他群体智能优化算法类似, CO 算法也 是从种群初始化开始。设在 d d d 维搜索空间中, 猎豹初始化位置 描述为:
X i , j = L B j + rand ⁡ ( U B j − L B j ) i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , d (1) X_{i, j}=L B_j+\operatorname{rand}\left(U B_j-L B_j\right) \quad i=1,2, \cdots, n ; j=1,2, \cdots, d \tag{1} Xi,j=LBj+rand(UBjLBj)i=1,2,,n;j=1,2,,d(1)
式中: X i , j X_{i, j} Xi,j 为第 i i i 头猎豹第 j j j 维位置; U B j 、 L B j U B_j 、 L B_j UBjLBj 为第 j j j 维搜索空间上、下限值; rand 为介于 0 和 1 之间的随机数; n n n 为猎豹种群 规模; d d d 为问题维度。

1.2 搜索策略

猎豹在其领地(搜索空间)或周围区域 进行全范围扫描或主动搜索, 以找到猎物。该策略数学描 述为:
X i , j t + 1 = X i , j t + r ˉ i , j − 1 ⋅ α i , j t t = 1 , 2 , ⋯   , T (2) X_{i, j}^{t+1}=X_{i, j}^t+\bar{r}_{i, j}^{-1} \cdot \alpha_{i, j}^t \quad t=1,2, \cdots, T \tag{2} Xi,jt+1=Xi,jt+rˉi,j1αi,jtt=1,2,,T(2)
式中: X i , j t + 1 X_{i, j}^{t+1} Xi,jt+1 为第 i i i 头猎豹第 t + 1 t+1 t+1 次迭代第 j j j 维位置; X i , j t X_{i, j}^t Xi,jt 为第 i i i 头 猎豹第 t t t 迭代第 j j j 维位置; r ˉ i , j \bar{r}_{i, j} rˉi,j 为第 i i i 头猎豹第 j j j 维呈正态分布的 随机数; α i , j t \alpha_{i, j}^t αi,jt 为第 i i i 头猎豹第 t t t 迭代第 j j j 维的搜索步长; T T T 为算法 最大迭代次数。

1.3坐等策略

(3)坐等策略。在搜索模式下, 猎物可能会暴露在猎豹 视野中, 在这种情况下, 猎豹的每一个动作都可能会导致猎 物逃跑。为避免该情况发生, 猎豹采取坐等伏击策略(躺在 地上或躲进灌木丛) 以接近猎物。该策略数学描述为:
X i , j l + 1 = X i , j t (3) X_{i, j}^{l+1}=X_{i, j}^t \tag{3} Xi,jl+1=Xi,jt(3)
式 (3) 各参数意义同上。该策略不但提高狩猎成功率 (获得取优解), 而且避免 CO 过早收玫。

1.4攻击策略

在 CO 算法中, 每头猎豹都可以根据逃跑 猎物、领头猎豹或附近猎豹的位置来调整自己的位置, 以获 得最佳攻击位置。该策略数学描述为:
X i , j t + 1 = X B , j t + r ˉ i , j ⋅ β i , j t (4) X_{i, j}^{t+1}=X_{B, j}^t+\bar{r}_{i, j} \cdot \beta_{i, j}^t \tag{4} Xi,jt+1=XB,jt+rˉi,jβi,jt(4)
式中: X B , j t X_{B, j}^t XB,jt 为第 t t t 迭代第 j j j 维猎物位置, 即当前最佳位置; r ˉ i , j \bar{r}_{i, j} rˉi,j 为 第 i i i 头猎豹第 j j j 维转向因子; β i , j t \beta_{i, j}^t βi,jt 为第 i i i 头猎豹第 t t t 迭代第 j j j 维交互 因子,反映猎豹之间或猎豹与领头猎豹之间的互动; 其他参 数意义同上。

2.实验结果

在这里插入图片描述

3.参考文献

[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): 1-20.

[2]李杰,崔东文.若干新型群体智能算法优化高斯过程回归的年降水量预测[J].节水灌溉,2023(07):96-103+109.

4.Matlab

5.python

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

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

相关文章

linux学习(进程管理)[8]

创建进程 myproc.c #include <stdio.h> #include <unistd.h>int main() {printf("我是父进程\n");pid_t id fork();if(id < 0){printf("创建子进程失败\n");return 1;}else if(id 0){while(1){printf("我是子进程&#xff1a; pid…

7.利用matlab完成 符号方阵的特征值分解和 符号矩阵的奇异值分解 (matlab程序)

1.简述 &#xff08;1&#xff09;特征值分解&#xff1a;函数eig 格式&#xff1a;[V,D] eig(A) %计算A的特征值对角阵D和特征向量V&#xff0c;使AVVD成立。 注意&#xff1a;特征值分解时&#xff0c;使用eig&#xff0c;矩阵A必须是方阵。 A [0 1;1 1]; [V,D] ei…

JAVA初体验 (HelloWorld)

1.编写代码 文件名字HelloWorld.java public class HelloWorld{public static void main(String [] args){System.out.printf("hello world!");} } 2.编译&#xff08;cmd&#xff09; javac HelloWorld.java 运行完之后 会出现一个 HelloWorld.class 3.运行 j…

APS生产排产将排程计划可视化

什么是生产计划可视化&#xff1f; 在制定生产计划时&#xff0c;由于是多工序的生产&#xff0c;物料及设备的匹配&#xff0c;生产工艺路线的安排&#xff0c;产品结构的不同等因素&#xff0c;生产计划的排程有一定的难度。 那么如何将一个复杂的生产计划转化为一张清晰明了…

Python分享之 Spider

一、网络爬虫 网络爬虫又被称为网络蜘蛛&#xff0c;我们可以把互联网想象成一个蜘蛛网&#xff0c;每一个网站都是一个节点&#xff0c;我们可以使用一只蜘蛛去各个网页抓取我们想要的资源。举一个最简单的例子&#xff0c;你在百度和谷歌中输入‘Python&#xff0c;会有大量和…

Python(三)

诚信像一面镜子&#xff0c;一旦打破&#xff0c;你的人格就会出现裂痕。 存在短路的情景 谢谢观看 Python(三)

造个破谣而已,咋还用上AI了?

最近&#xff0c;央视等各大媒体纷纷曝光了全国多起用AI炮制网络谣言的案例&#xff0c;其中涉及灾害、安全事故、刑事案件等多类谣言内容&#xff0c;造谣的方式更是从文案到图片、视频不一而足。 看到这样的消息&#xff0c;总是会加重我们对AI的担忧&#xff0c;联想到此前的…

承接各种设计

小弟985研究生毕业&#xff0c;目前攻读读博士&#xff0c;可做各种设计&#xff0c;包括但不限于Matlab 电力电子/电气工程&#xff0c;matlab/simulink 电气专业仿真MATLAB 电气工程专业&#xff0c;matlab建模 电力电子&#xff0c;电气工程&#xff0c;电力系统&#xff0c…

Vision Transformer模型入门

Vision Transformer模型入门 一、Vision Transformer 模型1&#xff0c;Embedding 层结构详解2&#xff0c;Transformer Encoder 详解3&#xff0c;MLP Head 详解 二、ViT-B/16 网络结构三、Hybrid 模型详解四、ViT 模型搭建参数 一、Vision Transformer 模型 总体三个模块&am…

第三节:在WORD为应用主窗口下关闭EXCEL的操作(1)

【分享成果&#xff0c;随喜正能量】夏日里的遗憾&#xff0c;一定都会被秋风温柔化解。吃素不难&#xff0c;难于不肯捨贪口腹之心。若不贪口腹&#xff0c;有何吃素之不便乎。虽吃华素&#xff0c;不吃素日&#xff0c;亦须少吃。以一切物类&#xff0c;皆是贪生怕死&#xf…

Java并发编程(四)线程同步 中 [AQS/Lock]

概述 Java中可以通过加锁&#xff0c;来保证多个线程访问某一个公共资源时&#xff0c;资源的访问安全性。Java提出了两种方式来加锁 第一种是我们上文提到的通过关键字synchronized加锁&#xff0c;synchronized底层托管给JVM执行的&#xff0c;并且在java 1.6 以后做了很多…

stringstream常见用法

目录 构造函数 输出字符串 修改和清空字符串 利用 stringstream 去除字符串空格 利用stringstream去除指定的字符 stringstream 数据库 <sstream> 构造函数 创建一个对象&#xff0c;向对象输入字符串&#xff1a; string x"abcdefg";stringstream s…

运维监控学习笔记1

1、监控对象&#xff1a; 1、监控对象的理解&#xff1b;CPU是怎么工作的&#xff1b; 2、监控对象的指标&#xff1a;CPU使用率&#xff1b;上下文切换&#xff1b; 3、确定性能基准线&#xff1a;CPU负载多少才算高&#xff1b; 2、监控范围&#xff1a; 1、硬件监控&#x…

选择最适合自己的笔记本

选择最适合自己的笔记本电脑 一、了解笔记本品牌一线品牌准一线品牌二线品牌三线品牌 二、笔记本入手渠道笔记本入手渠道 三、根据需求选择机型使用需求1.日常使用2.商务办公、财务3.轻度剪辑、ps4.代码5.创意设计6.游戏 四、笔记本电脑配置如何选1.cpu2.显卡&#xff08;GPU&a…

在x86下运行的Ubuntu系统上部署QEMU用于模拟RISC-V硬件环境

1.配置工作环境 sudo apt install gcc bison flex libncurses-dev ninja-build \pkg-config build-essential zlib1g-dev pkg-config libglib2.0-dev \binutils-dev libboost-all-dev autoconf libtool libssl-dev \libpixman-1-dev python-capstone virtualenv software-prop…

第三章 图论 No.10无向图的双连通分量

文章目录 定义Tarjan求e-DCCTarjan求v-DCC395. 冗余路径1183. 电力396. 矿场搭建 定义 无向图有两种双连通分量 边双连通分量&#xff0c;e-DCC点双连通分量&#xff0c;v-DCC 桥&#xff1a;删除这条无向边后&#xff0c;图变得不连通&#xff0c;这条边被称为桥 边双连通分…

(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码

参考文献&#xff1a; [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107. 这两篇文章不管是从模型、…

【JavaScript】new 的原理以及实现

网道 - new 命令的原理 使用new命令时&#xff0c;它后面的函数依次执行下面的步骤。 创建一个空对象&#xff0c;作为将要返回的对象实例。将这个空对象的原型&#xff0c;指向构造函数的prototype属性。将这个空对象赋值给函数内部的this关键字。如果构造函数返回了一个对象…

[内网渗透]CFS三层靶机渗透

文章目录 [内网渗透]CFS三层靶机渗透网络拓扑图靶机搭建Target10x01.nmap主机探活0x02.端口扫描0x03.ThinkPHP5 RCE漏洞拿shell0x04.上传msf后门(reverse_tcp)反向连接拿主机权限 内网渗透Target2&#xff08;1&#xff09;路由信息探测&#xff08;2&#xff09;msf代理配置&a…

Air001基于Keil环境点灯和调试输出工程配置

Air001基于Keil环境点灯和调试输出工程配置 &#x1f4cc;官方环境搭建教程介绍&#xff1a;https://wiki.luatos.com/chips/air001/Air001-MDK.html&#x1f516;本人使用的是基于HAL库环境搭建的。&#x1f4cd;SDK开发资源链接&#xff1a;https://gitee.com/openLuat/luato…