如何使用 JuMP/GLPK 获得求解时间
How to get solve time using JuMP/GLPK
我无法使用 JuMP 和 GLPK 获取 MIP 模型的求解时间和节点数。使用 Gurobi 效果很好。这是重现我收到的错误的最小示例:
using JuMP
using GLPKMathProgInterface
m = Model(solver=GLPKSolverMIP())
@variable(m, x, upperbound=1)
@objective(m, Max, x)
solve(m)
println(getsolvetime(m))
我收到错误:
ERROR: MethodError: no method matching getsolvetime(::GLPKMathProgInterface.GLPKInterfaceMIP.GLPKMathProgModelMIP)
Closest candidates are: getsolvetime(::JuMP.Model) at
~/.julia/v0.5/JuMP/src/JuMP.jl:205
getsolvetime(::MathProgBase.SolverInterface.LPQPtoConicBridge) at
~/.julia/v0.5/MathProgBase/src/SolverInterface/lpqp_to_conic.jl:199
getsolvetime(::Int64) at
~/.julia/v0.5/MathProgBase/src/SolverInterface/SolverInterface.jl:27
... in getsolvetime(::JuMP.Model) at
~/.julia/v0.5/JuMP/src/JuMP.jl:208
使用 getnodecount 方法时会显示等效消息。我从文档中了解到,这些功能只有在实现后才可用。这个错误是否意味着它们没有实现?有没有办法访问任何进入内部模型的信息?
如有任何指示,我们将不胜感激
谢谢。
看来solve_time(model)
现在可以了
我无法使用 JuMP 和 GLPK 获取 MIP 模型的求解时间和节点数。使用 Gurobi 效果很好。这是重现我收到的错误的最小示例:
using JuMP
using GLPKMathProgInterface
m = Model(solver=GLPKSolverMIP())
@variable(m, x, upperbound=1)
@objective(m, Max, x)
solve(m)
println(getsolvetime(m))
我收到错误:
ERROR: MethodError: no method matching getsolvetime(::GLPKMathProgInterface.GLPKInterfaceMIP.GLPKMathProgModelMIP) Closest candidates are: getsolvetime(::JuMP.Model) at ~/.julia/v0.5/JuMP/src/JuMP.jl:205
getsolvetime(::MathProgBase.SolverInterface.LPQPtoConicBridge) at ~/.julia/v0.5/MathProgBase/src/SolverInterface/lpqp_to_conic.jl:199
getsolvetime(::Int64) at ~/.julia/v0.5/MathProgBase/src/SolverInterface/SolverInterface.jl:27
... in getsolvetime(::JuMP.Model) at ~/.julia/v0.5/JuMP/src/JuMP.jl:208
使用 getnodecount 方法时会显示等效消息。我从文档中了解到,这些功能只有在实现后才可用。这个错误是否意味着它们没有实现?有没有办法访问任何进入内部模型的信息?
如有任何指示,我们将不胜感激
谢谢。
看来solve_time(model)
现在可以了