SCI一区TOP|双曲正弦余弦优化算法(SCHO)原理及实现【免费获取Matlab代码】

目录

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


1.背景

2023年,J Bai受到双曲正弦余弦函数启发,提出了双曲正弦余弦优化算法(Sinh Cosh optimizer, SCHO)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

SCHO灵感来源于Sinh函数和Cosh函数特性,其包括四个步骤:探索和开发阶段、有界搜索策略和切换机制

2.2算法过程

探索阶段

探索阶段和开发阶段平衡基于:
T = f l o o r ( M a x _ i t e r a t i o n c t ) (1) T=floor\left(\frac{Max\_iteration}{ct}\right)\tag{1} T=floor(ctMax_iteration)(1)

在这里插入图片描述
探索位置更新:
X ( i , j ) t + 1 = { X b e s t ( j ) + r 1 × W 1 × X ( i , j ) i , r 2 > 0.5 X b e s t ( j ) − r 1 × W 1 × X ( i , j ) i , r 2 < 0.5 (2) \left.X_{(i,j)}^{t+1}=\left\{\begin{array}{ll}X_{best}^{(j)}+r_1\times W_1\times X_{(i,j)}^i, r_2>0.5\\X_{best}^{(j)}-r_1\times W_1\times X_{(i,j)}^i, r_2<0.5\end{array}\right.\right.\tag{2} X(i,j)t+1={Xbest(j)+r1×W1×X(i,j)i,r2>0.5Xbest(j)r1×W1×X(i,j)i,r2<0.5(2)
W1为第一探索阶段Xt (i,j)的权重系数,控制第一阶段候选解远离自身,逐步向最优解探索:
W 1 = r 3 × a 1 × ( cosh ⁡ r 4 + u × sinh ⁡ r 4 − 1 ) (3) W_1=r_3\times a_1\times(\cosh r_4+u\times\sinh r_4-1)\tag{3} W1=r3×a1×(coshr4+u×sinhr41)(3)
U是控制探索精度的敏感系数,参数a1:
a 1 = 3 × ( − 1.3 × t Max_iteration + m ) (4) a_1=3 \times\left(-1.3\times\frac{t}{\text{Max\_iteration}}+ m\right)\tag{4} a1=3×(1.3×Max_iterationt+m)(4)
在第二阶段的探索中,搜索个体几乎不受最优解的影响,因此它们在当前位置的基础上非定向地探索下一个位置:
X ( i j ) t + 1 = { X ( i , j ) t + ∣ ε × W 2 × X b e s t ( j ) − X ( i , j ) t ∣ , r 5 > 0.5 X ( i , j ) t − ∣ ε × W 2 × X b e s t ( j ) − X ( i , j ) t ∣ r 5 < 0.5 (5) \left.X_{(ij)}^{t+1}=\left\{\begin{array}{ll}X_{(i,j)}^t+\Big|\varepsilon\times W_2\times X_{best}^{(j)}-X_{(i,j)}^t\Big|, r_5>0.5\\X_{(i,j)}^t-\Big|\varepsilon\times W_2\times X_{best}^{(j)}-X_{(i,j)}^t\Big| r_5<0.5\end{array}\right.\right.\tag{5} X(ij)t+1= X(i,j)t+ ε×W2×Xbest(j)X(i,j)t ,r5>0.5X(i,j)t ε×W2×Xbest(j)X(i,j)t r5<0.5(5)
W2是第二阶段探索中X(j)最优的权重系数:
W 2 = r 6 × a 2 (6) W_2=r_6\times a_2\tag{6} W2=r6×a2(6)
a2是单调递减函数:
a 2 = 2 × ( − t M a x _ i t e r a t i o n + n ) (7) a_2=2 \times\left( -\frac{t}{Max\_iteration}+n\right)\tag{7} a2=2×(Max_iterationt+n)(7)

开发阶段

为了充分利用搜索空间,将开发分为两个阶段,并在整个迭代中进行。在第一个开发阶段,对X的附近空间进行开发:
X ( i , j ) t + 1 = { X b e s t ( j ) + r 7 × W 3 × X ( i , j ) t , r 8 > 0.5 X b e s t ( j ) − r 7 × W 3 × X ( i , j ) t , r 8 < 0.5 (8) X_{(i,j)}^{t+1}=\begin{cases} X_{best}^{(j)}+r_{7}\times W_{3}\times X_{(i,j)}^{t}, r_{8}>0.5\\ X_{best}^{(j)}-r_{7}\times W_{3}\times X_{(i,j)}^{t}, r_{8}<0.5\end{cases}\tag{8} X(i,j)t+1={Xbest(j)+r7×W3×X(i,j)t,r8>0.5Xbest(j)r7×W3×X(i,j)t,r8<0.5(8)
W3是第一阶段开发的权重系数,控制候选解从近到远地开发自身周围的搜索空间:
W 3 = r 9 × a 1 × ( cosh ⁡ r 10 + u × sinh ⁡ r 10 ) (9) W_3=r_9\times a_1\times(\cosh r_{10}+u\times\sinh r_{10})\tag{9} W3=r9×a1×(coshr10+u×sinhr10)(9)
在开发的第二阶段,将执行候选解决方案围绕所获得的最优解进行深度开发,并且围绕最优解的开发强度将随着迭代的增加而增加:
X ( i , j ) t + 1 = X ( i , j ) t + r 11 × sinh ⁡ r 12 c o s h r 12 ∣ W 2 × X b e s t ( j ) − X ( i , j ) t ∣ (10) X_{(i,j)}^{t+1}=X_{(i,j)}^{t}+r_{11}\times\frac{\sinh r_{12}}{coshr_{12}}\left|W_{2}\times X_{best}^{(j)}-X_{(i,j)}^{t}\right|\tag{10} X(i,j)t+1=X(i,j)t+r11×coshr12sinhr12 W2×Xbest(j)X(i,j)t (10)
W2控制第二开采阶段的程度。其绝对值在以后的迭代中逐渐增大,开发程度也随之增大。

有界搜索策略

为了充分利用潜在的搜索空间,SCHO在后期采用了一种类似于动物狩猎的策略,称为有界搜索策略。该策略的每一个起始点由下式计算:
B S k + 1 = B S k + f l o o r ( M a x _ i t e r a t i o n − B S k α ) (11) BS_{k+1}=BS_k+floor\Bigg(\frac{Max\_iteration-BS_k}{\alpha}\Bigg)\tag{11} BSk+1=BSk+floor(αMax_iterationBSk)(11)
α为控制潜力空间深部勘探开发精度的敏感系数,BS1表述为:
B S 1 = f l o o r ( M a x _ i t e r a t i o n β ) (12) BS_1=floor\left(\frac{Max\_iteration}{\beta}\right)\tag{12} BS1=floor(βMax_iteration)(12)
其中β控制启动有界搜索策略的值,并设置为1.55。当SCHO每次都使用有界搜索策略时,上下界设置为:
u b k = X b e s t ( j ) + ( 1 − t M a x − i t e r a t i o n ) × ∣ X b e s t ( j ) − X s e c o n d ( j ) ∣ l b k = X b e s t ( j ) − ( 1 − t M a x _ i t e r a t i o n ) × ∣ X b e s t ( j ) − X s e c o n d ( j ) ∣ (13) ub_k=X_{best}^{(j)}+\left(1-\frac{t}{Max_-iteration}\right)\times\left|X_{best}^{(j)}-X_{second}^{(j)}\right|\\ lb_k=X_{best}^{(j)}-\left(1-\frac{t}{Max\_iteration}\right)\times\left|X_{best}^{(j)}-X_{second}^{(j)}\right|\tag{13} ubk=Xbest(j)+(1Maxiterationt)× Xbest(j)Xsecond(j) lbk=Xbest(j)(1Max_iterationt)× Xbest(j)Xsecond(j) (13)

切换机制

在SCHO中,提出了一种带有Sinh和Cosh的转换机制,实现了勘探和开发之间的转换:
A = ( p − q × ( t M a x − i t e r a t i o n ) ( cosh ⁡ t M a x − i t r a t i o n sinh ⁡ t M a x − i t e r a t i o n ) ) × r 13 (14) A=\left(p-q\times\left(\frac{t}{Max_-iteration}\right)^{\left(\frac{\cosh\frac{t}{Max-itration}}{\sinh\frac{t}{Max-iteration}}\right)}\right)\times r_{13}\tag{14} A= pq×(Maxiterationt)(sinhMaxiterationtcoshMaxitrationt) ×r13(14)

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Bai J, Li Y, Zheng M, et al. A sinh cosh optimizer[J]. Knowledge-Based Systems, 2023, 282: 111081.

5.代码获取

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

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

相关文章

分布式锁(Redission)

分布式锁&#xff1a; 使用场景&#xff1a; 通常对于一些使用率高的服务&#xff0c;我们会进行多次部署&#xff0c;可能会部署在不同的服务器上&#xff0c;但是他们获取和操作的数据仍然是同一份。为了保证服务的强一致性&#xff0c;我们需要对线程进行加锁&#xff0c;…

ROS中的TF是什么

在ROS (Robot Operating System) 中&#xff0c;tf::TransformBroadcaster 是一个用于发布坐标变换信息的重要类&#xff0c;尤其在处理机器人定位和导航数据时非常常见。tf::TransformBroadcaster 对象允许你广播从一个坐标系到另一个坐标系的变换关系&#xff0c;这对于多传感…

Vue38 安装脚手架 vue-cli ,并使用脚手架创建项目

安装脚手架 vue-cli &#xff0c;并使用脚手架创建项目 第一步 安装脚手架 npm config set registry https:\\[registry.npmmirror.com // 切换淘宝镜像 npm install -g vue/cli第二步 切换到创建项目的目录&#xff0c;创建项目 cd XXX vue create XXX第三步 启动项目 npm…

【Linux】基础IO_3

文章目录 六、基础I/O3. 软硬链接4. 动静态库 未完待续 六、基础I/O 3. 软硬链接 使用 ln 就可以创建链接&#xff0c;使用 ln -s 可以创建软链接&#xff0c;直接使用 ln 则是硬链接。 我们对硬链接进行测试一下&#xff1a; 根据测试&#xff0c;我们知道了 硬链接就像一…

WPF文本绑定显示格式StringFormat设置-数值类型处理

绑定显示格式设置 在Textblock等文本控件中&#xff0c;我们经常要绑定一些数据类型&#xff0c;但是我们希望显示的时候能够按照我们想要的格式去显示&#xff0c;比如增加文本前缀&#xff0c;后面加单位&#xff0c;显示百分号等等&#xff0c;这种就需要对绑定格式进行处理…

天马学航——智慧教务系统(移动端)开发日志四

天马学航——智慧教务系统(移动端)开发日志四 日志摘要&#xff1a;优化了教师端界面的UI&#xff0c;更新了教师端添加课程&#xff0c;提交成绩等功能&#xff0c;修复了一些已知的BUG 1、教师添加课程设计 教师在此界面添加课程&#xff0c;并将数据提交后端进行审核 界…

Dell戴尔灵越Inspiron 16 Plus 7640/7630笔记本电脑原装Windows11下载,恢复出厂开箱状态预装OEM系统

灵越16P-7630系统包: 链接&#xff1a;https://pan.baidu.com/s/1Rve5_PF1VO8kAKnAQwP22g?pwdjyqq 提取码&#xff1a;jyqq 灵越16P-7640系统包: 链接&#xff1a;https://pan.baidu.com/s/1B8LeIEKM8IF1xbpMVjy3qg?pwdy9qj 提取码&#xff1a;y9qj 戴尔原装WIN11系…

python flask配置邮箱发送功能,使用flask_mail模块

&#x1f308;所属专栏&#xff1a;【Flask】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点…

Mamba: Linear-Time Sequence Modeling with Selective State Spaces论文笔记

文章目录 Mamba: Linear-Time Sequence Modeling with Selective State Spaces摘要引言 相关工作(SSMs)离散化计算线性时间不变性(LTI)结构和尺寸一般状态空间模型SSMs架构S4(补充)离散数据的连续化: 基于零阶保持技术做连续化并采样循环结构表示: 方便快速推理卷积结构表示: 方…

Vue80-全局路由守卫:前置、后置

一、路由守卫的定义 二、需求 在第三步&#xff0c;做校验&#xff01; 三、代码实现 3-1、前置路由守卫 注意&#xff0c;此时就不能将router一开始就暴露出去了&#xff01; to和from是路由组件的信息。 写法一&#xff1a; 写法二&#xff1a; 缺点&#xff1a;若是路由…

算法04 模拟算法之一维数组相关内容详解【C++实现】

大家好&#xff0c;我是bigbigli&#xff0c;模拟算法我们将分为几个章节来讲&#xff0c;今天我们只看一维数组相关的题目 目录 模拟的概念 训练&#xff1a;开关灯 解析 参考代码 训练&#xff1a;数组变化 解析 参考代码 训练&#xff1a;折叠游戏 解析 参考代码 …

动态ARP

定义 动态ARP表项由ARP协议通过ARP报文自动生成和维护&#xff0c;可以被老化&#xff0c;可以被新的ARP报文更新&#xff0c;可以被静态ARP表项覆盖。 动态ARP适用于拓扑结构复杂、通信实时性要求高的网络。 ARP地址解析过程 动态ARP通过广播ARP请求和单播ARP应答这两个过…

33 - 连续出现的数字(高频 SQL 50 题基础版)

33 - 连续出现的数字 -- 开窗函数lead(col,n) 统计窗口内往下第n行值 -- over(partition by xxx) 按照xxx所有行进行分组 -- over(partition by xxx order by aaa) 按照xxx分组&#xff0c;按照aaa排序select distinct num as ConsecutiveNums from(select num,# 从当前记录获…

运行vue3项目相关报错

1. VSCode打开TSVue3项目很多地方报错 报错内容 几乎所有文件都会出现未知飘红 error Delete CR prettier/prettier报错原因 插件冲突&#xff0c;Windows系统回车换行符与MAC不一致&#xff08;所以这个问题Windows系统才会出现&#xff09; 解决 需要安装Vue - Official…

永磁同步电机FOC调试记录(一)

永磁同步电机FOC调试记录&#xff08;一&#xff09; 前言架构硬件架构软件架构 调试过程元器件选型开环控制编码器调试速度采样电流检测中断优先级的确定电流环部分烧坏IPM速度-电流环位置-电流环 结语 前言 这是我个人从零开始尝试永磁同步电机&#xff08;PMSM&#xff09;…

【LeetCode刷题】232.用栈实现队列

目录 题目链接 图解思路 整体结构 实现过程 入队列 出队列 实现代码 MyQueue.h MyQueue.c stack.h stack.c test.c 题目链接 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 图解思路 整体结构 实现过程 入队列 插入数据时&#xff0c;插入到ist。…

尚品汇-(四)

&#xff08;1&#xff09;商品的基本知识 1.1基本信息—分类 一般情况可以分为两级或者三级。咱们的项目一共分为三级&#xff0c;即一级分类、二级分类、三级分类。 比如&#xff1a;家用电器是一级分类&#xff0c;电视是二级分类&#xff0c;那么超薄电视就是三级分类。…

《计算机英语》 Unit 5 Networking 网络

Section A Networking 网络 The need to share information and resources among different computers has led to linked computer systems, called networks, in which computers are connected so that data can be transferred from machine to machine. 不同计算机之间共享…

路由器基础配置以及静态路由配置

1、搭建网络 搭建网络拓扑、分配IP地址、划分网段、连接端口 2、配置路由器 路由器基础配置 //进入全局配置模式 Router#enable Router#conf t Enter configuration commands, one per line. End with CNTL/Z.//配置高速同步串口serial2/0 Router(config)#int ser2/0 Route…

Linux-Https协议

文章目录 前言一、Https协议二、常见的加密方式对称加密非对称加密数据摘要&&数据指纹中间人攻击 三、Https的加密历程方案1-只使用对称加密方案2-只使用非对称加密方案3-双方都使用非对称加密方案4-非对称加密对称加密 四、CA证书什么是CA证书CA证书的合法性如何生成.…