-
Notifications
You must be signed in to change notification settings - Fork 26
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
warm start #2
Comments
@andreadelprete, if quadprog++ is a viable implementation, endorsed by Gael Guennebaud himself, why not using this version directly? What are the advantages of using a version of our own? I would trust that Guennebaud's version is pretty good. |
I think this is just historical and if Andrea has known the package of Gael before, we would have used it. |
Well @andreadelprete did use a version that was written by Gael and modified later by Benjamin. I think he tried many version of quadprog. But he is the one who can reply to that. For some time, I hesitated to ask on eigen's mailing list whether adding quadprog as an unsupported module would make sense. I did not because the author was Gael and he did not do it. But that is not a good enough reason. |
But it won't change for the current releases of Eigen. |
The main improvement of my version was to ensure to dynamic memory allocation while solving the problem. If Gael's new version has the same feature, probably we should use his one. However, before switching, I'd suggest to compare them empirically to make sure computation times are (at least) as good. |
@gabrielebndn I just saw that there is a version of Eiquadprog with warm-start capabilities and other juicy features here. It would be great to integrate their work into our version of the solver. This is a (partial) list of what they did on top of the version of eiquadprog I started from:
_scheduling_mode = args.get_string("scheduling-mode","SlidingWindows"); -> can also be "WorstFirt" or "WorstSetFirst"
_scheduling_chunk_size = args.get_int("scheduling-chunk-size",-1); -> the default is usually very good
_scheduling_grow_factor = args.get_float("scheduling-grow-factor",-1); -> not recommended
_export_qp = args.is_defined("export-qp"); -> export QP problem to files for testing with other solvers
_delta = args.get_float("delta", 1);
_add_ls_energy = args.is_defined("add-ls-energy"); -> recommended
The text was updated successfully, but these errors were encountered: