news 2026/6/15 8:24:03

【单仓库多旅行商问题SDMTSP】基于BSLO吸血水蛭优化器求解单仓库多旅行商问题,可以更改数据集和起点附Matlab代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【单仓库多旅行商问题SDMTSP】基于BSLO吸血水蛭优化器求解单仓库多旅行商问题,可以更改数据集和起点附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。

🔥内容介绍

1 引言

1.1 问题背景

单仓库多旅行商问题(Single-Depot Multiple Traveling Salesman Problem,SDMTSP)是经典旅行商问题(TSP)的扩展形式,广泛应用于物流配送、路径规划、快递调度等实际场景。其核心需求为:多个旅行商从同一个仓库(起点)出发,遍历指定的所有客户点(需求点),最终返回仓库,要求在满足约束条件(如每个客户点仅被访问一次、旅行商路径不重叠等)的前提下,实现总行程最短、总耗时最少等优化目标。

SDMTSP属于NP难问题,随着客户点数量增加,精确算法(如穷举法、动态规划法)的求解复杂度呈指数级增长,难以适用于大规模问题。因此,寻求高效的启发式优化算法成为求解SDMTSP的主流方向。

1.2 算法选择:吸血水蛭优化器(BSLO)

吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)是一种新型元启发式优化算法,灵感来源于自然界中吸血水蛭的觅食、吸血、移动等行为。该算法具有收敛速度快、全局搜索能力强、参数设置简单等优势,在连续空间和离散空间优化问题中均表现出良好的性能。

针对SDMTSP的离散路径优化特性,本方案对BSLO算法进行离散化改进,使其能够适配路径编码方式,高效求解SDMTSP,且支持用户灵活更改数据集(客户点坐标、数量)和起点(仓库位置)。

2 核心概念界定

2.2 吸血水蛭优化器(BSLO)核心原理

BSLO算法模拟吸血水蛭的三大核心行为:

  1. 觅食行为:水蛭通过感知血液浓度(对应优化问题的适应度值)向目标移动,实现局部搜索;

  2. 吸血行为:水蛭吸附目标后持续吸血,对应算法中对优质解的挖掘和保留;

  3. 移动行为:包括随机移动和定向移动,平衡全局探索与局部开发能力。

算法基本流程为:初始化种群→计算适应度值→更新水蛭位置(觅食、吸血、移动)→判断终止条件→输出最优解。为适配SDMTSP的离散特性,需对“位置更新”环节进行离散化改进,将“连续位置”映射为“路径序列”。

3 基于BSLO的SDMTSP求解实现步骤

3.1 步骤1:问题编码与初始化

3.1.1 路径编码方式

采用“分段编码法”适配多旅行商路径表示,具体规则:

  • 编码长度为n(客户点数量),每个编码位对应1个客户点编号(1~n),无重复;

  • 通过m-1个分隔符将编码序列分为m段,每段对应1个旅行商的客户点访问顺序;

  • 每个旅行商的完整路径为:仓库(0)→本段客户点序列→仓库(0)。

示例:若n=8,m=2,编码序列为[3,5,1|2,7,4,6,8],则旅行商1的路径为0→3→5→1→0,旅行商2的路径为0→2→7→4→6→8→0。

3.1.2 种群初始化

生成N个初始路径编码(种群规模N可配置),每个编码通过随机打乱客户点序列并插入m-1个分隔符实现。确保初始种群覆盖不同的路径组合,提升全局搜索的多样性。

3.3.3 移动行为离散化

平衡全局探索与局部开发,设置随机移动概率p:

  • 当随机数r < p时,进行随机移动:重新生成1个随机路径编码,避免算法陷入局部最优;

  • 当r ≥ p时,进行定向移动:基于当前最优路径,通过“插入变异”调整客户点顺序,优化路径长度。

3.3.4 迭代更新流程

  1. 计算当前种群中所有个体的适应度值,记录全局最优解;

  2. 通过上述离散化的觅食、吸血、移动行为更新种群;

  3. 判断是否满足终止条件(达到最大迭代次数、适应度值连续多代无改进);

  4. 若满足,输出全局最优路径;若不满足,返回步骤3.3.4.1继续迭代。

3.4 步骤4:结果输出与验证

输出内容包括:

  • 各旅行商的详细路径(仓库→客户点序列→仓库);

  • 每个旅行商的路径长度、总行程长度;

  • 迭代过程中的适应度值变化曲线(直观展示算法收敛过程)。

验证方式:通过更换不同数据集(如TSPLIB标准数据集eil51、eil76)或修改仓库位置,重复求解,验证算法的稳定性和通用性。

4 数据集与起点更改操作指南

4.1 数据集更改

  1. 准备新数据集文件(txt/csv格式),按“点编号 x坐标 y坐标”的格式编写,示例:0 50 50 # 仓库(可选,若不写则默认使用配置文件中的仓库坐标)
    1 10 20
    2 30 40
    3 60 30
    4 20 70

  2. 打开求解程序的配置文件(config.py/config.ini),修改“data_path”参数为新数据集文件的路径;

  3. 若需增减客户点,直接修改数据集文件中的行数(删除或添加对应行),程序会自动识别客户点数量n;

  4. 运行程序,即可基于新数据集求解。

4.2 起点(仓库)更改

