引言
本期介绍了一种新的仿生元启发式算法——雪橇犬优化算法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