Error Handling JuMP and CPLEX

This is a bug in CPLEX. It’s probably related to Nonconvex QP feasibility bug · Issue #357 · jump-dev/CPLEX.jl · GitHub, which I have already reported to the CPLEX developers.

What’s your versioninfo()?

julia> versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1* (2020-11-09 13:37 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
  LIBM: libopenlibm
  LLVM: libLLVM-10.0.1 (ORCJIT, broadwell)

I’m not sure if this is helpful information or not, but if I get the output values after the error is thrown, value.(all_variables(m)), and compare them to the output values on my other computer that does not have the error, the values are only off by a small amount (average difference 4e-5, max difference 2e-3)

You should update to the latest CPLEX (20.1) and check if it has been fixed yet.

Or use OSQP (GitHub - oxfordcontrol/OSQP.jl: Julia interface for OSQP: The Operator Splitting QP Solver).

If you have a commercial agreement with IBM, you should contact IBM support. Otherwise I don’t have an ETA for when you could expect it to be fixed.

1 Like

Updating to CPLEX 20.1, julia 1.5.4 unfortunately did not fix the problem. Thank you for your help though. Could you briefly explain why you think it is still a CPLEX bug when it seems to be machine dependent (aka it works on your computer and one of mine, but not my other one)?

OSQP appears to work well for my problem set.

It probably depends on the linear algebra library that CPLEX is using. Different machines can get different results on the same problem.