algorithm - 多起点和一个终点的旅行商

标签 algorithm google-maps path graph-algorithm shortest-path

我正在尝试制作一个 Google map 应用程序,该应用程序涉及从不同位置安排车辆路线。例如,假设有三辆车,每辆车都在不同的位置,它们必须覆盖 10 个位置并到达一个共同的目的地。我需要找到用 3 辆车覆盖所有 10 个点的最佳方法。我知道 Google Directions API 提供了一个“航路点”功能来解决旅行推销员问题,但这仅限于一辆车。我查看了 Vehicle Routing Problem,但无法找到解决我的问题的算法。如果有人能指出正确的方向来解决这个问题,我将不胜感激。

最佳答案

我相信这可以被定义为一个网络流问题并用线性规划来解决。大多数关于线性规划的书籍都解决了这些问题。例如这里有一个 chapter摘自一本关于优化的书

在您的情况下,我会将您的起始位置建模为源,将汽车建模为运输的产品,将城市建模为节点,将单个接收器建模为最终目的地。路线上的权重是距离。

网络流问题的一个特例是“最短路线树问题”(上面引用的论文的第 8 页),这听起来和您的问题完全一样,只是相反:您从一个公共(public)点开始,然后移动到其他节点。您的问题的解决方案应该是相同的。

关于algorithm - 多起点和一个终点的旅行商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196556/

相关文章:

r - 在 R 中使用 Google map 计算步行距离

python - 关于Python路径何时使用 `/`以及何时使用 `\`

vbscript - 如何在 VBScript 中获取文件的完全限定路径?

algorithm - 数据结构编程算法

algorithm - 枚举大(20 位)[可能] 素数

javascript - 静态谷歌地图不适用于我的情况

javascript - 在 vue2-google-maps 中围绕一个点画一个圆圈

Linux : error loading libraries from/usr/local/lib

algorithm - 有 n 个节点的无向​​图中的最大边数是多少?

c# - 使用巨大的二维数组递归获取最大路径和