当前位置: 首页 > article >正文

SDMTSP:黑翅鸢算法(Black-winged kite algorithm,BKA)求解单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)

一、黑翅鸢算法BKA

黑翅鸢算法(Black-winged kite algorithm,BKA)由Wang Jun等人于2024年提出,该算法受黑翅鸢的迁徙和掠食行为启发而得。BKA集成了柯西突变策略和领导者策略,增强了算法的全局搜索能力,提高了算法的收敛速度。

参考文献:

[1]Wang J, Wang W, Hu X, et al. Black-winged kite algorithm: a nature-inspired meta-heuristic for solving benchmark functions and engineering problems[J]. Artificial Intelligence Review, 2024, 57(4): 1-53.

二、单仓库多旅行商问题

单仓库多旅行商问题(Single-Depot Multiple Travelling Salesman Problem, SD-MTSP):𝑚个推销员从同一座中心城市出发,访问其中一定数量的城市并且每座城市只能被某一个推销员访问一次,最后返回到中心城市,通常这种问题模型被称之为SD-MTSP。

多旅行商问题(Multiple Traveling Salesman Problem, MTSP):单仓库多旅行商问题及多仓库多旅行商问题(含动态视频)_IT猿手的博客-CSDN博客

三、BKA求解单仓库多旅行商问题

figure
plot(data(:,1),data(:,2),'go','color','k','MarkerFaceColor','g')
hold on
%% 无箭头 (二选一)
ColorStr={'r-','m-','b-','c-','k-','g-'};
LegStr={'城市','旅行商1','旅行商2','旅行商3','旅行商4','旅行商5','旅行商6'};
for i=1:Tnum
    Dis(i)=(sum(sum((data(Kd(i,1:end-1),:)-data(Kd(i,2:end),:)).^2)).^0.5); %求解两两城市之间的距离
    Qid=Kd(i,1:2+Lnum(i));
    plot(data(Qid,1),data(Qid,2),ColorStr{i},'linewidth',1.5);
    hold on;
end
xlabel('横坐标')
ylabel('纵坐标')
legend(LegStr{1:Tnum+1})

第1个旅行商的路径:13->25->7->11->20->28->13
第1个旅行商的总路径长度:1765.672676
第2个旅行商的路径:13->4->18->17->22->14->13
第2个旅行商的总路径长度:1053.944970
第3个旅行商的路径:13->5->9->26->3->19->13
第3个旅行商的总路径长度:1829.371477
第4个旅行商的路径:13->16->15->10->29->6->13
第4个旅行商的总路径长度:1490.369082
第5个旅行商的路径:13->1->24->27->23->8->12->21->2->13
第5个旅行商的总路径长度:1415.697708
所有旅行商的总路径长度:7555.055913

第1个旅行商的路径:13->4->11->7->25->13
第1个旅行商的总路径长度:1279.765604
第2个旅行商的路径:13->18->22->14->19->13
第2个旅行商的总路径长度:1077.868267
第3个旅行商的路径:13->6->26->29->5->13
第3个旅行商的总路径长度:1245.070279
第4个旅行商的路径:13->24->8->28->1->13
第4个旅行商的总路径长度:744.446103
第5个旅行商的路径:13->10->17->15->16->13
第5个旅行商的总路径长度:1292.439554
第6个旅行商的路径:13->2->3->21->27->23->12->9->20->13
第6个旅行商的总路径长度:2199.090721
所有旅行商的总路径长度:7838.680527


http://www.kler.cn/a/445595.html

相关文章:

  • docker springboot 运维部署详细实例
  • 【计算机网络】期末考试预习复习|中
  • YOLOv8全解析:高效、精准的目标检测新时代——创新架构与性能提升
  • Linux应用软件编程-文件操作(标准io)
  • 并发控制之CyclicBarrier
  • Qlib安装成功步骤和测试是否成功
  • 企业健康采购市场:谁在成为优质供给的底层支撑?
  • 前端安全实践:常见攻击的防范与处理
  • 以前很常见的一种HTTP操作方式
  • 【进阶编程】MVC和MVVM实现前后端分离的实现
  • Springboot logback 日志打印配置文件,每个日志文件100M,之后滚动到下一个日志文件,日志保留30天(包含traceid)
  • 最短路径C++
  • 讲PPT 需要注意的事项
  • 单片机与MQTT协议
  • 计算机网络 - HTTP 协议和万维网
  • 【操作系统】基于信号量与PV操作解决东西向汽车过独木桥问题
  • GMSSL的不同python版本
  • Chapter 18 CMOS Processing Technology
  • HTML 有效 DOCTYPES
  • 算法题(10):好数
  • STM32-- keil -常用功能
  • Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
  • 并发修改导致MVCC脏写问题
  • 【后端面试总结】什么是CAP原理
  • 常用es命令
  • 网络协议栈学习(一)socket通信实例