问这个问题是因为在这个问题cbc solver log memory is missing中,我找不到一种方法来测量cbc求解器的内存使用情况。
是否可以用.solve
来衡量以下pympler
命令的内存使用情况?
optim = SolverFactory('glpk')
tr = ClassTracker()
result = optim.solve(model, logfile='urbs_log.txt', tee=False)
tr.track_object(result)
tr.create_snapshot()
tr.stats.print_summary()
这给了我以下输入:
---- SUMMARY ------------------------------------------------------------------
active 0 B average pct
SolverResults 1 24.74 KB 24.74 KB 0%
-------------------------------------------------------------------------------
但是,这并不是正确的内存使用量。因为当我检查glpk
的日志文件时:
OPTIMAL LP SOLUTION FOUND
Time used: 1.6 secs
Memory used: 12.1 Mb (12663652 bytes)
摘要:
我正在尝试使用pympler
来衡量求解器的内存使用情况。它给了我一些价值,但不是求解器的内存使用量。那么有没有办法用12.1 Mb
获取pympler
(基本上是求解器的内存使用量)?
PS:这是一个pyomo模型