If an optimizer reaches an iteration limit or time limit etc, it can communicate that via an MOI status. I think failing a tolerance test but correctly reporting an iteration limit is much better than failing the tolerance test but reporting OPTIMAL. So we should have a mechanism for that (e.g. tolerance tests are skipped if a failing status is reported, and have a separate count for # problems optimally solved).
We tried to do that as you say in ProxSDP.
The failing tests, return TIME/ITERATION_LIMIT, and check if the available solution is feasible or not to return FEASIBLE_POINT or INFEASIBLE_POINT.
If an optimizer reaches an iteration limit or time limit etc, it can communicate that via an MOI status. I think failing a tolerance test but correctly reporting an iteration limit is much better than failing the tolerance test but reporting OPTIMAL. So we should have a mechanism for that (e.g. tolerance tests are skipped if a failing status is reported, and have a separate count for # problems optimally solved).