The difference between solvers

What is the difference between solver SDP and MOSEK? Where is SDP used and where is MOSEK used?

sdp is not a solver but an input mode. see the cvx users’ guide.

In chapter 8 of the CVX User Guide:
Each solver has different capabilities and different levels of performance. For instance, SeDuMi [Stu99],SDPT3 [TTT03], and MOSEK support all of the continuous (non-integer) models that CVX itself supports,while Gurobi is more limited, in that it does not support semidefinite constraints; and GLPK is limited evenfurther. On the other hand, Gurobi, GLPK, and MOSEK support integer consraints, while SeDuMi andSDPT3 do not.
SeDuMi and SDPT3 are included with the standard CVX distribution, so you do not need to download anadditional solver to start using CVX. We have also entered into contractual arrangements with the developers of Gurobi and MOSEK that allow us to ship their binaries with CVX as well, but using those solvers requires a CVX Professional license. Due to license differences, we are not able to supply GLPK with CVX. However,

search “SDP” in that manual. SDP is not solver.

SDP is a generic term and means semi-definite programming. As @jackfsuia writes there is no solver called SDP.

Perhaps @zhi-ui is mis-calling the SDPT3 solver as SDP. SDPT3 solver is so-named because it solves SDP and was written by 3 authors whose last initial is T.

Aside from the differences stated in the CVX User’s Guide extract, Mosek now also natively solves additional cone types (Exponential Cone which is exploited by CVX, and Power Cone which is not exploited by CVX). Moreover, Mosek and Gurobi are both commercially developed and supported solvers, and are more numerically robust and generally higher performing than the non-commercial solvers for the problem classes they handle.

1 Like