Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

cut callback is invoked twice

  • 1.  cut callback is invoked twice

    Posted Mon December 09, 2019 04:16 PM

    Originally posted by: Atefeh alizadeh


    Hi,

    I am trying to add cut at some of the nodes of the branch and bound tree and prune the node. But I realized that at each node Cplex invokes Cut Callback twice if I do not add a cut. However, if I prune that node using a cut, Cplex will explore other nodes for the next iteration.

    Is there any way to force Cplex to invoke the cut callback one time at each node?

    Thank you in advance.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: cut callback is invoked twice

    Posted Fri December 13, 2019 07:06 AM

    At each node CPLEX performs multiple rounds of cut separation (as long as it finds cuts). In each round it invokes its internal cut separators and the cut callback. The only way to prevent that is to stop cut separation after the first round. To do that you can invoke exitCutLoop() from the callback.

    Another option would be to keep track of the unique id of the current node and only separate cuts if that id changed. That will do separation only once per node but will leave all CPLEX separators in their default state.


    #CPLEXOptimizers
    #DecisionOptimization