I followed the example to branch using make_branch() in the control(branch) callback of the MIP. But I noticed that the solving processes differ surprisingly under different settings of the variable select strategy. How was it possible since I replace all the CPLEX's decisions with my decisions?
Asked
Active
Viewed 77 times
1 Answers
1
CPLEX cannot tell whether you are going to query its branching decisions from the callback or not. So before invoking the callback, CPLEX computes what variables it would branch on, so that this information can be reported to the callback.
Even if you never query this information, it is still computed and computing that information may change the rest of the execution, thus resulting in different search trees.

Daniel Junglas
- 5,830
- 1
- 5
- 22