【问题标题】:getting some more output from or-tools从 or-tools 获得更多输出
【发布时间】:2020-05-12 00:21:41
【问题描述】:

我正在使用 or-tools 示例“时间窗口的车辆路由问题”[1]

我根据自己的需要对其进行了修改,我对解决方案感到满意。

但是,我如何从求解器中获取一些元数据?

  • 求解时间

  • 使用的算法(如果启用了自动决策)

  • 迭代次数

  • 等。

在示例中,只有一个从求解器返回的赋值。我没有找到上面列出的任何信息。

问候。 另一个

[1]https://developers.google.com/optimization/routing/vrptw

编辑:

部分解决方案是锁定 search_parameters。在这个 var 中有很多信息。

【问题讨论】:

  • 您是否尝试启用日志搜索?

标签: python or-tools


【解决方案1】:

在python中可以先开启日志搜索再求解:

...
search_parameters = pywrapcp.DefaultRoutingSearchParameters()
search_parameters.log_search = True
...
# Solve the problem.
solution = routing.SolveWithParameters(search_parameters)

输出示例:

$ python vrp.py
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0512 13:41:39.431615 16227 search.cc:254] Start search (memory used = 23.05 MB)
I0512 13:41:39.431676 16227 search.cc:254] Root node processed (time = 0 ms, constraints = 88, memory used = 23.09 MB)
I0512 13:41:39.433583 16227 search.cc:254] Solution #0 (18, time = 1 ms, branches = 66, failures = 9, depth = 33, memory used = 23.09 MB)
I0512 13:41:39.437201 16227 search.cc:254] Finished search tree (time = 5 ms, branches = 101, failures = 51, neighbors = 1154, filtered neighbors = 6, accepted neigbors = 0, memory used = 23.09 MB)
I0512 13:41:39.437227 16227 search.cc:254] End search (time = 5 ms, branches = 101, failures = 51, memory used = 23.09 MB, speed = 20200 branches/s)

【讨论】:

  • 这就是我需要的一部分。是否有可能将日志输出放入字符串中?
【解决方案2】:

在底层求解器上,您可以访问其中的大部分。

例如参见C++ documentation of the routing library

请注意,您不能以编程方式查询所使用的移动/算法的类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 2023-01-13
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    相关资源
    最近更新 更多