0

我正在使用下面的代码设置 routingModel 的时间限制。

RoutingSearchParameters search_parameters = RoutingModel.DefaultSearchParameters();
search_parameters.FirstSolutionStrategy = FirstSolutionStrategy.Types.Value.PATH_CHEAPEST_ARC;
search_parameters.TimeLimitMs = 30000;
RoutingModel routing = new RoutingModel(number_of_locations, number_of_vehicles);

但是我不知道搜索完成后如何获取状态,所以我可以检查是否是时间限制取消它或由于其他原因没有找到解决方案。请帮忙

Assignment solution = routing.SolveWithParameters(search_parameters);

RoutingModel 类具有此静态属性,但我不知道如何从实例中读取它们:

public static readonly int ROUTING_FAIL;
public static readonly int ROUTING_FAIL_TIMEOUT;
public static readonly int ROUTING_INVALID;
public static readonly int ROUTING_NOT_SOLVED;
public static readonly int ROUTING_SUCCESS;
4

1 回答 1

0

..取消它或找到解决方案是时间限制..

这在 python 3 中对我有用:

....
solution = routing.SolveWithParameters(search_parameters)

if solution:
    print("Solution Found")
    ....
else:
    print("Terminated without finding solution")

如果您正在寻找上述解决方案,或者您是否有兴趣检查找到的解决方案是否是最佳的,则从问题中不清楚。

于 2017-08-22T00:35:08.517 回答