[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