Originally posted by: SystemAdmin
[prubin said:]
First, there is always the possibility that added cuts do not reduce the linear hull of the problem enough to compensate for the increased size of the problem. More constraints means a bigger basis matrix, slower pivoting, etc.
Second, there is an element of luck involved. Suppose that I have a model for which CPLEX will happen to take a search path that quickly finds the optimal solution, allowing the rest of the search tree to be pruned fairly early. Now suppose that I add valid cuts at the root node. Those cuts could cause CPLEX to change its branching path. I'm not saying the cuts would cut off the optimal node; CPLEX might just decide to branch on an different variable, because the LP relaxation at the root has a different solution. If the cuts steer CPLEX away from that fortunate path it would have taken without the cuts, it may search more (perhaps many more) nodes before finding its way to the optimal solution.
If your cuts slow CPLEX down on several instances of the same problem, I would look at whether the cuts are good cuts (and whether they are implemented correctly). If they slow CPLEX down on just one instance, that could be luck.
/Paul
#CPLEXOptimizers#DecisionOptimization