Closed johnyf closed 6 years ago
I shall finish reviewing later today.
This PR has been open for more than one month, but there has been no negative comment about changes to the API. Backwards compatibility only seems to be affected for special uses of the package, and I guess that the number of affected (broken API) implementations is small or zero.
Currently I do not have access to MOSEK, but the support of it is via cvxopt
, and the use of cvxopt
continues to be correct. It might be interesting to compare performance between the cvxopt
wrapper of MOSEK and the MOSEK Fusion API.
My experience from another project: using MOSEK API directly is much faster than cvxopt
(but we were solving fewer and larger optimization problems for the other project).
Because there is now a module named solvers
in the polytope
package, it can be confusing to also use from cvxopt import solvers
in solvers.py.
Because it only concerns internal naming style within solvers.py, this comment is not yet critical. I recommend to eventually change to import cvxopt.solvers
, instead of solvers
. As it is, the name resolution for solvers
in cvxopt
vs. in polytope
is unambiguous, but if someone is skimming the code, it might not be clear to them.
Another possibility is from cvxopt import solvers as cvx_solvers
: slightly shorter (in this case small difference, would matter more to obtain shorter lines for a deeper import, e.g., networkx.drawing.nx_pydot
).
Addresses:
solvers
.mosek
.