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

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

文章目录

  • 智能优化算法:猎豹优化算法
    • 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.mzph.cn/news/33463.shtml

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

相关文章

ChatGpt提示词大全

行为 提示词 Linux终端 我希望你能充当一个linux终端。我将输入命令,你会回复终端应该显示什么。我想让你只回复在一个唯一的代码块内的终端输出,而没有别的。不要写一些解释。不要键入命令,除非我指示你这样做。当我需要用英语告诉你一些东西时,我会把文本放在大括号内{就…

Android之消除APP图标的白色边框

有问题的效果: 解决方案: 第一步:app右键—>new—>Image Asset 第二步:上传Logo图标,选择每种分辨率,预览看效果,选择Resize,可以微调 第三步:点击 Next&#xff…

OptaPlanner笔记2

1.5.3 使用maven 修改pom.xml 导入optaplanner-bom以避免为每一个依赖项重复添加版本号 <project>...<dependencyManagement><dependencies><dependency><groupId>org.optaplanner</groupId><artifactId>optaplanner-bom</art…

【Tomcat】tomcat的多实例和动静分离

多实例&#xff1a; 在一台服务器上有多台Tomcat&#xff1b;就算是多实例 安装telnet服务&#xff0c;可以用来测试端口通信是否正常 yum -y install telnettelnet 192.168.220.112 80 tomcat的日志文件 cd /usr/local/tomcat/logsvim catalina.out Tomcat多实例部署&…

一台阿里云服务器怎么部署多个网站?以CentOS系统为例

本文阿里云百科介绍如何在CentOS 7系统的ECS实例上使用Nginx搭建多个Web站点。本教程适用于熟悉Linux操作系统&#xff0c;希望合理利用资源、统一管理站点以提高运维效率的用户。比如&#xff0c;您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂…

页面的滚动及scrollIntoView的穿透效果和解决

朋友今天遇到一个奇怪的问题&#xff0c;我觉得很有意思就记录一下。现象是这样的&#xff0c;页面有一个按钮&#xff0c;点击按钮以后会请求一个接口拿到一个iframe的地址然后创建一个iframe并渲染到页面上&#xff0c;iframe的页面加载完毕后会滑动到对应的某一个元素的位置…

Elastic Stack 8.9:更快的跨集群搜索和指标聚合

作者&#xff1a;Tyler Perkins, Gilad Gal, Teresa Soler, Shani Sagiv, Bernhard Suhm, George Kobar Elastic Stack 8.9 在多个方面实现了显着的性能改进&#xff1a;Kibana 中更快的跨集群搜索、Elasticsearch 更快的聚合&#xff0c;以及更快、更相关的向量搜索&#xff0…

Android apktool反编译工具

使用下面的命令反编译apk&#xff1a; java -jar apktool_2.7.0.jar d test.apk -o testDir 如果不涉及资源文件的修改&#xff0c;所以加上-r参数不会反编译资源文件 java -jar apktool_2.7.0.jar -r d test.apk -o testDir 修改完成后使用下面的命令回编译&#xff1a; j…

Linux下快速创建大文件的4种方法总结

1、使用 dd 命令创建大文件 dd 命令用于复制和转换文件&#xff0c;它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘&#xff0c;文件产生的速度取决于硬盘的读写速度&#xff0c;根据文件的大小&#xff0c;该命令将需要一些时间才能完成。 假设我们要创建一个名…

【云原生】kubernetes在Pod中init容器的作用和使用

目录 Pod 中 init 容器 1 init 容器特点 2 使用 init 容器 Pod 中 init 容器 Init 容器是一种特殊容器&#xff0c;在Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。 1 init 容器特点 init 容器与普通的容器非常像&#xf…

自动化测试:你根本不懂自动化测试的快乐

接触了不少同行&#xff0c;由于他们之前一直做手工测试&#xff0c;现在很迫切希望做自动化测试&#xff0c;其中不乏工作5年以上的人。 本人从事软件自动化测试已经近6年&#xff0c;从server端到web端&#xff0c;从API到mobile&#xff0c;切身体会到自动化带来的好处与痛楚…

CEC2013(MATLAB):遗传算法(Genetic Algorithm,GA)求解CEC2013的28个函数

一、遗传算法GA 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;起源于对生物系统所进行的计算机模拟研究&#xff0c;是一种随机全局搜索优化方法&#xff0c;它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象&#xff0c;从任…

机动车号牌正则表达式(兼容新能源车牌)

说明&#xff1a;“|”前面面是绿牌车&#xff08;8位&#xff09;规则&#xff0c;“|”后面是蓝牌车&#xff08;7位&#xff09;规则。 ([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]A-Z)|(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵…

前端笔试题1

HTML/CSS 题1&#xff1a; 1&#xff0e;使用CSS 让该节点不可见&#xff0c;方法越多越好。 <div class"hidden">Hi</div> 使用CSS 让节点不可见的方法有以下几种&#xff1a; 把 visibility 属性设置为 hidden&#xff0c;这样元素框不会被绘制&…

CTFSHOW php命令执行

目录 web29 过滤flag web30 过滤system php web31 过滤 cat|sort|shell|\. 这里有一个新姿势 可以学习一下 web32 过滤 &#xff1b; . web33 web34 web35 web36 web37 data伪协议 web38 短开表达式 web39 web40 __FILE__命令的扩展 web41 web42 重定向…

SpringBoot自定义拦截器interceptor使用详解

Spring Boot拦截器Intercepter详解 Intercepter是由Spring提供的Intercepter拦截器&#xff0c;主要应用在日志记录、权限校验等安全管理方便。 使用过程 1.创建自定义拦截器&#xff0c;实现HandlerInterceptor接口,并按照要求重写指定方法 HandlerInterceptor接口源码&am…

[Realtek] WPA_SUPPLICANT + WPA_CLI使用指南

开启wpa_supplicant wpa_supplicant –Dnl80211 -iwlan0 -c ./wpa.conf –B 或者 wpa_supplicant -Dwext -iwlan0 -c ./wpa.conf -B 扫描AP wpa_cli -p/var/run/wpa_supplicant scan 查看AP扫描结果 wpa_cli -p/var/run/wpa_supplicant scan_results 连接到热点 OPEN…

[深度学习入门]PyTorch深度学习[Numpy基础](上)

目录 一、前言二、Numpy概述三、生成Numpy数组3.1 从已有数据中创建数组3.2 利用random模块生成数组3.3 创建特定形状的多维数组3.4 利用arange和linspace函数生成数组 四、获取元素五、Numpy的算术运算5.1 对应元素相乘5.2 点积运算 六、后记 本文的目标受众&#xff1a; 对机…

C++进阶 智能指针

本篇博客简介&#xff1a;介绍C中的智能指针 智能指针 为什么会存在智能指针内存泄露内存泄漏定义内存泄漏的危害如何检测内存泄漏如何避免内存泄漏 智能指针的使用及其原理RAII设计一个智能指针C官方的智能指针 定制删除器智能指针总结 为什么会存在智能指针 我们首先来看下面…

Spring5 AOP 默认使用 JDK

这是博主在使用dubbo实现远程过程调用的时候遇到的问题&#xff1a; 我们如果在服务提供者类上加入Transactional事务控制注解后&#xff0c;服务就发布不成功了。原因是事务控制的底层原理是为服务提供者类创建代理对象&#xff0c;而默认情况下Spring是基于JDK动态代理方式创…