温馨提示:本文翻译自stackoverflow.com,查看原文请点击:traveling salesman - Fixed location loading time using OR tools with C#
c# or-tools traveling-salesman vehicle-routing

traveling salesman - 使用带有C#的OR工具固定的位置加载时间

发布于 2020-08-17 16:23:30

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

查看更多

提问者
Smyk L.
被浏览
17
2,085 2020-05-13 16:28

您可以仅将加载时间添加到从该节点出来的所有弧中。

在您的时间转换回调中,只需返回服务时间+行驶时间。例如

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]; }
        );