时间窗

时间窗是路径在某个网络位置(如路径分析中的停靠点)访问的开始时间和结束时间之间的时段。

有两个网络分析图层包含时间窗:路径图层和车辆配送图层。 以下两个表列出了可设置时间窗的网络分析类列表。

路径分析图层中的时间窗字段

网络分析类时间窗字段

停靠点

TimeWindowStart

TimeWindowEnd

注:

如果填充了 Stops 图层中的任何时间窗字段(TimeWindowStartTimeWindowEnd),则将使用时间窗。 使用创建路径分析图层地理处理工具对话框中的时间字段的时区参数创建新路径分析图层时,可以为时间窗字段指定时区。 您还可以使用“路径”功能区上的参考时区下拉列表为时间窗字段指定时区。 要更新现有图层上时间窗字段的时区,请使用 Python 中 RouteSolverProperties 类的 timeZoneUsageForTimeFields 属性。

车辆路线问题分析图层中的时间窗字段

网络分析类时间窗字段

停靠点

TimeWindowStart

TimeWindowEnd

TimeWindowStart2

TimeWindowEnd2

站点

TimeWindowStart

TimeWindowEnd

TimeWindowStart2

TimeWindowEnd2

中断

TimeWindowStart

TimeWindowEnd

在车辆路线问题分析图层中,不需要选中任何属性以启用时间窗,它们始终处于可用状态。 在“停靠点”和“站点”类中,您可以设置两个时间窗。

注:

如果填充了 Orders and Depots 图层中的任何时间窗字段(TimeWindowStartTimeWindowEnd),则将使用时间窗。 使用创建车辆配送分析图层地理处理工具对话框中的时间字段的时区参数创建车辆配送分析图层时,可以为时间窗字段指定时区。 您还可以使用 VRP 功能区上的参考时区下拉列表为时间窗字段指定时区。 要更新现有图层上时间窗字段的时区,请使用 Python 中 VehicleRoutingProblemSolverProperties 类的 timeZoneUsageForTimeFields 属性。

车辆配送中的路径对象也包含时间窗字段:EarliestStartTimeLatestStartTime。 它们用于指定路径可以开始其行程的时段。

使用时间窗中的日期

对于要针对“Today”求解的路径分析图层,时间窗字段和时间应设置为 Today—12/30/1899 的值。 同样,要针对车辆配送图层分析图层的“Today”进行求解,默认日期应设置为 Today—12/30/1899 的值。

如果希望针对星期进行求解,则时间窗字段将继续使用“Today”值,但路径分析图层的时间和车辆配送分析图层的默认日期应指定星期的相应日期。

可使用以下日期来指定一周中的每一天,而无需使用特定的日期:

  • 今天 - 12/30/1899
  • 星期日 - 12/31/1899
  • 星期一 - 1/1/1900
  • 星期二 - 1/2/1900
  • 星期三 - 1/3/1900
  • 星期四 - 1/4/1900
  • 星期五 - 1/5/1900
  • 星期六 - 1/6/1900

时间窗日期应与时间中指定的日期(用于路径分析)或默认日期(用于车辆配送分析图层)匹配。

时间窗示例

为了更好地理解时间窗,以需要找到路径的四个停靠点(a、b、c 和 d)为例进行说明。 每个停靠点的时间窗由其 TimeWindowStartTimeWindowEnd 字段指定。

具有时间窗信息的四个停靠点示例

路径可以在上午 8:00 到 9:00 之间的任何时间从 a 点开始,但不应在上午 9:10 之前到达 b 点。如下所示,路线在上午 9:05:08 到达 b。

到达和离开时间

由于仅应在上午 9:10 到 9:12 之间访问 b,因此路径在 b 处等待了 4 分钟 40 秒后于上午 9:10 离开。该等待时间(4.66 分钟)存储在停靠点 b 的 Wait_TravelTime 字段中并被添加到路径所用的总时间中。 停靠点的 Cumul_TraveTime 字段用于存储到达停靠点所用的总时间。 b 的累积行驶时间为 10 分钟(行驶时间为 5 分钟 8 秒,为遵循停靠点 b 的时间窗而等待的时间为 4 分钟 52 秒)。

等待时间

路径于上午 9:10 离开停靠点 b,并于上午 9:15:20 到达停靠点 c。但是,停靠点 c 的时间窗为上午 9:10 到 9:12。 由于路径无法遵守停靠点 c 的时间窗,因此发生了 3 分 20 秒的冲突,该冲突在 Violation_TravelTime 字段中存储为 3.33 分钟。

冲突时间

可将时间窗视为一种“软”约束。 这意味着求解程序会尽量遵循时间窗,但在必要时会违反某些停靠点的时间窗以到达相应位置。 这与“硬”约束不同,在“硬”约束中,将没有路径可到达出现时间窗冲突的停靠点。 路径分析图层不支持硬性时间窗。 但是,您可以通过将 MaxViolationTime 字段的相应值设置为零,来将它们用于“车辆配送”分析图层。

路径求解程序尝试通过一系列停靠点找到成本最低的路径,同时支持网络上的选定限制并遵循所有时间窗。 如果时间窗冲突不可避免,求解程序会尝试最大程度减少总冲突时间。