Is solver OSQP still supported?

258 views
Skip to first unread message

Andres Ladino

unread,
Jan 24, 2018, 8:23:18 AM1/24/18
to YALMIP
Good afternoon,

Does Yalmip support the solver OSQP ?

Launching the test I cannot find it within the list. (Last Release R20171121)
++++++++++++++++++++++++++++++++++++++++++++++
|       Searching for installed solvers       |
+++++++++++++++++++++++++++++++++++++++++++++++
|        Solver|   Version/module|      Status|
+++++++++++++++++++++++++++++++++++++++++++++++
|         BARON|                 |   not found|
|      BINTPROG|                 |   not found|
|     BISECTION|                 |       found|
|        BMIBNB|                 |       found|
|           BNB|                 |       found|
|        BONMIN|                 |   not found|
|         BPMPD|                 |   not found|
|           CBC|                 |   not found|
|          CDCS|                 |   not found|
|           CDD|           CDDMEX|       found|
|           CLP|        CLPMEX-LP|   not found|
|           CLP|        CLPMEX-QP|   not found|
|           CLP|             OPTI|   not found|
|         CPLEX|       IBM 12.6.3|   not found|
|         CPLEX|       IBM 12.6.3|   not found|
|         CPLEX|       IBM 12.6.2|   not found|
|         CPLEX|       IBM 12.6.2|   not found|
|         CPLEX|       IBM 12.6.1|   not found|
|         CPLEX|       IBM 12.6.1|   not found|
|         CPLEX|       IBM 12.6.0|   not found|
|         CPLEX|       IBM 12.6.0|   not found|
|         CPLEX|       IBM 12.5.1|   not found|
|         CPLEX|         IBM 12.5|   not found|
|         CPLEX|         IBM 12.4|   not found|
|         CPLEX|         IBM 12.3|   not found|
|         CPLEX|         IBM 12.2|   not found|
|         CPLEX|         IBM 12.1|   not found|
|         CPLEX|         IBM 12.0|   not found|
|         CPLEX|         CPLEXINT|   not found|
|         CPLEX|         CPLEXMEX|   not found|
|          CSDP|             opti|   not found|
|          CSDP|                 |   not found|
|        CUTSDP|                 |       found|
|        CUTSDP|                 |       found|
|          DSDP|             OPTI|   not found|
|          DSDP|                5|   not found|
|          DSDP|                4|   not found|
|          ECOS|                 |   not found|
|      FILTERSD|            dense|   not found|
|      FILTERSD|           sparse|   not found|
|       FMINCON|        geometric|       found|
|       FMINCON|         standard|       found|
|    FMINSEARCH|                 |       found|
|         FRLIB|                 |   not found|
|          GLPK|       GLPKMEX-CC|       found|
|          GLPK|          GLPKMEX|       found|
|          GLPK|          GLPKMEX|   not found|
|        GPPOSY|                 |   not found|
|        GUROBI|           GUROBI|   not found|
|        GUROBI|              MEX|   not found|
|    INTLINPROG|                 |       found|
|         IPOPT|         standard|   not found|
|         IPOPT|        geometric|   not found|
|         KKTQP|                 |       found|
|        KNITRO|                 |   not found|
|          KYPD|                 |   not found|
|         LINDO|             MIQP|   not found|
|         LINDO|              NLP|   not found|
|       LINPROG|                 |       found|
|        LMILAB|                 |       found|
|       LMIRANK|                 |   not found|
|     LOGDETPPA|              0.1|   not found|
|       LPSOLVE|        MXLPSOLVE|   not found|
|        LSQLIN|                 |       found|
|     LSQNONNEG|                 |       found|
|        MAXDET|                 |   not found|
|         MOSEK|             SOCP|   not found|
|         MOSEK|            LP/QP|   not found|
|         MOSEK|              SDP|   not found|
|         MOSEK|        GEOMETRIC|   not found|
|         MPLCP|                 |   not found|
|           MPT|                3|       found|
|           MPT|                2|   not found|
|           NAG|           e04mbf|   not found|
|           NAG|           e04naf|   not found|
|         NOMAD|                 |   not found|
|          NONE|                 |       found|
|          OOQP|                 |   not found|
|          OOQP|                 |   not found|
|           OSL|          OSLPROG|   not found|
|        PENBMI|           PENOPT|   not found|
|        PENBMI|           TOMLAB|   not found|
|        PENLAB|                 |   not found|
|        PENNON|         standard|   not found|
|        PENSDP|           PENOPT|   not found|
|        PENSDP|           TOMLAB|   not found|
|           POP|                 |   not found|
|   POWERSOLVER|                 |   not found|
|          QPAS|                 |   not found|
|          QPIP|                 |   not found|
|       QPOASES|                 |   not found|
|         QSOPT|             OPTI|   not found|
|         QSOPT|         MEXQSOPT|   not found|
|      QUADPROG|                 |       found|
|    QUADPROGBB|                 |   not found|
|          SCIP|           linear|   not found|
|          SCIP|               nl|   not found|
|           SCS|           direct|   not found|
|           SCS|         indirect|   not found|
|          SDPA|                M|   not found|
|         SDPLR|                 |   not found|
|        SDPNAL|              0.5|   not found|
|        SDPNAL|                 |   not found|
|         SDPT3|                4|       found|
|         SDPT3|              3.1|       found|
|         SDPT3|             3.02|   not found|
|         SDPT3|              3.0|   not found|
|        SEDUMI|              1.3|       found|
|        SEDUMI|              1.1|   not found|
|        SEDUMI|             1.05|   not found|
|        SEDUMI|             1.03|   not found|
|         SNOPT|        geometric|   not found|
|         SNOPT|         standard|   not found|
|         SNOPT|             cmex|   not found|
|    SPARSECOLO|                0|   not found|
|     SPARSEPOP|                 |   not found|
|         STRUL|                1|   not found|
|          VSDP|              0.1|   not found|
|        XPRESS|     MEXPRESS 1.1|   not found|
|        XPRESS|     MEXPRESS 1.0|   not found|
|        XPRESS|             FICO|   not found|
|        XPRESS|             FICO|   not found|
+++++++++++++++++++++++++++++++++++++++++++++++

