Skip to content

Conversation

@segsell
Copy link
Member

@segsell segsell commented May 16, 2022

In this PR, we improve the conjugate gradient step of the BNTR (Bounded Newton Trust-Region) algorithm by adding two conjugate gradient methods.
Previously, the only available option was an off-the-shelf conjugate gradient implementation.

The new methods are:

The respective flags for our three methods are:

  • "cg"
  • "steihaug_toint"
  • "trsbox"

TRSBOX performs best on the more_wild benchmark set and is thus the recommended default.

@codecov
Copy link

codecov bot commented May 16, 2022

Codecov Report

Merging #328 (9d9f4fa) into main (6b4576d) will decrease coverage by 0.15%.
The diff coverage is 87.47%.

@@            Coverage Diff             @@
##             main     #328      +/-   ##
==========================================
- Coverage   90.85%   90.70%   -0.16%     
==========================================
  Files         171      173       +2     
  Lines       12439    12825     +386     
==========================================
+ Hits        11302    11633     +331     
- Misses       1137     1192      +55     
Impacted Files Coverage Δ
...ptimization/subsolvers/bounded_newton_quadratic.py 85.96% <79.16%> (ø)
...imagic/optimization/subsolvers/gqtpar_quadratic.py 89.31% <80.95%> (ø)
...magic/optimization/subsolvers/_trsbox_quadratic.py 84.08% <84.08%> (ø)
...timization/subsolvers/_steihaug_toint_quadratic.py 89.88% <89.88%> (ø)
src/estimagic/optimization/pounders_auxiliary.py 97.37% <95.23%> (+0.05%) ⬆️
src/estimagic/optimization/pounders.py 93.12% <100.00%> (ø)
...zation/subsolvers/_conjugate_gradient_quadratic.py 100.00% <100.00%> (ø)
...magic/optimization/subsolvers/linear_subsolvers.py 95.94% <100.00%> (ø)
...ic/optimization/subsolvers/quadratic_subsolvers.py 95.83% <100.00%> (ø)
tests/optimization/test_linear_subsolvers.py 100.00% <100.00%> (ø)
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6b4576d...9d9f4fa. Read the comment docs.

Copy link
Member

@janosg janosg left a comment

Choose a reason for hiding this comment

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

Thanks a lot! This is very important for pounders and tranquilo!

@segsell segsell merged commit b97c488 into main May 20, 2022
@segsell segsell deleted the improve_bntr branch May 20, 2022 11:36
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.

2 participants