【问题标题】:Is it possible to access SCIP's Statistics output values directly from PyScipOpt Model Object?是否可以直接从 PyScipOpt 模型对象访问 SCIP 的统计输出值?
【发布时间】:2021-10-22 20:49:38
【问题描述】:

我正在使用 SCIP 使用 PyScipOpt 在 Python 中解决 MILP。解决问题后,求解器统计信息可以 1) 使用 printStatistics() 打印为字符串,或 2) 使用 writeStatistics() 保存到外部文件。例如:

import pyscipopt as pso
model = pso.Model()
model.addVar(name="x", obj=1)
model.optimize()
model.printStatistics()
model.writeStatistics(filename="stats.txt")

printStatistics/writeStatistics 中有很多信息似乎无法从 Python model 对象直接访问(例如原始对偶积分值、单个分支规则或原始启发式的数据等.) 能够通过例如model 对象或字典的属性从该输出中提取数据将很有帮助。

有什么方法可以从model 对象访问这些信息而无需解析原始文本/文件输出?

【问题讨论】:

    标签: scip


    【解决方案1】:

    PySCIPOpt 不直接提供对统计信息的访问。各种表的数据(例如分隔符、预求解器等)为 SCIP 中的每个插件单独存储,有时收集起来并不简单。 如果您只对有关一般求解过程的某些统计数据感兴趣,那么您可能希望为 scip_solvingstats.c 中定义的一些简单的 get 函数添加 PySCIPOpt 包装器。

    最后,您可能需要查看 IPET 以解析统计输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 2011-02-03
      • 2018-07-11
      • 2012-04-03
      相关资源
      最近更新 更多