0

我正在尝试使用带有 C# 的 OR 工具来解决带有时间窗口的车辆路由问题。是否可以将装载时间(固定持续时间,车辆到达后必须停留在该位置)添加到每个位置(没有仓库,但位置)?

4

1 回答 1

1

您可以将加载时间添加到离开节点的所有弧。

在您的时间过境回调中,只需返回服务时间+旅行时间。例如

int transitCallbackIndex = routing.RegisterTransitCallback(
        (long fromIndex, long toIndex) => {
        // Convert from routing variable Index to time matrix NodeIndex.
        var fromNode = manager.IndexToNode(fromIndex);
        var toNode = manager.IndexToNode(toIndex);
        return data.TimeMatrix[fromNode, toNode] + data.ServiceTime[fromNode]; }
        );
于 2020-05-05T07:55:28.837 回答