-
Notifications
You must be signed in to change notification settings - Fork 222
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
Issues affecting changes in line search methods #1104
Comments
Yeah, that test setup is far from optimal. It basically only measures if given some options the solution found is no worse (or something close to that, cannot remember the exact setup). |
timholy
added a commit
that referenced
this issue
Oct 25, 2024
A global flag, test_broken (default false), determines whether this runs during CI. Locally it's useful to be able to tally the failures, e.g., #1104 Also: - Fix one failure in L-BFGS that causes CI to fail - Remove several tests from the exclusions lists that now pass
Is the re-implementation present anywhere? |
avik-pal
pushed a commit
to avik-pal/Optim.jl
that referenced
this issue
Nov 19, 2024
A global flag, test_broken (default false), determines whether this runs during CI. Locally it's useful to be able to tally the failures, e.g., JuliaNLSolvers#1104 Also: - Fix one failure in L-BFGS that causes CI to fail - Remove several tests from the exclusions lists that now pass
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In an attempt to fix JuliaNLSolvers/LineSearches.jl#173 and JuliaNLSolvers/LineSearches.jl#175 (see JuliaNLSolvers/LineSearches.jl#180), I've concluded that the best option is to rewrite
HagerZhang
from scratch. I've actually done this, and the new implementation passes all the tests in LineSearches.jl.However, many tests in Optim fail. Here's a to-be-updated list of issues that need discussion and/or resolution:
Optim.jl/test/multivariate/solvers/first_order/accelerated_gradient_descent.jl
Lines 14 to 32 in 658c39a
test/multivariate
directory is full of examples like these. SinceHagerZhang
is the default line search algorithm, any subtle change can cause shifts in the things that require exceptions. I will wager that something things that previously failed will pass, and I know that some things that previously passed will fail. In the one case I've looked at in detail, it actually does reach the minimum, but it bounces around without triggering the convergence criterion. Somehow the old implementation happened to trigger it, but given the hand-granted exceptions I'm guessing that's more random than systematic.Proposed solutions:
OptimizationProblem
. Or at least, something that would allow you to compute problem-specific convergence criteria.I'd absolutely love some help with some of these. I could easily imagine spending a week just rationalizing the existing test suite, and that may stand in the way of actually fixing outstanding issues.
CC @mateuszbaran @kbarros @stevengj
The text was updated successfully, but these errors were encountered: