-
Notifications
You must be signed in to change notification settings - Fork 131
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
Partial condensing solution #151
Comments
Not sure if I get the question correctly, but the solution of the OCP QP should be exactly the same as the solution at the end of the sequence partial_condensing+partially_dense_ocp_qp_solution+partial_expansion, up to numerical errors (and bugs). Do you have an instance where they are not the same? |
hi @giaf, What I'm noticing is that the solver takes a lot more iterations when partial condensing is activated. In a lot of cases it reaches the maximum number of iterations while the same cases with PC off converge in a very reasonable number of iterations. I believe the issue is about algorithmic options being used. So, maybe these questions may provide the answers I'm seeking:
thank you! |
In general I would not expect very different behavior of the solver with and without partial condensing. About the Riccati algorithm, there are two options:
About Long story short,
About partial condensing, by default it makes use of a condensing algorithm that has N^2 complexity and is analogue to the square-root Riccati recursion, so similar limitations apply (i.e. full space hessian positive (semi) definite).
Final summary:
|
Hi @giaf, Many thanks for the detailed explanation. This is very helpful. I have one quick follow-up question: is there any documentation related to thanks! |
The algorithms are described in Section 9 of my PhD thesis https://orbit.dtu.dk/en/publications/algorithms-and-methods-for-high-performance-model-predictive-cont |
Thank you for the documents. I will review these. Also, is there a way to provide an initial guess for the MPC problem when using partial condensing? Some methods that allow me to go from full problem solution to partially condensed solution? (e.g, the opposite to d_part_cond_qp_expand_sol?) |
If you solve a sequence of similar QPs, you could provide to the partially condense IPM the solution of the previous partially condensed QP. Other than that, currently it is not implemented the "condensing" of a solution / initial guess, also because in general an initial guess is of limited help. |
Thank you for the quick response. It may not be of immediate use, but just wanted to make sure there wasn't something already in place. |
Hi,
Is it expected that the solution of the QP when partial condensing is turned off is different from the solution when PC is activated? Are the two solutions expected to be exactly the same?
thanks in advance!
The text was updated successfully, but these errors were encountered: