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

Exact hess template #555

Merged
merged 45 commits into from
Mar 11, 2020
Merged

Exact hess template #555

merged 45 commits into from
Mar 11, 2020

Conversation

FreyJo
Copy link
Member

@FreyJo FreyJo commented Feb 19, 2020

No description provided.

@FreyJo FreyJo requested review from zanellia and giaf February 24, 2020 12:58
@giaf
Copy link
Collaborator

giaf commented Mar 7, 2020

@FreyJo please upload blasfeo and try again
giaf/blasfeo@2569492

@giaf
Copy link
Collaborator

giaf commented Mar 7, 2020

pull blasfeo and try again :p
giaf/blasfeo@e33e163

@FreyJo
Copy link
Member Author

FreyJo commented Mar 8, 2020

@giaf great that worked 👌

Copy link
Member

@zanellia zanellia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good to me! On the other side I do not know much about exact Hessians in acados. I guess, especially for this PR, @giaf can give much more useful comments.

docs/interfaces/index.md Outdated Show resolved Hide resolved
docs/interfaces/index.md Outdated Show resolved Hide resolved
examples/acados_python/getting_started/main_test.py Outdated Show resolved Hide resolved
examples/acados_python/getting_started/main_test.py Outdated Show resolved Hide resolved
FreyJo added a commit to FreyJo/acados that referenced this pull request Mar 9, 2020
@FreyJo
Copy link
Member Author

FreyJo commented Mar 10, 2020

I am glad writing additional tests already paid off.
One of the ones added found a bug related to #545 , which is why
7756dc0 failed
Namely, the regularization has to be called directly before the QP solve, at least for CONVEXIFY.
@zanellia and I would have expected it to be independent of the right hand sides, which seems to be not true.
Maybe @giaf can give some insight..

Anyway, I want to merge this tomorrow, if there are no further comments.

@FreyJo FreyJo merged commit bc32bad into acados:master Mar 11, 2020
@giaf
Copy link
Collaborator

giaf commented Mar 11, 2020

The convexify regularization method aims at giving the exact solution in the case the reduced Hessian is positive definite. It is based on a recursion analogue to backward Riccati recursion, and dynamics equation enters in the computation of the cost transfer between stages.
In Robin's thesis, this is done only for the case of b=0, and consequently r and q are unchanged by the convexification algorithm. However, in the implementation I correctly address the most general case of b!=0, which results in corrections also for the terms r and q.
So, surely convexification can not happen before r and q are computed.
The current implementation does not consider currently active inequality constraints, so convexification should safely be placed also before the initial value embedding.

@FreyJo
Copy link
Member Author

FreyJo commented Mar 11, 2020

@giaf thanks for the insight!
However, I dont understand the last sentence:

The current implementation does not consider currently active inequality constraints [...]

Isn't this a reason for it to happen before the initial value embedding?
Because some constraint might become active due to the new initial value and therefore will not be considered then..

[...], so convexification should safely be placed also before the initial value embedding.

Just from playing around with this, I know that convexification can not be placed before the initial value embedding..

@FreyJo FreyJo deleted the exact_hess_template branch March 12, 2020 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants