0

有没有用纸浆提取CBC经过时间的命令?

通过使用prob.solve(pulp.PULP_CBC_CMD(msg=True)),我们可以在日志中获得该过程的详细信息。但我想知道是否有任何命令可以提取经过的时间并将其写入文件。

4

1 回答 1

2

如果你这样做prob.solutionTime,你应该花时间解决纸浆衡量的问题(不一定是 CBC 报告的问题,但可能接近)。

一个完整的例子:

from pulp import *
prob = LpProblem("test", const.LpMinimize)
x = LpVariable("x", 0, 4)
y = LpVariable("y", -1, 1)
z = LpVariable("z", 0)
w = LpVariable("w", 0)
prob += x + 4 * y + 9 * z, "obj"
prob += x + y <= 5, "c1"
prob += x + z >= 10, "c2"
prob += -y + z == 7, "c3"
prob += w >= 0, "c4"
prob.solve()
print(prob.solutionTime)

如果您想要一种解析 CBC 日志文件的方法,那么您可以查看我创建的这个库,它从 CBC、GUROBI 或 CPLEX 日志文件返回字典:https ://github.com/pchtsp/orloge

于 2020-06-22T13:45:32.933 回答