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

:reinitialize_direction_update for quasi-Newton #388

Merged
merged 8 commits into from
May 10, 2024

Conversation

mateuszbaran
Copy link
Member

Addresses point 3 from #382. Also a minor cleanup for QuasiNewtonCautiousDirectionUpdate.

@kellertuer
Copy link
Member

Looks good at first glance (will take a closer look later); documenter fails, because of caching; it might use the cache from the other PR (of cached packages). Maybe that is a disadvantage of caching packages.

@mateuszbaran
Copy link
Member Author

Are ALM and EPM supposed to keep the state of QuasiNewtonLimitedMemoryDirectionUpdate between runs of the subsolver? I would guess they shouldn't but currently they do.

Copy link

codecov bot commented May 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.76%. Comparing base (d2492a1) to head (bdd1f58).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #388   +/-   ##
=======================================
  Coverage   99.76%   99.76%           
=======================================
  Files          71       71           
  Lines        7205     7221   +16     
=======================================
+ Hits         7188     7204   +16     
  Misses         17       17           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kellertuer
Copy link
Member

I think they should not, you are right. Maybe we should have noticed the necessary initialisation there already.

@mateuszbaran
Copy link
Member Author

mateuszbaran commented May 9, 2024

Caching seems to have fixed itself. By the way, I think :reinitialize_direction_update would be a better default for nondescent_direction_behavior, though it might be considered a breaking change.

@kellertuer
Copy link
Member

I think that sounds nice, how breaking would that be? The old one just took a gradient direction right? I would consider that mildly breaking and still ok

@mateuszbaran
Copy link
Member Author

Not that breaking, I will change it if you are OK with it.

@kellertuer
Copy link
Member

We also introduced the rule for how to handle non-descent directions as a non-braking improvement, so I am fine with this as well, but please write a detailed change entry about it.

@mateuszbaran
Copy link
Member Author

Is it sufficiently detailed in the latest commit?

@mateuszbaran mateuszbaran added the Ready-for-Review A label for pull requests that are feature-ready label May 9, 2024
@kellertuer
Copy link
Member

I prefer to end keywords with = but the rest is exactly the details I was hoping for.
Yes this is formerly breaking but I would consider such small improvements in defaults really more like improvements.
Yes we do break 100% reproducibility here, but we do not break existing code in the sense that it errors. So I think its fine to keep that nonbreaking

Copy link
Member

@kellertuer kellertuer left a comment

Choose a reason for hiding this comment

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

LGTM, just a few minor comments.

Changelog.md Show resolved Hide resolved
src/plans/quasi_newton_plan.jl Show resolved Hide resolved
src/plans/quasi_newton_plan.jl Show resolved Hide resolved
@mateuszbaran mateuszbaran merged commit e97d0c0 into master May 10, 2024
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Ready-for-Review A label for pull requests that are feature-ready
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants