-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create an interface to Mosek optimisation software #18847
Comments
comment:1
hello, i'm interested in contributing to the MOSEK SDP backend for Sage, but i have no experience in writing Cython library code. Given that there is a project Mosek.pip, i was just wondering if that facilitates in one way or another this task. at the same time one would like that the whole thing works as efficiently as possible.. any feedback is welcome, thanks. |
comment:2
This project just seems to provide an installer for Mosek. (This could also be useful for Sage, of course.) |
comment:3
yes, there is an official Python API. they claim that "The overhead introduced by this mapping (interface to the native C optimizer) is minimal." |
comment:4
Sounds like no Cython programming is necessary then. |
comment:5
if you want to use the unified SemidefiniteProgram() interface in Sage you will need to write a backend; currently the only non-dummy SDP backend in Sage is cvxopt_sdp_backend.pyx So a similar job can be done with Mosek's Python SDP interface |
comment:6
got it, let me have a look and write back later!
.. i want to believe that there's more payoff on these efforts than just aesthetics. python-based modeling interfaces to optimization solvers do exist, such as pyopt, picos or pyomo. if Sage provides extra convenience and functionality for users at different levels then i think that's a sound motivation. |
comment:8
Replying to @mforets:
One certainly does not want to write different code for a different solver. My motivation for pushing for a uniform SDP interface in Sage is the problems of polynomial optimisation which are being solved via the moment method. |
comment:9
then we should follow-up on that later: i was planning to port some functionality from YALMIP tool (Matlab). (aside comments: my experience with yalmip is that when you increase the relaxation order, setting up the problem/symbolics may cost more in cpu / memory than the optimization itself.. AFAIK, for Python there is 1 related project: ncpol2sdpa. that project is great, but i wonder if one can also exploit Sage's fast polynomial libraries, or other compiled code.) |
Commit: |
Branch: u/mforets/18847 |
Author: Marcelo Forets |
comment:10
initial commit added, an adaptation of CVXOPT SDP backend. as it stands, the continuation would be to load Mosek's task with the problem data inside the but i was thinking if it would be desirable (speed? memory?) to initialize the optimization New commits:
|
Mosek makes fast (MI)LP, quadratic and semidefinite programming (SDP) solvers; they come with a free academic license.
A Python interface is provided.
CC: @nathanncohen @mkoeppe @mforets
Component: interfaces: optional
Author: Marcelo Forets
Branch/Commit: u/mforets/18847 @
350045d
Issue created by migration from https://trac.sagemath.org/ticket/18847
The text was updated successfully, but these errors were encountered: