码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SD-MTSP:萤火虫算法(FA)求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)


    一、萤火虫算法(FA)简介

    萤火虫算法(Firefly Algorithm,FA)是Yang等人于2009年提出的一种仿生优化算法。

    参考文献:田梦楚, 薄煜明, 陈志敏, et al. 萤火虫算法智能优化粒子滤波[J]. 自动化学报, 2016, 42(001):89-97.

    二、单仓库多旅行商问题SD-MTSP

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

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

    三、萤火虫算法(FA)求解SD-MTSP

    本文选取国际通用的TSP实例库TSPLIB中的测试集bayg29作为测试例子,数据集可以自行修改。

    3.1部分代码(可更改起点及旅行商个数)

    close all
    clear
    clc
    %数据集参考文献  REINELT G.TSPLIB-a traveling salesman problem[J].ORSA Journal on Computing,1991,3(4):267-384.
    global data StartPoint Tnum
    % 导入TSP数据集 bayg29
    load('data.txt')
    Tnum=3;%旅行商个数(可以自行更改)2-6
    StartPoint=13; %选择起点城市(可以自行更改)
    nVar=size(data,1)-1;%维度
    VarMin=-100;%下界
    VarMax=100;%上界
    CostFunction=@Fun;%计算总距离
    
    %% Problem Definition
    VarSize=[1 nVar];       % Decision Variables Matrix Size
    %% Firefly Algorithm Parameters
    MaxIt=200;         % Maximum Number of Iterations
    nPop=50;            % Number of Fireflies (Swarm Size)
    

    3.2部分结果

    (1)3个旅行商

    第1个旅行商的路径:13->24->27->16->7->23->8->28->1->21->13

    第1个旅行商的总路径长度:1344.618905

    第2个旅行商的路径:13->6->12->9->5->26->3->29->2->20->13

    第2个旅行商的总路径长度:1265.859392

    第3个旅行商的路径:13->10->19->25->11->22->17->14->18->15->4->13

    第3个旅行商的总路径长度:1091.970696

    所有旅行商的总路径长度:3702.448993

    (2)4个旅行商

    第1个旅行商的路径:13->19->16->27->8->23->7->25->13

    第1个旅行商的总路径长度:1271.534506

    第2个旅行商的路径:13->4->15->11->22->17->14->18->13

    第2个旅行商的总路径长度:1042.305138

    第3个旅行商的路径:13->20->10->24->1->28->12->5->13

    第3个旅行商的总路径长度:1246.835996

    第4个旅行商的路径:13->2->29->3->26->9->6->21->13

    第4个旅行商的总路径长度:1116.691542

    所有旅行商的总路径长度:4677.367181

    四、完整Matlab代码

  • 相关阅读:
    【Plant Cell Physiol】R2R3-MYB调节因子FhPAP1在香雪兰花青素生物合成中的作用
    考研数据结构与算法(三)栈和队列
    如何让游戏中的随机因素重新赢得玩家信任
    初识-软件测试
    Redis的高性能之谜
    Makefile 基础教程:从零开始学习
    C# 处理TCP数据的类(服务端)
    记一次dubbo整合nacos no Provider排查
    uniapp如何实现返回上一级页面并传值刷新
    MacOS下VScode安装PlatformIO Core卡死和新建项目速度慢的解决方法
  • 原文地址:https://blog.csdn.net/weixin_46204734/article/details/133254517
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号