I am trying to solve some optimization problems using JuMP + CPLEX. Since some problems take a long time I define a time limit of 3600 seconds for my model :
model = Model(CPLEX.Optimizer)
set_optimizer_attribute(model, “CPX_PARAM_TILIM”, 3600)
During the resolution it seems quite clear that there are dual solutions. Here is an extract of the solver’s output :
Iteration log . . .
Iteration: 1 Dual objective = 17.000000
Iteration: 279 Dual objective = 103.439732
Iteration: 611 Dual objective = 123.893585
Iteration: 942 Dual objective = 136.268979
Iteration: 1305 Dual objective = 141.619549
I am interested in these dual objective values, however I cannot query them. As soon as the time limit is reached, I get the following :
ERROR: AssertionError: MOI.get(model, MOI.TerminationStatus()) == MOI.INFEASIBLE
This happens on the line where I call optimize! . I expected to get a status such as MOI.TIME_LIMIT and still be able to query information about the model. Am I doing something wrong, or is there a problem with JuMP / CPLEX.jl ?
I am on Julia 1.3.1, JuMP 0.21.2, and CPLEX.jl 0.6.5, thank you for reading.