I got a problem when use fmincon-sqp algorithm. After constraint violation has been minimized less than Tolcon, the program has stopped. However, there are better objective value nearby, and the solver failed to search the optimal. Is there any method to user-define stopping criteria? I only want the program stopped when fval is less than Tolfun, not based on Tolcon.
When it stops for TolCon, it mostly means there may be an optimal solution nearby but you can't reach it because the value at that point violates the constraints you have specified and the optimization stops. Your options would be to completely remove the constraints if you want it to keep searching till fval < TolFun regardless of what the tolerance on constraint is or to decrease TolCon to a very small number and try your luck.