Originally posted by: AndreaTramontani
Hello!
Generally, CPLEX tries to separate cutting planes both at the root node and in the tree (i.e., at the nodes enumerated during branch-and-bound).
As you may expect, cuts are separated/applied much more aggressively at the root, and in a more conservative way in the tree.
More specifically, CPLEX collects some information along the run to measure how much cuts separated in the tree appear to be effective, and the effort spent in separating cuts
is automatically tuned along the run according to those information. Furthermore, cuts are filtered and not all separated cuts are applied.
Cut filtering is applied both at the root and in the tree, but the filter is "stronger" in the tree, so more cuts are rejected. Therefore, there might be cases
in which CPLEX indeed separate cuts in the tree, but all cuts are then rejected by the filter and none of them is applied.
To gather some qualitative information on how often CPLEX applies cuts in the tree, you can set the parameter CPX_PARAM_MIPDISPLAY to a value >= 3.
In this way, CPLEX will display log lines during branch and bound whenever some cuts are applied.
Be aware, however, that those log lines only report the number of applied cuts, i.e., of cuts that are added the problem at hand.
No information is reported about cuts that are separated but not added (i.e., rejected by the filter), or cuts that are purged (i.e., removed).
Hope this can help you.
#CPLEXOptimizers#DecisionOptimization