【智能算法】金枪鱼群优化算法(TSO)原理及实现

news2024/10/7 6:49:59

在这里插入图片描述

目录

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


1.背景

2021年,Xie等人受到自然界中金枪鱼狩猎行为启发,提出了金枪鱼优化算法(Tuna swarm optimization,TSO)。

2.算法原理

2.1算法思想

TSO模拟了金枪鱼觅食行为,主要分为螺旋式觅食和抛物线觅食两种方式。

2.2算法过程

螺旋式觅食

当目标难以锁定时,金枪鱼就会以密集的螺旋式阵型进行追捕。在追捕猎物的同时,金枪鱼群之间还会交换信息,实现相邻个体之间的信息共享。位置更新:
X i t + 1 = { c 1 ( X b e s t t + β ∣ X b e s t t − X i t ∣ ) + c 2 X i t , i = 1 c 1 ( X b e s t t + β ∣ X b e s t t − X i t ∣ ) + c 2 X i − 1 t , i = 2 , 3 , ⋯   , N (1) X_i^{t+1}=\begin{cases}\quad c_1\left(X_\mathrm{best}^t+\beta\left|X_\mathrm{best}^t-X_i^t\right|\right)+c_2X_i^t,\quad i=1\\c_1\left(X_\mathrm{best}^t+\beta\left|X_\mathrm{best}^t-X_i^t\right|\right)+c_2X_{i-1}^t,\quad i=2,3,\cdots,N\end{cases}\tag{1} Xit+1={c1(Xbestt+βXbesttXit)+c2Xit,i=1c1(Xbestt+βXbesttXit)+c2Xi1t,i=2,3,,N(1)
c1,c2为权重系数,表述为:
c 1 = a + ( 1 − a ) t t m a x c 2 = ( 1 − a ) − ( 1 − a ) t t m a x β = e b l cos ⁡ ( 2 π b ) l = e 3 cos ⁡ ( ( ( t max ⁡ + 1 / t ) − 1 ) π ) (2) c_{1}=a+(1-a)\frac{t}{t_{\mathrm{max}}}\\ c_{2}=(1-a)-(1-a)\frac{t}{t_{\mathrm{max}}}\\ \beta=\mathrm{e}^{bl}\cos(2\pi b)\\ l=\mathrm{e}^{3\cos(((t_{\max}+1/t)-1)\pi)}\tag{2} c1=a+(1a)tmaxtc2=(1a)(1a)tmaxtβ=eblcos(2πb)l=e3cos(((tmax+1/t)1)π)(2)

当最优个体无法找到食物时,在搜索空间中随机生成一个坐标:
X i t + 1 = { c 1 ( X r a n d t + β ∣ X r a n d t − X i t ∣ ) + c 2 X i t , i = 1 c 1 ( X r a n d t + β ∣ X r a n d t − X i t ∣ ) + c 2 X i − 1 t , i = 2 , 3 , ⋯   , N (3) X_i^{t+1}=\begin{cases}c_1\left(X_{\mathrm{rand}}^t+\beta\left|X_{\mathrm{rand}}^t-X_i^t\right|\right)+c_2X_i^t,i=1\\c_1\left(X_{\mathrm{rand}}^t+\beta\left|X_{\mathrm{rand}}^t-X_i^t\right|\right)+c_2X_{i-1}^t,i=2,3,\cdots,N\end{cases}\tag{3} Xit+1={c1(Xrandt+βXrandtXit)+c2Xit,i=1c1(Xrandt+βXrandtXit)+c2Xi1t,i=2,3,,N(3)

抛物线型觅食:

金枪鱼两种觅食方法交替使用,以提高金枪鱼捕获食物的概率假,设这两种方法随机选择概率为50%:
X i t + 1 = { X b e s t t + r a n d ( X b e s t t − X i t ) + T F ⋅ p 2 ( X b e s t t − X i t ) , i f r a n d < 0.5 T F ⋅ p 2 X i t , i f r a n d ⩾ 0.5 , (4) X_i^{t+1}=\begin{cases}X_\mathrm{best}^t+rand\left(X_\mathrm{best}^t-X_i^t\right)+TF\cdot p^2\left(X_\mathrm{best}^t-X_i^t\right),\quad ifrand<0.5\\TF\cdot p^2X_i^t,\quad if rand\geqslant0.5\end{cases},\tag{4} Xit+1={Xbestt+rand(XbesttXit)+TFp2(XbesttXit),ifrand<0.5TFp2Xit,ifrand0.5,(4)
参数p表述为:
p = ( 1 − t t max ⁡ ) ( t / t max ⁡ ) (5) p=(1-\frac{t}{t_{\max}})^{(t/t_{\max})}\tag{5} p=(1tmaxt)(t/tmax)(5)

流程图

在这里插入图片描述

伪代码
在这里插入图片描述

3.代码展示

在这里插入图片描述

4.参考文献

[1] Xie L, Han T, Zhou H, et al. Tuna swarm optimization: a novel swarm-based metaheuristic algorithm for global optimization[J]. Computational intelligence and Neuroscience, 2021, 2021: 1-22.

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

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

相关文章

Rust语言中Regex正则表达式,匹配和查找替换等

官方仓库&#xff1a;https://crates.io/crates/regex 文档地址&#xff1a;regex - Rust github仓库地址&#xff1a;GitHub - rust-lang/regex: An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear tim…

LCD1602显示屏

LCD1602显示 概述 LCD1602&#xff08;Liquid Crystal Display&#xff09;是一种工业字符型液晶&#xff0c;能够同时显示 1602 即 32 字符(16列两行) 引脚说明 //电源 VSS -- GND VDD -- 5V //对比度 VO -- GND //控制线 RS -- P1.0 RW -- P1.1 E -- P1.4 //背光灯 A -- 5…

Python快速入门系列-8(Python数据分析与可视化)

第八章:Python数据分析与可视化 8.1 数据处理与清洗8.1.1 数据加载与查看8.1.2 数据清洗与处理8.1.3 数据转换与整理8.2 数据可视化工具介绍8.2.1 Matplotlib8.2.2 Seaborn8.2.3 Plotly8.3 数据挖掘与机器学习简介8.3.1 Scikit-learn8.3.2 TensorFlow总结在本章中,我们将探讨…

在Java中对SQL进行常规操作的通用方法

SQL通用方法 一、常规方法增删改查二、具体优化步骤1.准备工作2.getcon()方法&#xff0c;获取数据库连接对象3.closeAll()方法&#xff0c;关闭所有资源4.通用的增删改方法5.通用的查询方法6.动态查询语句 总结 一、常规方法增删改查 在常规方法中&#xff0c;我们在Java中对…

rocketmq的运维

1. admintool创建topic的时候 -o 的用法含义 https://rocketmq.apache.org/zh/docs/4.x/producer/03message2/ 有关orderMessageEnable和returnOrderTopicConfigToBroker的设置可以参考 https://blog.csdn.net/sdaujsj1/article/details/115741572 -c configFile通过-c命令指…

Sy6 编辑器vi的应用(+shell脚本3例子)

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

MYSQL数据库:告别慢查询,优化性能大揭秘

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 MYSQL数据库&#xff1a;告别慢查询&#xff0c;优化性能大揭秘 文章目录 一、揭秘…

「每日跟读」句型公式 第2篇

「每日跟读」句型公式 第2篇 1. I’m thinking about____ 我在考虑____ I’m thinking about my future career (我正在思考我未来的职业) I’m thinking about our marriage (我在考虑我们的婚姻) I’m thinking about taking a vacation (我在考虑度一个假) I’m think…

书生·浦语大模型InternLM-Chat-1.8B 智能对话 Demo 第二期

文章目录 InternLM-Chat-1.8B 智能对话 Demo环境准备下载模型运行 InternLM-Chat-1.8B web 运行八戒 demo下载模型执行Demo InternLM-Chat-1.8B 智能对话 Demo 环境准备 在InternStudio平台中选择 10% A100(1/4) 的配置&#xff08;平台资源有限&#xff09;&#xff0c;如下图…

【微服务】——Nacos注册中心

这里写自定义目录标题 1.认识和安装Nacos2.服务注册到nacos1&#xff09;引入依赖2&#xff09;配置nacos地址3&#xff09;重启 3.服务分级存储模型3.1.给user-service配置集群3.2.同集群优先的负载均衡 4.权重配置5.环境隔离5.1.创建namespace5.2.给微服务配置namespace 6.Na…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(7)

PS从入门到精通视频各类教程整理全集&#xff0c;包含素材、作业等 最新PS以及插件合集&#xff0c;可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制&#xff0c;今天先分享到这里&#xff0c;后续持续更新 PS敬伟01——90集等文件 https://www.alipan.com/s…

Typecho自媒体博客Spimes主题 X7.2

主题介绍 spimes主题专为博客、自媒体、资讯类的网站设计开发&#xff0c;自适应兼容手机、平板设备。一款简约新闻自媒体类的 typecho 主题&#xff0c;设计上简约、干净、精致、响应式&#xff0c;后台设置更是强大而且实用的新闻自媒体类主题。 已经更新到7.2&#xff0c;删…

优于五大先进模型,浙江大学杜震洪团队提出 GNNWLR 模型:提升成矿预测准确性

卡塔尔世界杯自 2010 年荣膺举办权&#xff0c;直至 2022 年辉煌成功举办&#xff0c;累计投入资金高达约 2,290 亿美元。相较之下&#xff0c;此前七届世界杯的总花费仅约 400 多亿美元。这场体育盛事展现出奢华无度的风采&#xff0c;归根结底源于卡塔尔这个国度的深厚底蕴。…

官宣!一文掌握2024百度CreateAI开发者大会最新议程

4月16日上午9:00&#xff0c;以“创造未来”为主题的2024百度Create AI开发者大会将在深圳国际会展中心&#xff08;宝安&#xff09;开幕。此次大会将是近十年来&#xff0c;粤港澳大湾区规格最高的AI大会&#xff0c;将聚焦炙手可热的AI话题&#xff0c;在大会主论坛、分论坛…

回溯算法|46.全排列

力扣题目链接 class Solution { public:vector<vector<int>> result;vector<int> path;void backtracking (vector<int>& nums, vector<bool>& used) {// 此时说明找到了一组if (path.size() nums.size()) {result.push_back(path);re…

阿里云数据库服务器价格表查询_一张表精准报价

阿里云数据库服务器价格表&#xff0c;优惠99元一年起&#xff0c;ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘&#xff0c;优惠价格99元一年&#xff1b;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年&#xff0c;云数据库PostgreSQL、SQL Serve…

9.动态规划——4.最长公共子序列(动态规划类的算法题该如何解决?)

例题——最长公共子序列(一) 分析 设最长公共子序列 d p [ i ] [ j ] dp[i][j] dp[i][j]是 S 1 S_1 S1​的前 i i i个元素&#xff0c;是 S 2 S_2 S2​的前 j j j个元素&#xff0c;那么有&#xff1a; 若 S 1 [ i − 1 ] S 2 [ i − 1 ] S_1[i-1]S_2[i-1] S1​[i−1]S2​[…

基于深度学习的吸烟行为检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于深度学习的吸烟行为检测系统&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的交互式…

某音a_bogus 流程vmp分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 仅研究。网站链接自己去找。 前言 这里a_bogus 又是个vmp。 还是个多层嵌套…

小红数组操作(结构体模拟链表详细解析)(双向链表)c/c++

题目描述: 小红拿到了一个数组&#xff0c;初始数组为空&#xff0c;她希望你实现以下两种操作&#xff1a; 1. 输入x,y&#xff0c;将x插入在元素y的右边。保证此时数组中没有元素等于x&#xff0c;且数组中存在一个y。特殊的&#xff0c;如果将x插入在数组的最左边&#xff0…