2024年10月中科院一区SCI-雪橇犬优化算法Sled Dog Optimizer -附Matlab免费代码

news/2025/2/27 8:04:47

引言

本期介绍了一种新的仿生元启发式算法——雪橇犬优化算法Sled Dog Optimizer,SDO。SDO的灵感主要来自雪橇犬的各种行为模式。重点通过模拟狗拉雪橇、训练和退役行为的过程,构建数学模型。该算法2024年10月最新发表在JCR1区,中科院1区SCI期刊Advanced Engineering Informatics 

图片

1. 初始化:和其他群优化算法一样,采用随机初始化

图片

2. 雪橇犬的选择。在整个雪橇犬群中,并不是所有的狗每次都能拉雪橇。通常情况下,只有一部分狗被它们的主人选中来执行任务,而剩下的一部分狗则被训练来提高它们的速度、耐力和其他能力。对于被选中拉雪橇的狗来说,它们通常在整个群体的各个方面都是最有能力的。

图片

3. 雪橇犬的旅行。正常旅行:在雪橇队的旅行中,雪橇犬总是分成两列前进。在这种情况下,每组两只狗被绑在一根长绳的左右。对于领头犬来说,它们在旅途中不断地接受并执行主人发出的命令。同时,他们根据自己的训练经验来应对突发事件。雪橇犬的速度更新公式

图片

雪橇犬的位置更新公式

图片

避障:在雪橇队的旅行过程中,经常会遇到障碍。在这个时候,处理障碍的最好方法就是避开它们。雪橇犬会在主人的指挥和平时的训练下有序地避开障碍物。其模型如式所示。

图片

迷失方向:雪橇队在前往目的地的途中迷路并不罕见。当遇到这种情况时,雪橇狗会在主人的带领下随机探索周围地区。其数学模型

图片

3. 雪橇犬的训练。对于不符合要求的雪橇犬,它们被用来训练成为更有能力的雪橇犬。

图片

图片

Dogbetter是从雪橇犬中随机选择的个体,选择完成任务。同样的,Dogworst是没有被选中执行任务的雪橇犬。

图片

4. 雪橇犬的退役。对于雪橇犬来说,每次拉雪橇都会对它们的身体造成某种伤害。随着他们拉雪橇次数的增加,他们受伤的可能性也大大增加。一旦雪橇狗受伤,它们就很难完成任务。考虑到雪橇犬的身体状况,它们将不得不退役。

图片

SDO伪代码:

图片

 

首先通过几个性能指标(包括搜索历史、搜索轨迹和种群多样性)对SDO进行定性分析。其次,在CEC 2017和CEC 2020上,将SDO与几个新颖优秀的元启发式方法进行了比较。结果表明,SDO在求解无约束优化问题方面具有非常好的性能。然后将SDO进一步应用于CEC 2020实际问题测试集,以测试其解决具有约束的实际优化问题的能力。最后,扩展并提出了一个应用SDO的新的路径规划模型。在这些有约束的问题中,SDO表现良好,具有很好的应用前景。SDO在所有实验中展示了出色的勘探和开发能力控制。可以说,SDO推动了元启发式算法的进步,为现实世界中的复杂优化问题提供了另一种新的强大技术。

图片

图片

参考文献

 Hu, Gang , et al. "SDO: A novel sled dog-inspired optimizer for solving engineering problems." Advanced Engineering Informatics 62(2024).

Matlab代码下载

微信搜索并关注-优化算法(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

图片

图片

SDO.zip

点击链接跳转:

380种群优化算法免费下载-matlab

【收藏不迷路】380种群智能优化算法-Matlab代码免费获取(截至2025.2.14)超380种基础群智能优化算法-Matlab代码免费获取https://mp.weixin.qq.com/s/H_yoO8WjwVgP_fBdRfajQg

求解cec测试函数-matlab 

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

仅需一行,可改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)

用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)21种混沌映射方法-混沌初始化,适用于所有优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd

【有经典,有最新】24种信号分解方法(附matlab代码) 

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

 【分类新范式】27种一维数据转换成二维图像的方法-matlab代码

沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd


http://www.niftyadmin.cn/n/5869771.html

相关文章

winfrom的progressBar 鼠标移上去显示 进度条的时间

需求描述: 播放IPC摄像头(海康、大华)的录像回放,视频窗口下方有个进度条,能显示当前录像播放的进度,点击进度条能将视频跳转到指定的时间点继续播放... 现在需要再进度条上显示视频的时间,用来…

SSM个人交友网站

🍅点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅 项目视频 SS…

力扣——零钱兑换

题目链接: 链接 题目描述: 思路: 类似于“完全平方数” 设金额 i i i所需的最少个数是 d p [ i ] dp[i] dp[i] 则: d p [ i ] m i n { d p [ i ] , d p [ i − c o i n s [ j ] ] 1 } dp[i] min\{ dp[i],dp[i-coins[j]] 1…

总结一下Java中的线程池的面试问题

部分内容来源:JavaGuide 使用ThreadPoolExecutor代码示例 package com.example.threadpool.Test;import org.apache.catalina.filters.RemoteIpFilter; import org.springframework.stereotype.Component;import java.util.concurrent.ArrayBlockingQueue; import …

JavaScript算法-合并两个有序链表

合并两个有序链表 描述 将两个已按升序排列的链表合并为一个新的升序链表,并返回该链表。 示例: 输⼊:1->3->5, 2->4->6 输出:1->2->3->4->5->6前置知识 递归链表 思路 使⽤递归的方式来实现&…

深入探讨K8s资源管理和性能优化

#作者:曹付江 文章目录 前言:1.监控 Kubernetes 集群的资源利用率1.1 Prometheus1.2 Kubernetes 度量服务器1.3 Grafana1.4 自定义指标 2. 识别资源瓶颈2.1. 监控工具2.2. 性能剖析2.3 Kubernetes 事件和日志2.4. 群集自动扩展2.5. 负载测试…

Lua的table类型的增删改查操作

增: 方法一:直接赋值 local t {} -- 创建一个空表-- 添加键值对 t["name"] "Lua" -- 添加字符串键 t[1] "Hello" -- 添加数字键print(t["name"]) -- 输出: Lua print(t[1]) -- 输出: Hello 方法二:使用table.insert…

【Linux网络编程】高效I/O--select/poll服务器

目录 多路转接之select select服务器实现 获取连接 handlerEvent select服务器代码链接 select的优缺点 多路转接之poll poll服务器实现(select服务器改写) poll的优缺点 多路转接之select select的作用 I/O的本质 等 拷贝 多路转接就是通过同时等待多个文件描述…