使用 OR 工具和 C# 固定位置加载时间
Fixed location loading time using OR tools with C#
我正在尝试通过 C# 使用 OR 工具解决 Vehicle Routing Problem with Time Windows。
是否可以在每个地点(没有depot,但有location)加上loading time(固定时长,即车辆到达后必须停留在该地点)?
您可以将加载时间添加到所有离开节点的弧。
在您的时间中转回调中只需 return 服务时间 + 旅行时间。
例如
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]; }
);
我正在尝试通过 C# 使用 OR 工具解决 Vehicle Routing Problem with Time Windows。 是否可以在每个地点(没有depot,但有location)加上loading time(固定时长,即车辆到达后必须停留在该地点)?
您可以将加载时间添加到所有离开节点的弧。
在您的时间中转回调中只需 return 服务时间 + 旅行时间。 例如
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]; }
);