Topic
IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
4 replies Latest Post - ‏2013-02-25T01:59:30Z by gangulo
gangulo
gangulo
34 Posts
ACCEPTED ANSWER

Pinned topic Cuts derived from lazy constraints

‏2013-02-21T23:03:10Z |
I'm a bit puzzled about some aspects of lazy constraints, and I would appreciate some input here.

If I add a lazy constraint through a user-cut or lazy-cut callback, does CPLEX take into account this new constraint to generate cuts? If so, how is this affected by the parameter 'purgeable' of the function CPXcutcallbackadd? Note that in this case the cuts generated by CPLEX may be invalid for the original model. By the way, I see that the parameter 'purgeable' is not present in CPXcutcallbackaddlocal, why?

Thanks!
Updated on 2013-02-25T01:59:30Z at 2013-02-25T01:59:30Z by gangulo
  • SystemAdmin
    SystemAdmin
    7929 Posts
    ACCEPTED ANSWER

    Re: Cuts derived from lazy constraints

    ‏2013-02-22T09:52:09Z  in response to gangulo
    Some of the cut separators of CPLEX (for example Gomory cuts) produce higher rank cuts. This means, they produce cuts on top of other cuts, including the cuts that came into the LP relaxation from the user's cut and lazy constraint callbacks and tables.

    The CPXcutcallbackaddlocal() method does not have a purgeable parameter, because cuts can (due to internal data structure management) only be purged at the root node. So, if branching started, no cuts can be purged anymore, hence there is no reason to have the parameter for the CPXcutcallbackaddlocal() method.
    Tobias
    • gangulo
      gangulo
      34 Posts
      ACCEPTED ANSWER

      Re: Cuts derived from lazy constraints

      ‏2013-02-22T14:50:33Z  in response to SystemAdmin
      Thanks for the answer, Tobias!
      And just to know, does CPLEX generate local cuts on its own, or only global cuts?
      • SystemAdmin
        SystemAdmin
        7929 Posts
        ACCEPTED ANSWER

        Re: Cuts derived from lazy constraints

        ‏2013-02-23T15:29:11Z  in response to gangulo
        In default settings, CPLEX does not generate locally valid cuts on its own.
        It may very occasionally branch on hyperplanes (which is a sort of locally valid cuts) but this should be pretty much an exception.

        Tobias