单目标应用:白鲨优化算法WSO求解单仓库多旅行商问题(Single-Depot Multiple Travelling Salesman Problem, SD-MTSP)提供Matlab代码

171 篇文章 15 订阅
59 篇文章 1 订阅

一、白鲨优化算法

白鲨优化算法(White Shark Optimizer,WSO)由Malik Braik等人于2022年提出,该算法受大白鲨导航和觅食时具有的非凡听觉和嗅觉启发。该算法思路新颖,策略高效。

大白鲨体呈纺锤型,躯干较粗壮。头一般长。尾基上下方各具一凹洼;尾柄具侧突。吻较短而尖突。眼中大,圆形,无瞬膜。前鼻瓣细小突出;无口鼻沟或触须。口裂宽,弧形,下颌极短,口闭时露齿;颌齿大型,边缘具锯齿,前面齿窄长而如钻子状,侧面齿侧扁如刀状,往后则渐低小,齿无小齿尖。喷水孔微小,有时消失。背鳍2个,第一背鳍稍大,起点与胸鳍后端相对或稍中,后缘凹入,上角略尖圆,下角微尖突;第二背鳍很小,起点与臀鳍起点相对,后缘微凹入,上角钝圆,下角微尖突;胸鳍宽大型,镰刀状,后缘微凹入,外角钝尖,内角钝圆;尾鳍宽短,尾椎轴稍上扬,上尾叉较长大,由上叶、尾椎轴及下叶中后部组成;下尾叉较短小,由尾鳍下叶前部的突出部分组成。体背侧青灰色,或暗褐色,或近黑色;腹侧淡色至白色。胸鳍腋上具一黑色斑块;腹鳍白色,前部具一青灰色斑块;背鳍、胸鳍和尾鳍后部暗色。
在这里插入图片描述

1.1算法原理

与生活在自然界中的任何生物类似,大白鲨在海洋中游荡,同时寻找猎物,因此它们会相应地改变自己的位置。在这方面,它们几乎使用一切可用的方法来追踪、跟踪和定位猎物。大白鲨具有敏锐的听觉和嗅觉,这为它的捕食提供强大的帮助:
在这里插入图片描述

大白鲨身上的两条线可以检测水压的变化,揭示猎物的运动。湍流猎物发出的水压变化将吸引白鲨的注意力转向猎物。它们甚至有器官可以感知猎物运动过程中产生的微小电磁场。然后,根据猎物运动过程中波漂移的频率及其湍流,它们可以精确定位猎物的位置及其大小。当白鲨如此接近其目标时,它将能够拾取电磁场,当它找到猎物时,它将以起伏的运动移动到猎物身上。

在这里插入图片描述

白鲨优化算法(WSO)主要包含以下阶段:

1.1.1快速向猎物移动

由于白鲨是喜欢生存的生物,它们大部分时间都在狩猎和追踪猎物。它们通常使用各种方法来跟踪和跟踪猎物,使用它们非凡的感官,如听觉,视觉和嗅觉。当白鲨根据猎物移动时听到的海浪的犹豫来感知猎物的位置时,它会以起伏的运动移动到猎物身上,这种运动可以定义如方程表示:
在这里插入图片描述

1.1.2包围最佳猎物

大白鲨大部分时间都在寻找潜在的猎物。因此,白鲨的位置不断变化。当它们听到猎物运动引起的海浪或闻到猎物的气味时,它们通常会走向猎物。在某些情况下,猎物离开它的位置要么是因为白鲨移动到它身边,要么是为了寻找食物。通常,猎物会在那个位置留下气味,白鲨仍然可以闻到猎物的气味。在这种情况下,白鲨在随机位置导航以寻找猎物,就像鱼群寻找食物来源的行为一样。通过以下公式模拟白鲨行为:

在这里插入图片描述

1.1.3向最佳鲨鱼靠近

当白鲨发现猎物,围攻猎物以后,就向其最佳进攻位置靠近进行捕杀猎物:

在这里插入图片描述

1.1.4鱼群行为

为了在数学上模拟白鲨群的行为,通过保留了前两个最佳解,并根据两个最佳位置更新其他白鲨的位置:
在这里插入图片描述

1.2算法流程

在这里插入图片描述
参考文献:
[1] Braik M , Hammouri A , Atwan J , et al. White Shark Optimizer: A novel bio-inspired meta-heuristic algorithm for global optimization problems[J]. Knowledge-Based Systems, 2022, 243:108457-.

二、单仓库多旅行商问题

多旅行商问题(Multiple Traveling Salesman Problem, MTSP)是著名的旅行商问题(Traveling Salesman Problem, TSP)的延伸,多旅行商问题定义为:给定一个𝑛座城市的城市集合,指定𝑚个推销员,每一位推销员从起点城市出发访问一定数量的城市,最后回到终点城市,要求除起点和终点城市以外,每一座城市都必须至少被一位推销员访问,并且只能访问一次,需要求解出满足上述要求并且代价最小的分配方案,其中的代价通常用总路程长度来代替,当然也可以是时间、费用等。单仓库多旅行商问题是其中一种多旅行商问题。
多旅行商问题(Multiple Traveling Salesman Problem, MTSP):单仓库多旅行商问题及多仓库多旅行商问题(含动态视频)_IT猿手的博客-CSDN博客
单仓库多旅行商问题(Single-Depot Multiple Travelling Salesman Problem, SD-MTSP):𝑚个推销员从同一座中心城市出发,访问其中一定数量的城市并且每座城市只能被某一个推销员访问一次,最后返回到中心城市,通常这种问题模型被称之为SD-MTSP。

三、求解结果

本文选取国际通用的TSP实例库TSPLIB中的测试集bayg29,bayg29中城市分布如下图所示:

在这里插入图片描述

本文采用白鲨优化算法WSO求解bayg29:

Tnum=5;%旅行商个数(可以自行更改)
StartPoint=1; %选择起点城市(可以自行更改)
Dim=size(data,1)-1;%维度
lb=-100;%下界
ub=100;%上界
fobj=@Fun;%计算总距离
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=2000; % 最大迭代次数(可以修改)
[fMin,bestX,curve]=WSO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj);  %白鲨优化算法

3.1结果一

当设置各旅行商个数为5,其起点和终点均为城市13时:
白鲨优化算法WSO的收敛曲线:
在这里插入图片描述

白鲨优化算法WSO求得的路径:
在这里插入图片描述

白鲨优化算法WSO求解的最短总路径:5880.1785

3.2结果二

当设置各旅行商个数为5,其起点和终点均为城市1时:
白鲨优化算法WSO的收敛曲线:
在这里插入图片描述

白鲨优化算法WSO求得的路径:
在这里插入图片描述

白鲨优化算法WSO求解的最短总路径:5788.7118

四、完整MATLAB代码

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值