Originally posted by: SystemAdmin
[prubin said:]
A few possibilities come to mind. One is to use a cut callback and add the tightened bounds as cuts. (I assume you will only be tightening bounds, not loosening them.) This does have the drawback of expanding the size of the problem. Another is to use a branch callback but only create a single child node, with variable bounds tightened as desired. CPLEX is then free, when it visits the child node, to branch as desired. (Whether it visits this node immediately depends, I think, on the node estimate you give, the value of PX_PARAM_NODESEL. what else is going on in the tree, whether you use a node callback, and possibly the alignment of the planets.) A third is to use the information available to the branch callback function (arguments type, nodecnt etc.) to create arguments to CPXbranchcallbackbranchbds that do both what CPLEX planned to do and include your tightened bounds.
/Paul
#CPLEXOptimizers#DecisionOptimization