Originally posted by: Rafael Colares
Hi,
I'am using CPLEX 12.7.1 with C++ to solve a MIP program.
My problem is the following: if I solve the model without using any control callback, I get an optimal solution in "reasonable" time. However, if I add a dummy control callback (an empty callback), then the execution is much slower than before.
I know, control callbacks may disable some features, such as dynamic search and parallelism. I also saw on the display log that presolve phase was slightly different in each case. For this reason, I set the following parameters:
cplex.setParam(IloCplex::Param::MIP::Strategy::Search, 1);
cplex.setParam(IloCplex::Threads, 1);
cplex.setParam(IloCplex::ParallelMode, 1);
cplex.setParam(IloCplex::PreInd, 0);
In this way, there is no parallelism, no dynamic search and no preprocessing. Still, performances were highly different !
Without any callbacks, CPLEX finds an optimal solution after 70 sec.
With a dummy callback, CPLEX struggles for more than 700 sec !
Could someone please clarify me on what's going on? Which other features control callbacks may influence? I have searched for it but all I could find was dynamic search and parallelism...
Thank you.
#CPLEXOptimizers#DecisionOptimization