【智能算法】成吉思汗鲨鱼优化算法(GKSO)原理及实现

在这里插入图片描述

目录

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


1.背景

2023年,G Hu等人受到成吉思汗鲨鱼(GKS)捕食和生存行为启发,提出了成吉思汗鲨鱼优化算法(Genghis Khan Shark Optimizer, GKSO)。

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

2.算法原理

2.1算法思想

GKSO的灵感来自于成吉思汗鲨鱼的捕食和生存行为,通过模拟成吉思汗鲨鱼的四种不同活动,包括狩猎、移动、觅食和自我保护机制

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

2.2算法过程

狩猎阶段

GKS向各个方向巡逻,直到种群找到目标所在的最优位置,一旦它们的猎物成为目标,它们会等待最佳时机对目标发动全面攻击。通过搜索空间的上界和下界来计算一个新的随机位置作为“最优狩猎位置”,位置更新:
X i j ( t + 1 ) = X i j ( t ) + l b j + r 1 ∗ ( u b j − l b j ) i t (1) X_i^j(t+1)=X_i^j(t)+\frac{lb_j+r_1*(ub_j-lb_j)}{it}\tag{1} Xij(t+1)=Xij(t)+itlbj+r1(ubjlbj)(1)
其中,it代表当前迭代次数。

向最佳捕猎位置移动

为了捕获更高质量的猎物,GKS经常依靠其敏感的嗅觉不断接近最佳猎物:
X ^ i j ( t + 1 ) = s ∗ ( X b e s t j ( t ) − X i j ( t ) ) (2) \widehat{\boldsymbol{X}}_i^j(t+1)=\mathrm{s}*\big(\boldsymbol{X}_{\mathrm{best}}^j(t)-\boldsymbol{X}_i^j(t)\big)\tag{2} X ij(t+1)=s(Xbestj(t)Xij(t))(2)
其中,s表示GKS向最佳猎物移动时的嗅觉强度,这取决于猎物发出的气味浓度:
s = m I r (3) \mathrm{s}=mI^r\tag{3} s=mIr(3)
其中,r是区间[0,1]随机数,它反映了搜索代理对猎物气味的吸收。对于两种极端情况:当r = 0时,这意味着猎物发出的气味对GKS来说是完全无法察觉的,搜索模式将重新进入探索阶段。当r = 1时,该气味被GKS完全吸收,因此算法很容易达到最优值(可能陷入局部最优)。

