我正在尝试使用带有C#的OR工具来解决带有Time Windows的Vehicle Routing问题。是否可以将装载时间(固定持续时间,车辆到达后必须停留在该地点)添加到每个地点(没有仓库,但有地点)?
您可以仅将加载时间添加到从该节点出来的所有弧中。
在您的时间转换回调中,只需返回服务时间+行驶时间。例如
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]; }
);
您能否分享一些示例或链接?谢谢
您有一个距离矩阵,或某些函数返回两个节点之间的距离。将加载时间添加到该计算出的距离中。