Originally posted by: AbdelhalimHiassat
Hello,
I am using CPLEX 12.6 Callable Library.
I have a branch callback, and I let CPLEX choose the variable to branch on (as it does by default), except I add a priority list for some variables using CPXcopyorder. I have the following settings to guarantee I'm working on the original model.
// Let MIP callbacks work on the original model /
status = CPXsetintparam (env, CPX_PARAM_MIPCBREDLP, CPX_OFF);
// Assure linear mappings between the presolved and original models
status = CPXsetintparam (env, CPX_PARAM_PRELINEAR, CPX_OFF);
// Only primal reductions are perfomed (as suggested by 'CPXsetbranchcallbackfunc' description)
status = CPXsetintparam (env, CPX_PARAM_REDUCE, 1);
I traced the tree from the root node, and I realized that it branches on the same variable (x2 for example) twice in the same tree. I.e., seq0 (root node) branches to seq1 and seq2 by branching on the binary x2. Then, seq1 branches to seq5 and seq6 by branching on the binary x21. After that, seq6 branches to seq7 and seq8 by branching on x2 again. (I neglected the branching that seq2 makes).
Any idea why this happens?
#CPLEXOptimizers#DecisionOptimization