Fix and Extend Trust Region Subproblem Implementations#1120
Open
diluculo wants to merge 2 commits intomathnet:masterfrom
Open
Fix and Extend Trust Region Subproblem Implementations#1120diluculo wants to merge 2 commits intomathnet:masterfrom
diluculo wants to merge 2 commits intomathnet:masterfrom
Conversation
- Changed the ITrustRegionSubproblem interface to directly accept scaled gradient and Hessian matrices instead of accessing them from IObjectiveModel.
Contributor
Author
|
Regarding the failing test in AppVeyor: This is unrelated to the Trust Region fix - it's a floating-point precision issue in the statistics tests for .NET 8.0 (off by ~1.03E-09). |
This commit introduces a new ExactSubproblem implementation for solving Trust Region subproblems using eigenvalue decomposition. While computationally more expensive than existing methods, it provides exact solutions and handles indefinite Hessians robustly.
Contributor
Author
|
I'd like to extend this PR by adding an implementation of the Exact Trust Region Subproblem solver. I initially developed this solver some time ago for my own work, and I've now updated it to be compatible with the bug fixes introduced in this PR. Comparison of the Three Trust Region Subproblem Solvers:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR fixes critical issues in the Trust Region optimization implementation.
Bugs Fixed
Scaling Issue: Subproblem solvers were using unscaled gradient and Hessian values directly from the
IObjectiveModel, while they should have been using the scaled values thatNonlinearMinimizerBase.EvaluateJacobianproduces.NewtonCG Algorithm Improvement: Enhanced the handling of negative curvature directions in the NewtonCG subproblem solver.