cvx

Accuracy of CVX solvers


I have read in the CVX manual that CVX solvers can efficiency solve some optimization problems to an arbitrary accuracy. I do not understand what arbitrary accuracy means? What it depends on? How we can control it?

Any ideas/hints on where to read to understand more will be appreciated.


Solution

  • The CVX solver will iterate a number of times until the desired accuracy (or rather precision) is achieved. The result as found by the CVX solver is then within a certain range of the solution.

    Arbitrary accuracy means that you can set the precision you need i.e how close the result has to be to the actual solution. To achieve a better precision will take more time because the CVX solver has to perform more iterations to get closer to the actual solution.

    See the associated section about precision in the CVX User Manual.

    The relevant parts are:

    Numerical methods for convex optimization are not exact; they compute their results to within a predefined numerical precision or tolerance.

    and:

    If you wish to modify the tolerances, you may do so using the cvx_precision command.