[Couenne-tickets] [Couenne, a solver for non-convex MINLP problems] #21: optimal solution wrong when using CPLEX as LP solver (optimal values is ok)
Couenne, a solver for non-convex MINLP problems
coin-trac at coin-or.org
Sun Jul 22 10:34:42 EDT 2012
#21: optimal solution wrong when using CPLEX as LP solver (optimal values is ok)
-------------------------+----------------------
Reporter: stefan | Owner: somebody
Type: defect | Status: new
Priority: critical | Milestone:
Component: component1 | Version:
Resolution: | Keywords:
-------------------------+----------------------
Comment (by pbelotti):
First, please note that there is a more robust way to save a solution,
which uses the class CouenneRecordBestSol. This is in BonCouenne.cpp at
the line:
CouenneRecordBestSol *rs = cp->getRecordBestSol();
I'm not sure whether the lines you added obtain the same effect, but you
may want to check the content of *rs first.
Second, I cannot compare the .sol files as they are saved in binary
format. The objective function value seems to be correct though: with both
stable/0.4 and trunk and using an empty couenne.opt file (apart from the
line {{{lp_solver cplex}}}), the version with Cplex finds a solution of
value 9859.6599 and that with CLP finds one with value 9859.6596.
One puzzling part is that the debug version, with Cplex, has a false
assert: in the trunk version it is due to an integer tolerance missed
(whether by a solution returned by the LP solver I don't know), while in
the stable/0.4 it is a "{{{basis != __null}}}" assert. When not using the
debug version Cplex complains about some contradictory bounds on quite a
few variables.
Regards,
Pietro
--
Ticket URL: <https://projects.coin-or.org/ticket/21#comment:1>
Couenne, a solver for non-convex MINLP problems <https://projects.coin-or.org/Couenne>
Couenne, a solver for non-convex MINLP problems
More information about the Couenne-tickets
mailing list