有两种更改方式,根据需求选择:

  1. 方式1:通过数据集文件更改(推荐)

    1. 在数据集文件中添加编号为0的行(仓库),修改其x、y坐标,示例:0 70 80

    2. 运行程序,程序会自动读取编号0的点作为仓库。

  2. 方式2:通过配置文件更改

    1. 打开配置文件,找到“depot_x”“depot_y”参数;

    2. 修改参数值为新的仓库坐标,示例:depot_x = 70, depot_y = 80

    3. 运行程序,程序会忽略数据集文件中的编号0点,优先使用配置文件中的仓库坐标。

5 算法性能测试与分析

5.1 测试环境

硬件:CPU Intel i7-12700H,内存16GB;软件:Python 3.9,Matplotlib 3.7(绘图),NumPy 1.24(数值计算)。

5.2 数据集与起点更改适应性

更换自定义数据集2(n=30、50、80)及3个不同仓库位置((50,50)、(70,80)、(20,30))进行测试,结果显示:

  • 数据集更改后,程序能正确识别客户点数量和坐标,求解流程无异常;

  • 起点更改后,路径重新规划合理,总行程长度随仓库位置变化符合实际地理逻辑;

  • 算法在不同数据集和起点下的收敛稳定性良好,适应度值波动范围≤5%。

6 总结与展望

6.1 总结

本方案提出了基于离散化BSLO算法的SDMTSP求解方法,通过分段编码、适应度函数设计及BSLO离散化改进,实现了对SDMTSP的高效求解。方案支持用户灵活更改数据集(客户点数量、坐标)和起点(仓库位置),经测试验证,算法具有优化效果好、收敛速度快、适应性强等优势,可应用于实际物流配送、路径规划等场景。

6.2 展望

未来可从以下方向优化:

  • 引入约束处理机制,适配带时间窗、车辆载重限制的SDMTSP扩展问题;

  • 结合深度学习模型(如神经网络)优化BSLO的参数设置,进一步提升算法性能;

  • 开发可视化交互界面,简化数据集和起点的更改操作,提升用户体验。

⛳️ 运行结果

🔗 参考文献

[1] 郗莹,马良,戴秋萍.多目标旅行商问题的模拟植物生长算法求解[J].计算机应用研究, 2012, 29(10):3.DOI:10.3969/j.issn.1001-3695.2012.10.033.

[2] 尹晓峰,刘春煌.基于MATLAB的混合型蚁群算法求解旅行商问题[J].铁路计算机应用, 2005, 14(9):4.DOI:10.3969/j.issn.1005-8451.2005.09.002.

[3] 朱华明,付廷明,郭立玮,等.水蛭的湿法超微粉碎提取及其工艺优化[J].中草药, 2013, 44(15):2079-2084.DOI:10.7501/j.issn.0253-2670.2013.15.011.

📣 部分代码

🎈 部分理论引用网络文献,若有侵权联系博主删除

👇 关注我领取海量matlab电子书和数学建模资料

🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:

🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维

2.1 bp时序、回归预测和分类

2.2 ENS声神经网络时序、回归预测和分类

2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类

2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类

2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类

2.7 ELMAN递归神经网络时序、回归\预测和分类

2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类

2.9 RBF径向基神经网络时序、回归预测和分类

2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP置换流水车间调度问题PFSP混合流水车间调度问题HFSP、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP

👇

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 14:31:56

【iManus】AI 编码代理中Skills、MCP、Prompt、SubAgent的基本概念和定义

文章目录 AI 编码代理中 Skills、MCP、Prompt、SubAgent 的基本概念和定义 概述 1. SubAgent(子代理) 1.1 基本定义 1.2 核心特性 1.3 配置结构 1.4 配置格式 1.5 核心配置字段 1.6 使用场景 1.7 典型案例模板 2. MCP(Model Context Protocol,模型上下文协议) 2.1 基本定义…

作者头像 李华
网站建设 2026/6/10 1:22:07

【机械臂】用于三轴机械臂的RRT路径规划算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华
网站建设 2026/6/13 18:17:16

博弈论 Nim游戏

之前从来没有系统学过博弈论的相关定理&#xff0c;遇到的基本都是从题面中找到相关的规律。在刷牛客tracker的时候遇到了这个问题&#xff0c;总结一下。 经典模型 地上有n堆石子&#xff0c;甲乙两人交替取石子。每人每次可以从任意一堆里面取&#xff0c;但不能不取。最后没…

作者头像 李华
网站建设 2026/6/13 3:09:40

救命神器10个AI论文软件,专科生毕业论文救星!

救命神器10个AI论文软件&#xff0c;专科生毕业论文救星&#xff01; AI 工具的崛起&#xff0c;让论文写作不再难 在当前的学术环境中&#xff0c;越来越多的专科生开始借助 AI 工具来完成毕业论文的撰写。这些工具不仅能够帮助学生快速生成内容&#xff0c;还能有效降低 AIGC…

作者头像 李华
网站建设 2026/6/10 10:51:33

CP2102、CH340驱动官网下载

CP2102 https://www.silabs.com/software-and-tools/usb-to-uart-bridge-vcp-drivers?tabdownloadsCH340 https://www.wch.cn/downloads/category/67.html

作者头像 李华