旅行商问题

简介:

     旅行商问题(Traveling Saleman Problem,TSP)又译为旅行推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。最早的旅行商问题的数学规划是由Dantzig(1959)等人提出。

  • 问题描述

由n个城市组成的网络,编号为V1,V2,....,Vn, Dij 表示Vi到Vj的距离(或时间,费用等),一般Dij ≠ Dji,一个推销员从V1开始,访问每个城市一次且仅一次,然后返回V1。这个推销员如何选择线路,才能使行程最短?

  • 问题抽象

一个有向图G(V,E),从某个顶点出发,经过每个结点一次且仅一次,返回出发结点。对于任意Vi,Vj ∈ V , 存在Eij和Eji,0 < Eij < ∞ ,0 < Eji < ∞,如果没有此条件,问题有可能无解,也就是说,此图是一个有向完全图。

  • 问题求解

(1)枚举法

相当于对V1,V2,V3,....,Vn做圆周排列,圆周排列为n!/n = (n-1)!,也即有(n-1)!条路径,需要(n-1)(n-1)!次加法,(n-1)!-1次比较。

(2)动态规划

令f(Vi ; V)表示结点从结点Vi出发,遍历V中的点一次且仅一次,然后返回V1的最短距离,其中V是某些结点构成的集合,且V1,Vi \notin V。

多段判决公式: f(Vi ; V ) = min { Dij + f(Vj ; V\{Vj} }  (Vj ∈ V)

因此问题就成了求 f(V1 ; { V2,V3,V4,...,Vn} } 的最小值


本文转自nxlhero 51CTO博客,原文链接:http://blog.51cto.com/nxlhero/696905,如需转载请自行联系原作者

 

相关文章
mAP@0.5与mAP@0.50.95的含义,YOLO
mAP@0.5与mAP@0.50.95的含义,YOLO
1257 0
|
并行计算 PyTorch 算法框架/工具
【pytorch】解决pytorch:Torch not compiled with CUDA enabled
【pytorch】解决pytorch:Torch not compiled with CUDA enabled
6750 0
|
Windows 计算机视觉 安全
流媒体技术学习笔记之(十三)Windows安装FFmpeg
一、下载地址: 网址:https://ffmpeg.org/ 选择Windows版本:https://ffmpeg.org/download.html#build-windows 二、解压安装: 下载并解压FFmpeg文件夹,它会生成一个类似名为“ffmpeg-20150504-git-eb9fb50-win32-static”的新文件夹:   打开你想安装的任意磁盘,例如:d盘。
3644 0
|
Web App开发 前端开发 JavaScript
VSCode如何设置Vue前端的debug调试
VSCode如何设置Vue前端的debug调试
1029 0
|
大数据 Linux
CentOS自动同步互联网服务器时间
CentOS自动同步互联网服务器时间
3915 0
CentOS自动同步互联网服务器时间
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
[大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
[大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
165 0
|
Docker 容器
docker 换国内镜像源,docker换源
docker 换国内镜像源,docker换源
8343 5
|
Web App开发 网络协议 数据安全/隐私保护
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
3086 0
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
|
Java 数据库 Python
python flask 简单示例
python flask 简单示例
146 2
|
存储 自然语言处理 算法
语法设计——基于LL(1)文法的预测分析表法
语法设计——基于LL(1)文法的预测分析表法
400 0
语法设计——基于LL(1)文法的预测分析表法