I am using the incumbent callback CPXsetincumbentcallbackfunc to identify integral solutions that do not satisfy nonlinear constraints that are not explicitly part of the constraint set. When such a solution is found, I declare the solution to be infeasible by setting:
*isfeas_p = 0;
*useraction_p = CPX_CALLBACK_SET;
My question is if I have a heuristic to convert the infeasible solution into a feasible one, could I modify the values in the provided
x array of the callback accordingly and set
*isfeas_p = 1? Would that make CPLEX use the incumbent that I constructed?