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