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

Conversion to SOCP limits performance of ECOS #60

Open
stephane-caron opened this issue Feb 24, 2023 · 2 comments
Open

Conversion to SOCP limits performance of ECOS #60

stephane-caron opened this issue Feb 24, 2023 · 2 comments
Labels
fairness Some solvers are not evaluated fairly help wanted New contributors needed to start working on this

Comments

@stephane-caron
Copy link
Member

As @bodono pointed out in #58 (comment), socp_from_qp relies on NumPy's implementation, which in turns require the matrix to be positive definite.

This requirement comes from the conversion, not from the underlying conic solvers. This yields a https://github.com/qpsolvers/qpsolvers_benchmark/labels/fairness issue since failing to solve the problem is no fault of the solver itself.

@stephane-caron stephane-caron added help wanted New contributors needed to start working on this fairness Some solvers are not evaluated fairly labels Feb 24, 2023
@stephane-caron stephane-caron changed the title Conversion to SOCP limits performance of conic solvers Conversion to SOCP limits ECOS performance Feb 24, 2023
@stephane-caron stephane-caron changed the title Conversion to SOCP limits ECOS performance Conversion to SOCP limits performance of ECOS Feb 24, 2023
@bodono
Copy link

bodono commented Feb 24, 2023

For fairness I would suggest that the time to perform the factorization should be added to the total solver time too, but that's up to you really.

@nrontsis
Copy link

nrontsis commented Apr 4, 2023

I suppose using a pivoted cholesky or adding a "small" identity matrix to the matrix under factorisation would be two ways to attempt to solve non-strictly convex problems. This answer is quite relevant, to the definition of "strict definiteness" and "small", I believe. Taking a look at how exactly cvxpy performs the QP -> SOCP conversion might also be interesting.

I agree with Brendan that the factorisation time should probably be included into the total solver time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fairness Some solvers are not evaluated fairly help wanted New contributors needed to start working on this
Projects
None yet
Development

No branches or pull requests

3 participants