setting mosek precision

58 views
Skip to first unread message

j

unread,
Nov 23, 2019, 1:54:55 AM11/23/19
to mosek
Using `cvx_precision low` in Matlab shows me

    >> cvx_precision 
    Precision setting: low
                  Solver goal:             precision <= 1.35e-06
                   "Solved" if             precision <= 1.22e-04
        "Inaccurate/Solved" if  1.22e-04 < precision <= 1.22e-04

I am trying to replicate this behavior by directly interfacing with mosek's various parameters (and not use `cvx_precision low`), e.g., here: https://docs.mosek.com/9.1/pythonapi/parameters.html#

Upon reading "Controlling the solver precision" subsection 8.2 in https://see.stanford.edu/materials/lsocoee364a/cvx_usrguide.pdf 
it says that

"There are several ways to call thecvx_precision command. If you call it with no arguments, it simply returns a two-element vector of the current precision settings....this is in the above. The first element in that vector is the standard precision; the precision the solver must obtain to return Solved, Unbounded, or Infeasible. The second element in the vector is the “reduced” precision, the precision that the solver must achieve in order to return Solved/Inaccurate,Unbounded/Inaccurate,Infeasible/Inaccurate."

Which few params in mosek could I tune to achieve these two requirements? 

Michal Adamaszek

unread,
Nov 24, 2019, 4:25:52 PM11/24/19
to mosek
The following MOSEK parameters are affected by cvx_precision:

MSK_DPAR_INTPNT_CO_TOL_DFEAS
MSK_DPAR_INTPNT_CO_TOL_INFEAS
MSK_DPAR_INTPNT_CO_TOL_MU_RED
MSK_DPAR_INTPNT_CO_TOL_PFEAS
MSK_DPAR_INTPNT_CO_TOL_REL_GAP

as well as their versions without "CO" if using the interior-point optimizer for linear problems.

When using default cvx precision their values are all equal to 1.4901161193847656e-08, with precision "low" they are all equal to 1.348699152348609e-06.

This is pretty much the content of the table in https://docs.mosek.com/9.1/pythonapi/solving-conic.html#id4

Michal
Reply all
Reply to author
Forward
0 new messages