代码之家  ›  专栏  ›  技术社区  ›  Nizar

从同一地理点绘制相等的路径

  •  0
  • Nizar  · 技术社区  · 5 年前

    我有10000个地理点(POS),10个销售人员,还有一个起点。 目的是为了避免推销员之间的歧视,每个人都应该旅行相同的距离和相同数量的销售点。

    为了实现这一点,我认为应该应用这些规则:

    1. 为每个销售人员分配一条路径,从具有相同地理点(POS)数量的起点开始。
    2. 每条路应该有相同的距离。

    enter image description here

    0 回复  |  直到 5 年前
        1
  •  0
  •   karmakaze    5 年前

    你有一个很好的起点,从起点开始按距离排序。现在把10000个点看作1000个同心圆,每个同心圆有10个点。我们所要做的就是从每个戒指中给一个销售员分配一分,如下所示:

    • 从最长路径的推销员开始:
      • 其他8个推销员也是如此

    如果从外到内迭代这些环,则路径长度的差异将变小(而不是从小环到大环)。

    你可以从最外层的环上给每个推销员分配每个点。

    如果您想改善每个销售人员的路径,在考虑添加一个点时,您可以在候选点的“in set”中找到最近的两个点并将其插入其中,或者如果该距离小于到最近两个点的距离之和,则将其附加到其中一个“end”点。