-
Notifications
You must be signed in to change notification settings - Fork 78
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
Externalize QP solver #9
Comments
Indeed, we already discussed with @andreadelprete and @nmansard about that. I've already started such a project on my own but still work in progress. |
If it is any help, I think stephane caron did make a unified API in python for some of the available QP Solvers. |
And then you get http://roboptim.net/ |
@gabrielebndn has started working on this and he may update us on the status of that project here. |
@andreadelprete, the externalized code can be found in repo eiquadprog. The code is unit tested in folder unittest for many different cases. I did not copy files solver-HQP-eiquadprog-fast.hpp and solver-HQP-eiquadprog-rt.hpp, as they seemed to me incomplete and non-essential. Version 1.0.0 was released about a month ago. I've been using it on real problems for Talos and so far, it seems to do well. As far as I am concerned, work on it is more or less done and I am not planning to change anything. If you wish, I think you may remove the original files from tsid and depend on eiquadprog instead. If you want to improve on existing algorithms, or help fixing the non-convex/unbonded/unfeasible cases (if you think it is desirable), or move solver-HQP-eiquadprog-fast.hpp and solver-HQP-eiquadprog-rt.hpp there, you are more than welcome to do so through a PR, which I can verify. This is what concerns eiquadprog. But there is another point: in a recent issue (see stack-of-tasks/eiquadprog#2) @andreadelprete pointed out that QuadProg++ contains lots of the things we need. If we can confirm that QuadProg++ has everything we need, that it is stable, that it works well, that it is easy to integrate in our own systems, and that there are no problems with licences, then it is probably useless to have our own in-house solver and we could just rely on QuadProg++ |
I think the main advantage of having our own package with a standard API (which is the one implemented by solver-HQP-...) is that we could easily switch solver if one day we need to. |
It would also help with easily benchmarking different solvers. |
This issue is to keep track of our discussion and let others know.
It would be interesting to create a repository containing the LP and QP solvers API developed in different packages. Some people (at least, me) would take advantage of such a repo. From the discussion with @andreadelprete , it seems there is not too much work to be done.
The text was updated successfully, but these errors were encountered: