gpt4 book ai didi

java - 时间窗口变量的解释,尤其是到达时间

转载 作者:行者123 更新时间:2023-12-01 18:15:29 24 4
gpt4 key购买 nike

我试图理解 Optaplanner 车辆路由示例的时间窗口变体。有一些地方不太明白,需要确认。

  1. readyTime、dueTime、serviceDuration 和arrivalTime 使用的度量单位是什么?我尝试查看示例数据,但仍然无法弄清楚。
  2. 如何计算到达时间?应该与从一个地点到另一个地点所需的时间有关,但我找不到如何计算该时间。

任何评论和答案都将不胜感激。谢谢并致以问候。

最佳答案

  1. 时间单位是/似乎是相对的。在示例中,它是一个整数,没有真正的时间戳信息(例如绝对日期)。采用这种方法的优点是您不需要采用“年”、“月”或“日”单位系统。

  2. 看看ArrivalTimeUpdatingVariableListener类(class)。有一个方法叫 calculateArrivalTime() 。计算本身会获取您当前的客户和之前的出发时间,并检查之前的出发时间是否是您的客户链的开始(如果是 null ,那么您将获得车辆)或现有客户。

    2.1 案例“车辆”表示,您检查当前客户(也称为车辆的第一份工作)的 readyTime 的最大值以及仓库到您当前客户的距离。您取其中一个大于另一个,并将其设置为更新的 arrivalTime .

    2.2 案例“N-客户(N > 1)”:获取departureTime前一个客户的位置,添加与前一个客户的距离并返回更新后的值 arrivalTime

在这两种情况下,您都将检查完整的链,如果最后已知的到达时间等于更新的 arrivalTime以防止重复计算。这可以节省性能,因为您将打破 while情况。

关于java - 时间窗口变量的解释,尤其是到达时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com