I was using the gurobi cut callback via its C API and noticed some "wrong" results. For a given feasible model, when user cuts (they are valid cuts by design and we also check their validity using the optimal solution) were separated and added, we noticed that Gurobi declare this model is infeasible. While we turn off user cuts, Gurobi could identify the optimal solution. Attached below are the screenshots of our C++ codes about how we use the cut callback. Anybody has insights about this? I'm wondering, when user cuts are added to Gurobi, does Gurobi further process them (like strengthening them)? Any comments would be appreciated.
Please sign in to leave a comment.