GKSO保留前两个最优个体位置,并在这两个最优位置的基础上更新其他个体的位置,使它们尽可能接近最优位置(精英领导
X i j ( t + 1 ) = X ^ i j ( t + 1 ) + X i − 1 j ( t ) 2 (4) X_{i}^{j}(t+1)=\frac{\hat{X}_{i}^{j}(t+1)+X_{i-1}^{j}(t)}{2}\tag{4} Xij(t+1)=2X^ij(t+1)+Xi1j(t)(4)

抛物线觅食

GKS以猎物为参照点,迅速游向猎物整个过程是抛物线状:
X i j ( t + 1 ) = X b e s t j ( t ) + r 2 ∗ ( X b e s t j ( t ) − X i j ( t ) ) + λ ∗ p 2 ∗ ( X b e s t j ( t ) − X i j ( t ) ) (5) X_{\mathrm{i}}^{j}(t+1)=X_{\mathrm{best}}^{j}(t)+r_{2}*(X_{\mathrm{best}}^{j}(t)-X_{\mathrm{i}}^{j}(t))+\lambda*p^{2}*(X_{\mathrm{best}}^{j}(t)-X_{\mathrm{i}}^{j}(t))\tag{5} Xij(t+1)=Xbestj(t)+r2(Xbestj(t)Xij(t))+λp2(Xbestj(t)Xij(t))(5)
其中,r2是[0,1]随机数。λ是1或- 1的随机数,p是控制GKS活动期间移动步长的参数,p是一个带扰动的非线性收敛因子。当p值较大时,GKSO主要侧重于全局探索;随着p值的减小,局部开发将逐渐占主导地位:
p = 2 ∗ { 1 − ( t T ) 1 4 + ∣ ω ( t + 1 ) ∣ ∗ [ ( t T ) 1 4 − ( t T ) 3 ] } (6) p=2*\bigg\{1-\bigg(\frac{t}{T}\bigg)^{\frac{1}{4}}+|\omega(t+1)|*\bigg[\bigg(\frac{t}{T}\bigg)^{\frac{1}{4}}-\bigg(\frac{t}{T}\bigg)^3\bigg] \bigg\}\tag{6} p=2{1(Tt)41+ω(t+1)[(Tt)41(Tt)3]}(6)
|ω(t+1)|为t+1时刻的权重系数:
∣ ω ( t + 1 ) ∣ = 1 − 2 ω 4 ( t ) (7) |\omega(t+1)|=1-2\omega^4(t)\tag{7} ω(t+1)=12ω4(t)(7)
在这里插入图片描述

自我保护机制

在觅食过程中,GKS经常会遇到威胁自身安全或与猎物竞争的捕食者。为了摆脱这些天敌,GKS也具有与墨鱼类似的变色行为机制,当GKS受到惊吓时,尾巴和身体颜色变浅,从而吓退捕食者,迅速逃跑:
{ X i j ( t + 1 ) = X i j ( t ) + k 1 ( a 1 X b e s t j ( t ) − a 2 X k j ( t ) ) + k 2 ρ ( a 3 ( X 2 i j ( t ) − X 1 i j ( t ) ) ) if a 1 < 0.5 + a 2 ( X a 1 ( t ) − X a 2 ( t ) ) / 2 , X i j ( t + 1 ) = X b e s t j ( t ) + k 1 ( a 1 X b e s t j ( t ) − a 2 X k j ( t ) ) + k 2 ρ ( a 3 ( X 2 i j ( t ) − X 1 i j ( t ) ) ) otherwise + a 2 ( X a 1 ( t ) − X a 2 ( t ) ) / 2 , (8) \left.\left\{\begin{array}{l}\boldsymbol{X}_i^j(t+1)=\boldsymbol{X}_i^j(t)+k_1(a_1\boldsymbol{X}_{best}^j(t)-a_2\boldsymbol{X}_k^j(t))+k_2\rho(a_3(\boldsymbol{X}2_i^j(t)-\boldsymbol{X}1_i^j(t)))\text{if}a_1<0.5\\+a_2(\boldsymbol{X}_{a1}(t)-\boldsymbol{X}_{a2}(t))/2,\\\boldsymbol{X}_i^j(t+1)=\boldsymbol{X}_{best}^j(t)+k_1(a_1\boldsymbol{X}_{best}^j(t)-a_2\boldsymbol{X}_k^j(t))+k_2\rho(a_3(\boldsymbol{X}2_i^j(t)-\boldsymbol{X}1_i^j(t)))\text{otherwise}\\+a_2(\boldsymbol{X}_{a1}(t)-\boldsymbol{X}_{a2}(t))/2,\end{array}\right.\right.\tag{8} Xij(t+1)=Xij(t)+k1(a1Xbestj(t)a2Xkj(t))+k2ρ(a3(X2ij(t)X1ij(t)))ifa1<0.5+a2(Xa1(t)Xa2(t))/2,Xij(t+1)=Xbestj(t)+k1(a1Xbestj(t)a2Xkj(t))+k2ρ(a3(X2ij(t)X1ij(t)))otherwise+a2(Xa1(t)Xa2(t))/2,(8)
其中k1是介于[- 1,1]之间的均匀分布随机数,k2是均值为0,标准差为1的正态分布随机数。A1, a2, a3为三个随机数:
{ a 1 = l 1 ∗ 2 ∗ r a n d + ( 1 − l 1 ) a 2 = l 1 ∗ r a n d + ( 1 − l 1 ) a 3 = l 1 ∗ r a n d + ( 1 − l 1 ) (9) \left\{\begin{array}{c}a_1={l_1}*2*rand+(1-l_1)\\a_2={l_1}*rand+(1-l_1)\\a_3={l_1}*rand+(1-l_1)\end{array}\right.\tag{9} a1=l12rand+(1l1)a2=l1rand+(1l1)a3=l1rand+(1l1)(9)
β、α和ρ参数表述为:
ρ = α ∗ ( 2 ∗ r a n d − 1 ) , α = ∣ β ∗ s i n ( 3 π 2 + s i n ( 3 π 2 β ) ) ∣ , β = β m i n + ( β m a x − β m i n ) ∗ ( 1 − ( i t T ) 3 ) 2 . (10) \begin{aligned} &\rho=\alpha^{*}(2^{*}rand-1), \\ &\alpha=\left|\beta^{*}\mathrm{sin}({\frac{3\pi}{2}}+\mathrm{sin}({\frac{3\pi}{2}}\beta))\right|, \\ &\beta=\beta_{\mathrm{min}}+(\beta_{\mathrm{max}}-\beta_{\mathrm{min}})^{*}(1-(\frac{it}{T})^{3})^{2}. \end{aligned}\tag{10} ρ=α(2rand1),α= βsin(23π+sin(23πβ)) ,β=βmin+(βmaxβmin)(1(Tit)3)2.(10)
取βmin为0.2,βmax为1.2。在两个t时刻随机生成的解X1(t)和X2j(t):
X 1 i j ( t ) = l b j + r a n d ∗ ( u b j − l b j ) X 2 i j ( t ) = l b j + r a n d ∗ ( u b j − l b j ) (11) X1_{i}^{j}(t)=lb_{j}+rand*\big(ub_{j}-lb_{j}\big)\\X2_{i}^{j}(t)=lb_{j}+rand*\big(ub_{j}-lb_{j}\big)\tag{11} X1ij(t)=lbj+rand(ubjlbj)X2ij(t)=lbj+rand(ubjlbj)(11)
计算解Xk:
X k j ( t ) = l 2 ∗ ( X p j ( t ) − X r j ( t ) ) + X r j ( t ) (12) \boldsymbol{X}_k^j(t)=l_2*\Big(\boldsymbol{X}_p^j(t)-\boldsymbol{X}_r^j(t)\Big)+\boldsymbol{X}_r^j(t)\tag{12} Xkj(t)=l2(Xpj(t)Xrj(t))+Xrj(t)(12)
在这里插入图片描述

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Hu G, Guo Y, Wei G, et al. Genghis Khan shark optimizer: a novel nature-inspired algorithm for engineering optimization[J]. Advanced Engineering Informatics, 2023, 58: 102210.

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

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

相关文章

Vue开发者工具Vue.js devtools Vue开发者工具安装步骤前端开发工具免费附带教程

下载地址&#xff1a; 链接: https://pan.baidu.com/s/1JaGvhS4NoD8lL07n2ScE9A 密码: 9rfs 安装步骤&#xff1a; 以谷歌浏览器为例 第一步&#xff1a;打开Chrome的拓展程序 如图 第二步&#xff1a; 将下载好的拓展程序拖入即可&#xff0c;如下图 第三步&#xff1a;…

现代永磁同步电机控制原理pdf及全套matlab仿真模型

现代永磁同步电机控制原理pdf及matlab仿真模型。全书包含SVPWM, DTC, Lun, smo, EKF, HFI等经典控制算法。将书中10章节涉及到的模型复原搭建模型。 模型获取链接&#xff1a;现代永磁同步电机控制原理pdf及全套matlab仿真模型

TCP-模拟BS架构通信

简介 bs是通过浏览器进行访问的每次访问都会开启一个短期的socket用来访问服务器的资源 响应报文的格式 服务端 bs架构中的b是浏览器&#xff0c;不需要我们书写&#xff0c;我们只需要书写服务端即可 服务端 public class Server {public static void main(String[] args) {S…

【Docker】docker部署lnmp和wordpress网站

环境准备 docker&#xff1a;192.168.67.30 虚拟机&#xff1a;4核4G systemctl stop firewalld systemctl disable firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add…

C++各种排序算法详解及示例源码

1、排序算法 排序算法&#xff08;sorting algorithm&#xff09;用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更高效地查找、分析和处理。 1.1 评价维度 运行效率&#xff1a;我们期望排序算法的时间复杂度尽量低&#xf…

力扣数据库题库学习(4.25日)

1484. 按日期分组销售产品 问题链接 思路与分析 编写解决方案找出每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。我来分析一下&#xff0c;这里的题目要求其实就是统计不同日期下的销售产品数&#xf…

Matlab 使用subplot绘制多个子图,一元拟合

实现效果&#xff1a; clc; clear;filename sri.xlsx; % 确认文件路径data readtable(filename); datavalue data{:,2:end}; datavalue datavalue;fig figure(Position, [0, 0, 1500, 900]); indexString ["(a)","(b)","(c)","(d)&qu…

<计算机网络自顶向下> Internet Protocol(未完成)

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号&#xff08;IPV4 0100, IPV6 0110&#xff09; headlen&#xff1a;head的长度&#xff08;头部长度字段&#xff08;IHL&#xff09;指定了头部的长度&#xff0c;以32位字&#xff08;4字节&#xff09;为单位计算。这…

可替换XC6206P332MR的润石超低功耗LDO RS3221-3.3YF3助力智能门锁设计,精度低至1%

润石科技的RS3221&#xff0c;可满足超低功耗&#xff0c;在智能门锁设计时&#xff0c;兼容替换TOREX的XC6206P332MR&#xff0c;具体请参考图1参数对比&#xff1a; 图1&#xff1a;RS3221-3.3YF3与XC6206P332MR电性能参数对比 通过上表可知&#xff0c; 1、 RS3221-3.3YF3…

家政服务小程序:家政行业的数字化转型

随着大众生活水平的提高&#xff0c;以及老龄化的加速&#xff0c;家政服务已经成为了大众生活中不可或缺的一部分。目前&#xff0c;我国家政服务市场的规模在持续扩大&#xff0c;发展前景一片大好。在日益提升的家政需求下&#xff0c;大众对家政服务的种类也逐渐多样。 为…

【ARMv9 DSU-120 系列 4.1 -- Utility bus 详细介绍 2】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 ARM DSU-120DSU-120 Utiity BusCluster and core PPUPPU寄存器的访问性PPU寄存器的作用系统组件基地址ARM DSU-120 DSU-120 Utiity Bus 在ARMv9架构中,DSU-120(Dynamic Shared Unit 120)是一个关键组件,用于管理核…

炒股自动化:券商官方,散户可用,查询订单状态API如何用?

券商官方的接口&#xff0c;个人账户可申请&#xff0c;入金门槛低&#xff0c;接入文档完善&#xff0c;技术支持好的&#xff0c;经过我们筛选后&#xff0c;只有一家符合 会编程&#xff0c;有基础&#xff0c;只是需要API接口的朋友不用看这些&#xff0c;不会写程序的朋友…

stm32智能小车前进,后退,左转,右转,停止

本文代码使用 HAL 库。 文章目录 前言一、电机模块介绍二、原理图分析三、电机驱动小车运动原理1. **小车前进&#xff0c;后退&#xff0c;停止**2&#xff0c;小车左转&#xff0c;右转3&#xff0c;左自旋&#xff0c;右自旋 四&#xff0c;cubeMX 配置五&#xff0c;代码模…

基础款:Dockerfile 文件

# bash复制代码# 使用 Node.js 16 作为基础镜像 # 指定一个已经存在的镜像作为模版&#xff0c;第一条必须是from FROM node:16# 将当前工作目录设置为/app # WORKDIR /app# 方法一&#xff1a;用dockerfile命令&#xff1a;进行下载打包文件 # 将 package.json 和 package-loc…

机器人系统开发ros2-基础实践02-自定义一个机器人动作aciton服务端和客户端(c++ 实现)

aciton 是 ROS 中异步通信的一种形式。 操作客户端向操作服务器发送目标请求。 动作服务器将目标反馈和结果发送给动作客户端。 先决条件&#xff1a; 将需要上一个 教程创建操作action_tutorials_interfaces中定义的包和接口。Fibonacci.action 步骤1&#xff1a; 1.1 创建…

MySQL recursive 递归

MySQL 从最内的select开始执行&#xff0c;但是同一个select clause可以在查询的结果上继续查询。 SELECT menu_id,parent_id,(SELECT m1.parent_id FROM sys_menu AS m1 WHERE m1.menu_idm.parent_id) FROM sys_menu AS m WHERE m.menu_id 89 方案1.通过recursive递归 使用…

吴恩达2022机器学习专项课程(一) 6.2 逻辑回归第三周课后实验:Lab2逻辑回归

问题预览/关键词 逻辑回归预测分类创建逻辑回归算法Sigmoid函数Sigmoid函数的表示sigmoid输出的结果Numpy计算指数的方法实验python实现sigmoid函数打印输入的z值和sigmoid计算的值可视化z值和sigmoid的值添加更多数据&#xff0c;使用逻辑回归可以正常预测分类![在这里插入图片…

ESP32-S3如何用socket通信

实验目的&#xff1a; 通过 Socket 编程实现 pyWiFi-ESP32-S3 与电脑服务器助手建立连接&#xff0c;相互收 发数据。 首先先来简单了解一下Socket 我们先来看看网络层级模型图&#xff0c;这是构成网络通信的基础&#xff1a; 我们看看 TCP/IP 模型的传输层和应用层&…

SpringBoot + Vue实现Github第三方登录

前言&#xff1a;毕业设计终于好了&#xff0c;希望能有空多写几篇 1. 获取Github账号的Client ID和Client secrets 首先点击这个链接进入Github的OAuth Apps页面&#xff0c;页面展示如下&#xff1a; 之后我们可以创建一个新的apps: 填写资料&#xff1a; 创建之后就可以获…

WhatsApp解封方法和防封技巧分享,内附解封话术!

WhatsApp 已成为外贸人员不可或缺的沟通工具&#xff0c;它不仅加速了全球范围内的客户沟通&#xff0c;还提供了一个方便快捷的社交媒体营销平台。然而&#xff0c;面对WhatsApp账号被封的问题&#xff0c;许多外贸人常常感到束手无策。本文旨在分享有效的WhatsApp解封方法&am…