-
Notifications
You must be signed in to change notification settings - Fork 87
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
Set request: ScaledPSDCone #531
Comments
Yes please! |
Looks like we can move ahead with this? |
Do we really need three versions of the PSD cone? It's a lot of complexity to manage within MOI. Light bridges could shift the balance, but they don't exist yet. |
What is the timeline for the lighter bridges? |
After JuMP 0.19 |
Ok. This year? |
I don't know. I wouldn't recommend blocking your work on it. |
The level of complexity that will need to be introduced on the solver side is unacceptable. I will wait. @blegat I'm prepared to help. |
I added the scaled PSD cone to SCS here: jump-dev/SCS.jl#219, along with a bridge from A bigger issue than the scaling, which is easy to deal with, is the permutation of the cone. For now I think we're okay with non-standard bridges in the packages. We can revisit if lots of solvers end up using the same bridge and set. |
I'm going to close this issue. We don't need more complications at the MOI level. We now have a good way for solvers to define their own bridges and expose them via the There are also some differences with how the matrices are permuted (lower triangular or upper triangular), so the best course of action is to look at the SCS set and bridge and make the appropriate changes: |
I'm reopening since not having this set starts to generate a lot of duplicate code across solvers:
I don't think we need to add the scaled psd square, scaled log-det etc... but the scaled psd triangle would definitely help |
The scaled PSD cone was removed in #176 arguing that it is not useful when modeling.
However, some solvers such as SCS and Mosek uses it internally and need to transform the unscaled PSD coefficients to the PSD coefficients and also transforming constraintprimal and constraintdual values.
If we add the scaled PSD cone back, these transformations could be factored out of the solver wrappers into a bridge in MOI.
This might seem inefficient to have a bridge for such simple transformation but in fact if implemented as a light bridge (see #523), it shouldn't have more overhead that the transformation currently carried out in the solver wrappers. At least there would be only one place to check for performance.
What do you think ? Should we bring it back ?
The text was updated successfully, but these errors were encountered: