Originally posted by: Zacharie_ALES
Hello,
I have a confusing behavior that I really don't understand. I will try to explain it as clearly as possible but don't hesitate to ask if some details are not clear. I am using the Java API and I try to evaluate the efficiency of my UserCutCallback. To that end I want to see the improvement of the root relaxation before and after finding cuts in my callback.
So:
- I remove the branching to remain at the root (IloCplex.setParam(IloCplex.IntParam.NodeLim, 0));
- I remove cplex automatic cuts (IloCplex.setParam(IloCplex.DoubleParam.CutsFactor, 0.0)).
During my callback no violated cut is found, however the optimal solution is obtained. This would be normal if the root relaxation was integer. The strange part is that it is not. Indeed, if I comment the content of the main() function in my UserCutCallback, the problem is not solved optimally.
So my question is the following: If nothing is done in my callback why is the problem solved optimally? I really have no clue why cplex gives two different results.
Thanks in advance for any suggestion!
#CPLEXOptimizers#DecisionOptimization