Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Strange problem with lazy constraints

    Posted 06/05/13 04:30 AM

    Originally posted by: T_O


    Hi,

    I have a strange problem. I have an IP and successively add constraints and reoptimize. If I add the constraints using CPXXaddrows, everything works fine. But if I add the constraints by CPXXaddlazyconstraints, CPLEX is unable to optimize correctly. I obtain different errors, e.g. 1215 or 1003. Datacheck is on and CPX_PARAM_REDUCE is set to CPX_PREREDUCE_NOPRIMALORDUAL.

    I tried to create a minimal example. The code is attached. Only the last block should be of interest. The problem happens on Ubuntu 12.04 with g++ 4.6.3 (i think, it also happened on Ubuntu 10.04). It does not happen on Windows 7 x64 using g++ 4.8.

    What might be wrong?

    Best regards,
    Thomas


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Strange problem with lazy constraints

    Posted 06/07/13 06:51 AM

    Originally posted by: TobiasAchterberg


    Thanks for reporting this issue. It seems that you have hit a bug in CPLEX that has to do with the memory management of lazy constraints. With your code I am getting uninitialized memory accesses, and the 1215 or 1003 errors are just random symptoms of the bad memory writes.

    I am working on this and will keep you posted.

     

    Tobias

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Strange problem with lazy constraints

    Posted 06/07/13 11:48 AM

    Originally posted by: TobiasAchterberg


    Unfortunately, this is indeed a bug in CPLEX, and a pretty severe one actually. Thanks again for bringing this up.

    The fix is pretty simple, but unfortunately there is not an easy work-around for released versions. The bug was introduced with CPLEX 12.5.0.0 and still exists in 12.5.0.1 and the soon to be released 12.5.1.0.

    The bug is triggered when a model that contains explicit user cuts or lazy constraints (i.e., not via a callback but via the CPXaddusercuts and CPXaddlazyconstraints) is optimized multiple times.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Strange problem with lazy constraints

    Posted 06/07/13 01:18 PM

    Originally posted by: T_O


    Thanks, Tobias!

    I switched to CPLEX 12.4.0.1 and it seems to be working now.

    Best regards,
    Thomas

    BTW: Is there a way to become beta tester to obtain such fixes faster?


    #CPLEXOptimizers
    #DecisionOptimization