JuMP Parameters params depend on the Optimizer?


With JuMP we can pass parameters to the solver in with_optimizer. What I understood is that the parameter depend on the used Optimizer. If I want a Time Limit with GLPK I’ll use tm_lim while with CPLEX it’ll be CPX_PARAM_TILIM.

With MathProgBase and JuMP 0.18 I think it was a common parameter for every solver :TimeLimit. Is that still the case with MathOptInterface and I just missed it? Is that going to be the case? (and if I can help on that in any way I would be happy to)

Thanks in advance!

I don’t believe we have a solver-independent option for the time limit. We have one for Silent (https://github.com/JuliaOpt/MathOptInterface.jl/pull/695), so we would probably accept a similar one for TimeLimit.

Ok, thank you for your answer. If I understand that right each solver interface, like CPLEX.jl, should have implement Silent? I checked CPLEX.jl and it has it in MathProgBase wrapper but not yet in MathOptInterface. Is that right?

Probably. Note that we want to re-write the CPLEX wrapper to simplify it, ensure that all features are implemented, and to remove the dependence on LinQuadOptInterface.

We have started on GLPK https://github.com/JuliaOpt/GLPK.jl/pull/101 and Gurobi: https://github.com/JuliaOpt/Gurobi.jl/pull/216

Re-writing CPLEX is mostly a case of copying the Gurobi wrapper and renaming some of the low-level internal functions.

Thank you again for your answer, that clarify it for me. I’ll follow the evolution of MOI and try to help on CPLEX.jl but as you probably understood I’m still new to GitHub.