Skip to content
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

Explain SOC-via-quadratic test #307

Closed
mlubin opened this issue Apr 15, 2018 · 2 comments · Fixed by #1460
Closed

Explain SOC-via-quadratic test #307

mlubin opened this issue Apr 15, 2018 · 2 comments · Fixed by #1460
Labels
good first issue Submodule: Tests About the Tests submodule Type: Documentation This issue requires changes to the documentation

Comments

@mlubin
Copy link
Member

mlubin commented Apr 15, 2018

https://github.com/JuliaOpt/MathOptInterface.jl/blob/29b16b10f11ebaf41b3f1c97bfc7ff68ad5b86d6/src/Test/contquadratic.jl#L466-L473

The existence of this test is pretty confusing. It deserves a comment on why solvers would want to test this and if solvers should be expected to support it given that we have a more natural way to express SOC constraints in MOI.

My take is that solvers should only support this if it doesn't require extra processing in the wrapper, e.g., in Gurobi. OTOH, if it doesn't require extra processing and we've already tested QCQPs, what extra coverage is provided by this test?

@blegat
Copy link
Member

blegat commented Apr 15, 2018

My take is that solvers should only support this if it doesn't require extra processing in the wrapper, e.g., in Gurobi

I agree, solvers supporting SOC constraints, can be used with quadratic constraints using JuliaOpt/MathOptInterfaceBridges.jl#93 just like it was done by the LPQPtoConic wrapper in MPB so the solver only needs to implement support for the constraint closest to the interface of the solver wrapped.

OTOH, if it doesn't require extra processing and we've already tested QCQPs, what extra coverage is provided by this test?

If a solver only support quadratic constraints and not SOC constraints (e.g. Gurobi, ...), it is nice to have an additional test that is less trivial than the tests in qcp. It could be moved from the socp category to the qcp category though.

@joaquimg
Copy link
Member

joaquimg commented May 2, 2018

Gurobi and Xpress do not have a natural SOC interface, so they use the QCP interface for SOCP.
I agree we could add comments and move that test to QCP category.
No extra processing is required by these solvers when the constraint is sent this way.

@joaquimg joaquimg added Type: Documentation This issue requires changes to the documentation good first issue labels Jun 10, 2020
@odow odow mentioned this issue Jun 21, 2021
22 tasks
@odow odow added the Submodule: Tests About the Tests submodule label Jun 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Submodule: Tests About the Tests submodule Type: Documentation This issue requires changes to the documentation
Development

Successfully merging a pull request may close this issue.

4 participants