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

在不指定起始位置的情况下接送学生

  •  0
  • simo  · 技术社区  · 6 年前

    我们需要为学校的公共汽车做路线规划,任何学生之家都可以作为公共汽车的出发点,但是我们没有指定任何公共汽车的指定位置。

    我们期望的解决方案将确定每辆公共汽车的起始位置,以及从学生位置开始、在学校结束并依次经过学生的每辆公共汽车的轮次,其中每辆公共汽车最多可容纳12名学生,例如:

    我们期待这样的事情:

    34,30,27,38,30,15,10,5,8,3,2,1,0

    21,29,23,32,11,13,9,4,6,5,7,12,0

    ..

    ..

    ..

    其中0是学校位置索引,其他是学生位置索引。。

    算法确定了上述34、21作为总线的起始位置,以满足时间窗约束。

    这个案子能执行吗? 知道如何实施吗?或者我们能看到这样的例子吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Geoffrey De Smet    6 年前

    只需让ArrivalTimeUpdateingVariableListener按相反的顺序遍历链。

    通常情况下:

    var listener

    例如,在您的案例中,您有这个链:

    • 车辆A->学员1(31公里外)->学员2(25公里外)->学员3(20公里外)
    • 车辆B->学员7(33公里外)->学员8(26公里外)->学员9(15公里外)

    离开意味着离开学校。

    然后你的var监听器会说:

    • 学生3到达时间=学校开始时间-从3到学校的时间(20公里)
    • 学生2到达时间=学生3到达时间-从2到3的时间(>=5公里)
    • 学生1到达时间=学生2到达时间-从1到2的时间(>=6km)
    • ...