Failed status in SDPT3 and Sedumi solver

How do these solvers decide the status of optimization problem in cvx?
Is the non-zero duality gap only reason behind the failed/ Inaccurate status?

Please help.


No numerical solver can handle every problem you give it. If it cannot find a point which satisfies the constraints and duality gap requirements to within even a minimum accuracy level, CVX will return cvx_status = 'Failed'. Your only recourses are to try other solvers, rewrite your problem in an equivalent manner, or reduce the precision.

In a great many cases the solvers run into numerical problems because of models that are bad in one way or another. If a model is ill-posed, then minuscule perturbations may change the feasibility status of the problem, or the model may be so badly scaled that double precision floating is inadequate for solving the problem. And those are defects with the models you feed into the solver, not with the solvers…

For a simple discussion of this, you can look at §2.2.5-§2.2.6 in the MOSEK modeling manual:

In most cases, a quick (but critical) inspection of the data gives you an idea of how to reformulate the problem in way that is more digestive for the solver.