I checked with a simple problem

websave('install_osqp.m', 'https://dl.bintray.com/bstellato/generic/OSQP/0.2.1/install_osqp.m');
install_osqp
x
= sdpvar
const = x>=0.5
obj
= x^2
optimize
(const,obj,sdpsettings('solver','osqp'))


Linear scalar (real, 1 variable)
++++++++++++++++++++++++++++++++++++++
|   ID|                    Constraint|
++++++++++++++++++++++++++++++++++++++
|   #1|   Element-wise inequality 1x1|
++++++++++++++++++++++++++++++++++++++
Quadratic scalar (real, homogeneous, 1 variable)
Warning: Specified solver name not recognized (osqp)


ans
=


    solvertime
: 0
          info
: 'Specified solver name not recognized (osqp)'
       problem
: -9
    yalmiptime
: 0.6658


Johan Löfberg

unread,
Jan 24, 2018, 12:17:37 PM1/24/18
to YALMIP
It is not not supported, i.e. it is still in the definesolver functionality, but I haven't seen it or used it for half an eternity. When it last was tested, it required the existence of a file OSQP in the path, and it called the command osqp in callosqp

solver(i) = qpsolver;
solver(i).tag     = 'OSQP';
solver(i).version = '';
solver(i).checkfor= {'OSQP'};
solver(i).call    = 'callosqp';
i = i+1;

Bartolomeo Stellato

unread,
Feb 6, 2018, 11:39:50 PM2/6/18
to YALMIP
OSQP Matlab interface is supported and Yalmip should work with it. It seems that OSQP does not appear in the list of the YALMIP supported solvers for your YALMIP version (it does not appear neither as "found" not "not found"). What happens if you run the following?

s = osqp; s.version

If it returns the version there should be no problem in the OSQP installation. Note that the script install_osqp.m adds the right directories to the path already. With the latest YALMIP master branch the command

yalmiptest('osqp')

solves all the tests for me. Could you please check if it works in your case? I think you might have an older yalmip version. What happens if you run the following?

yalmip('version')

Bartolomeo

Reply all
Reply to author
Forward
0 new messages