多目标优化算法:多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO)(提供MATLAB代码)

一、算法简介

蛇优化算法(Snake Optimizer,SO)由Fatma A. Hashim和Abdelazim G. Hussien于2022年提出,该算法思路新颖,快速高效,模拟了蛇的觅食和繁殖行为。

二、算法原理

雄性蛇和雌性蛇之间交配的发生受到某些因素的影响。蛇在春末和初夏交配,那时温度低。但交配过程不仅取决于温度,还取决于食物的充足性。如果温带低,食物充足;雄性蛇会互相争斗,以吸引雌性的注意力。雌性有权决定是否交配。如果发生交配,雌性开始在巢穴或洞穴中产卵,一旦卵出现,它就会离开。

蛇优化算法受蛇交配行为的启发,如果温度低且食物充足,则会发生交配,否则蛇只会寻找食物或吃掉剩余的食物。蛇优化算法分为两个阶段即全局探索或局部开发。探索取决于环境因素,即寒冷的地方和食物,在这种情况下,蛇只在周围寻找食物。对于开发,此阶段包括许多过渡阶段,以使全局更有效率。在食物可用但温度高的情况下,蛇只会专注于吃可用的食物。如果食物可用并且该区域寒冷,则会导致交配过程的发生;交配过程进行战斗模式或交配模式。在战斗模式中,每个雄性都会为获得最好的雌性而战,每个雌性都会尝试选择最好的雄性。在交配模式下,每对配对之间发生交配与食物数量的可用性有关。如果交配过程发生,则雌性产卵并将其孵化成新的蛇。SO将群体分成两个相等的群体即雄性和雌性。

2.1全局搜索(无食物)

如果Q<0.25,蛇通过选择任何随机位置来搜索食物,并更新它们的位置。

雄性蛇位置更新:

雌性蛇位置更新:

2.2局部搜索(有食物)

如果Q>0.25,且温度>0.6,则蛇只会向食物移动:

如果Q>0.25,且温度<0.6,则蛇将处于战斗模式或交配模式

2.2.1战斗模式

雄性蛇位置更新:

雌雄蛇位置更新:

2.2.2交配模式

雄性蛇位置更新:

雌雄蛇位置更新:

三、算法流程

四、数值实验

将蛇优化算法的优良策略与多目标优化思想融合,形成多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO),为了验证所提的MOSO的有效性,将其在46个多目标测试函数(ZDT1、ZDT2、ZDT3、ZDT4、ZDT6、DTLZ1-DTLZ7、WFG1-WFG10、UF1-UF10、CF1-CF10、Kursawe、Poloni、Viennet2、Viennet3)以及1个工程应用(盘式制动器设计)上实验。

4.1函数测试

部分测试函数求解结果:

ZDT1:

ZDT2:

ZDT3:

ZDT4:

ZDT6:

DTLZ1:

DTLZ2:

DTLZ3:

DTLZ4:

DTLZ5:

DTLZ6:

DTLZ7:

4.2工程应用

盘式制动器设计

MOSO求解结果:

4.3评价指标

MOSO思路新颖,算法及其高效,在多目标函数测试集上优势显著,大力推荐。

五、完整MATLAB代码

相关推荐
星夜离尘564 小时前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
Ai-_Man5 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
梓豪csd5 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
学逆向的5 小时前
C 枚举变量
c语言·开发语言·网络安全
Sakura_j_h_5 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
企业数字化笔记8 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
?abc!8 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
小成2023032026511 小时前
C++~07补充
开发语言·c++
小郎君65811 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧11 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法