繁体   English   中英

如何将服务时间约束添加到具有时间窗口约束的车辆路径问题

[英]How to add a servicing time constraint to a vehicle routing problem with time window constraints

我正在构建一个旅游规划器。 该旅游计划者将获得所有地点的行程、所有地点的开放和关闭时间以及每个地点的停留/处理时间的旅行时间矩阵。 我正在使用 Google 的 OR 工具来解决问题

我已经成功地添加了时间窗口约束,但无法向求解器添加停留/处理时间约束。 google OR 工具上的文档显示了如何解决具有时间窗口约束的车辆路线问题,但没有提及我如何向该问题添加更多约束。

到目前为止,我一直在关注本教程。 https://developers.google.com/optimization/routing/vrptw

规划器的预期输出应考虑上述所有三个时间限制,即开放时间、关闭时间和停留/处理时间

这其实很简单。 由于停留时间/处理时间仅取决于目标节点,因此可以将其直接添加到用于解决问题的时间矩阵中。 对于 N*N 时间矩阵(其中 N 是问题中的节点数)和 1*N 停留时间矩阵,必须将停留时间矩阵添加到时间矩阵的每一行以获得包含两者的矩阵时间矩阵和停留时间矩阵。 把这个留在这里给可能面临同样问题的任何人。

您的公交回调应返回服务时间和行程时间的总和。 transit(i, j) == service_time(i) + travel_time(i, j)

如果您的服务时间取决于车辆,您可以为每种车辆类型注册一个公交回调,然后使用AddDimension()重载,它采用公交回调索引数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM