scipopt / SCIP.jl

Julia interface to SCIP solver
MIT License
94 stars 24 forks source link

SCIP optimizer status likely ser incorrectly. #285

Open jd-lara opened 6 months ago

jd-lara commented 6 months ago

JuMP can't retrieve the result of a successful optimize! call giving the result below. It might be a case that the status is set incorrectly in the MOI wrapper.

image
jd-lara commented 6 months ago

The problem goes away if direct_mode isn't used. So far I tried to reproduce in a small problem and didn't happen.

matbesancon commented 4 months ago

are you sture this is SCIP-related? It seems like a JuMP error no?

matbesancon commented 4 months ago

cc @odow

odow commented 4 months ago

We need a reproducible example, or the output of JuMP.solution_summary(model).

We only throw this error if the termination status is MOI.OPTIMIZE_NOT_CALLED: https://github.com/jump-dev/JuMP.jl/blob/509ab616192bc90891c329010e2205f414c8cf94/src/optimizer_interface.jl#L716-L719

SCIP maps SCIP_STATUS_UNKNOWN to MOI.OPTIMIZE_NOT_CALLED: https://github.com/scipopt/SCIP.jl/blob/2d3897668d4f718f8a04e4a8d708ac938df48a93/src/MOI_wrapper/results.jl#L9

So perhaps the fix probably needs to happen in SCIP.jl. I don't know why the status would be unknown; it looks like the solver found a solution.