I'm implementing a B&Cut algorithm with BCL - C++ using the cut manager callback.

Also I have to implement Lazy Constraints, that is, after each integer solution, search the violated constraints and add it.

Now, I'm using XPRSsetcbintsol callback to detect all the integer solutions during the B&B. In my actual code, after some interations yes... the callback detect an integer solution, for that, there are a violated constraint, I indicate that this constraint is a lazy constraint with "setDelayed(true)" but, in the next iteration the MIP optimizer said "optimal solution"... that is, finish the search through the tree and the last solution is the same that if i don't add the lazy constrait... some help? I'm not sure if i'm using the correct callback (setcbintsol), or if I need to disable (or able) come option for this function.

The delayed constraint property can only be set before you load the problem into the solver, not during the MIP search.

If you wish to add cuts, you need to do so via the 'addCuts' routine in the cutmanager callback.

Furthermore, if you wish to be able to reject an integer solution, this can be done in the 'preintsol' callback.