MiniZinc / libminizinc

The MiniZinc compiler
http://www.minizinc.org
Other
499 stars 78 forks source link

CPLEX reports different optimal solution than Gurobi to MIP #405

Closed st3fb0 closed 3 years ago

st3fb0 commented 4 years ago

When running a MIP with "minizinc --solver cplex -v -p 8 --solver-statistics model.mzn data.dzn", another solution to the specific instance is found than with Gurobi "minizinc --solver gurobi-v -p 8 --solver-statistics model.mzn data.dzn". However, with the additional option "--no-optimize", CPLEX provides the same optimal solution, that Gurobi finds in the first place. This is only a problem for a specific problem instance (1 out of 4200). If needed, I will provide the model and data files on request.

glebbelov commented 4 years ago

Hi,

you probably mean different optimal objective value, not just solution.

Depending on the MZN version, Gurobi might receive a different FlatZinc representation of your instance. In the current develop branch, it's quadratics which are given to Gurobi vs decomposed for other MIP solvers. If you have no multiplications, the FZN must be same. YOu can check if it's the same by adding --writeModel model.mps and running each solver directly from each mps instance.

If they receive effectively the same instance, then it's either a bug, or, much more common and even normal, numerical inaccuracy. In the verbose output of a solver you can see numerical stability characteristics and warnings. If there are, try increasing numerical emphasis, or better, reformulate the model. Otherwise, it could be a bug and you can report it.

Cheers, Gleb

On Sat, 29 Aug 2020 at 19:28, stef-1 notifications@github.com wrote:

When running a MIP with "minizinc --solver cplex -v -p 8 --solver-statistics model.mzn data.dzn", another solution to the specific instance is found than with Gurobi "minizinc --solver gurobi-v -p 8 --solver-statistics model.mzn data.dzn". However, with the additional option "--no-optimize", CPLEX provides the same optimal solution, that Gurobi finds in the first place. This is only a problem for a specific problem instance (1 out of 4200). If needed, I will provide the model and data files on request.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/MiniZinc/libminizinc/issues/405, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEEBOZQL53AND6DJRWQNN73SDDC5NANCNFSM4QO4N4CQ .

-- Dr Gleb Belov Monash University +61 3 9903 1622

Dekker1 commented 3 years ago

Since no new information has been supplied in this issue for quite some time I'll close it. We can re-open the issue when more specifics are supplied.