Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SparseCallback
: remove the fixed variables and reduce problem's dimension in MadNLPDenseCallback
: keep the fixed variables frozen (as done previously). On the contrary toSparseCallback
, we don't remove the fixed variables as this would require duplicating the Hessian and the Jacobian matrices to evaluate the model, which could be expensive if we are memory bounded.fixed_handler
if the problem has no fixed variable:NoFixedVariable
.nlp
through the callback wrappercb
to avoid side effect.get_index_constraint
and stores indexes directly in the callback wrappercb
.Solve #70, #229
Warning: this PR adds a small breaking change in
create_kkt_system
(we removeind_cons
from the arguments) but I think it's worth the change, as the previous situation was error prone. Now, we make sure we store all the problem's information inside the callback wrappercb
.Preliminary results on
space_shuttle_reentry
shows that the current PR improves slightly the convergence (less iterations, less feasibility restoration), see the logs in attachment:Benchmark on CUTEst is under way.