Skip to content

Conversation

@mjacobse
Copy link
Contributor

@mjacobse mjacobse commented Aug 5, 2025

React to failure of MA57 numeric factorization due to insufficient workspace size by creating new, larger workspace and copying data into the new arrays to continue factorization from where left off, as described in MA57 documentation.

Without this, I think what happens (at least for the ipopt preset) is that due to the numeric factorization failing, MA57 reports a rank of 0. That causes the regularization loop to start increasing the regularization until MA57 needs to do so little pivoting that the factorization fits into the initial workspace size. So the regularization was kind of hiding this.

Noticed this with cvxqp1, which surprisingly triggered a lot of regularization and could not be solved within the 2000 iteration limit. With this patch it's solved in 38 iterations.

React to failure of MA57 numeric factorization due to insufficient
workspace size by creating new, larger workspace and copying data into
the new arrays to continue factorization from where left off, as
described in MA57 documentation.
@cvanaret cvanaret merged commit d93604f into cvanaret:main Aug 6, 2025
18 checks passed
@cvanaret
Copy link
Owner

cvanaret commented Aug 6, 2025

Wow, that's a great catch! I'm curious to see how many instances turn out to be solvable now. Thanks a lot!

@cvanaret cvanaret added the bug Something isn't working label Aug 6, 2025
@mjacobse mjacobse deleted the enlarge_ma57_workspace branch August 6, 2025 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants