JuliaNLSolvers/LineSearches.jl
Line search methods for optimization and root-finding
📦 LineSearches v7.7.0
- [Diff since v7.6.2](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.6.2...v7.7.0)
- Merged pull requests:
- Update morethuente.jl (#199) (@pkofod)
- Update docs to fix #183 (#200) (@pkofod)
- Some cleanup from #179 (#201) (@pkofod)
- Fix sign error and cancellation in BackTracking cubic interpolation (#202) (@pkofod)
- Closed issues:
- Move some removed tests (#61)
- + 12 more
📦 LineSearches v7.6.2
- [Diff since v7.5.1](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.5.1...v7.6.2)
- Merged pull requests:
- Calculate derivatives using Jacobian-vector products (#187) (@devmotion)
- Remove use of implicit `NLSolversBase.value` and `NLSolversBase.gradient` (#190) (@devmotion)
- A re-implemented HZ (#193) (@pkofod)
- Test convergence more often in HagerZhang to avoid many iterations after a point that satisfies the conditions has already been found (#194) (@pkofod)
- Remove finiteness asserts as interval ends will correctly shrink with… (#195) (@pkofod)
- Remove debug in HagerZhangLS and add safeguard in HagerZhang (#196) (@pkofod)
- + 2 more
📦 LineSearches v7.6.1
- [Diff since v7.5.1](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.5.1...v7.6.1)
- Closed issues:
- Compilation bug in 7.5.1 (#191)
📦 LineSearches v7.6.0
- [Diff since v7.5.1](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.5.1...v7.6.0)
- Closed issues:
- Compilation bug in 7.5.1 (#191)
📋 What's Changed
- Add tests with Aqua, ExplicitImports and JET by @devmotion in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/189
- Remove use of implicit `NLSolversBase.value` and `NLSolversBase.gradient` by @devmotion in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/190
✨ New Contributors
- @devmotion made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/189
- Full Changelog: https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.4.1...v7.5.1
📋 What's Changed
- Add tests with Aqua, ExplicitImports and JET by @devmotion in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/189
- Full Changelog: https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.4.1...v7.5.0
📋 What's Changed
- At linesearchmax, select alpha with minimum value by @kbarros in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/185
✨ New Contributors
- @kbarros made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/185
- Full Changelog: https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.4.0...v7.4.1
📦 LineSearches v7.4.0
- [Diff since v7.3.0](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.3.0...v7.4.0)
- Merged pull requests:
- Add check_flatness keyword to HZ and format (#182) (@pkofod)
- Closed issues:
- Would an AbstractLineSearchType be a good idea? (#171)
- Hager-Zhang converges incorrectly within Optim.ConjugateGradient due to flatness check (#175)
📦 LineSearches v7.3.0
- [Diff since v7.2.0](https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.2.0...v7.3.0)
- Merged pull requests:
- Add LineSearchTestCase (#177) (@timholy)
- Closed issues:
- Add logging functionality (#102)
- Bump NaNMath (#158)
- A tiny bit more explanation (#167)
- pass additional function arguments to linesearch function (#170)
📋 What's Changed
- Delete REQUIRE by @ChrisRackauckas in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/154
- Pkm/noapp by @pkofod in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/164
- Add docstrings for StrongWolfe by @timholy in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/159
- Bump NaNMath to stable release by @pkofod in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/166
✨ New Contributors
- @ChrisRackauckas made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/154
- @timholy made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/159
- Full Changelog: https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.1.1...v7.2.0
📋 What's Changed
- Delete REQUIRE by @ChrisRackauckas in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/154
- Pkm/noapp by @pkofod in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/164
- Add docstrings for StrongWolfe by @timholy in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/159
- Bump NaNMath to stable release by @pkofod in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/166
✨ New Contributors
- @ChrisRackauckas made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/154
- @timholy made their first contribution in https://github.com/JuliaNLSolvers/LineSearches.jl/pull/159
- Full Changelog: https://github.com/JuliaNLSolvers/LineSearches.jl/compare/v7.1.1...v7.1.2
Docs: https://github.com/JuliaNLSolvers/LineSearches.jl/pull/129 https://github.com/JuliaNLSolvers/LineSearches.jl/pull/131 https://github.com/JuliaNLSolvers/LineSearches.jl/pull/132 HagerZhang bugfix: https://github.com/JuliaNLSolvers/LineSearches.jl/pull/136
Fix return object for a branch case in InitialHagerZhang.
Calculate correct phi_0 values https://github.com/JuliaNLSolvers/LineSearches.jl/pull/118 https://github.com/JuliaNLSolvers/LineSearches.jl/issues/119 Correctly handle dphi0_previous in InitialConstantChange https://github.com/JuliaNLSolvers/LineSearches.jl/pull/122 https://github.com/JuliaNLSolvers/Optim.jl/pull/613
New input sequence and better support of Real subtypes
Static no longer takes the `alpha` and `scaled` arguments, but instead takes the step provided at each call to the line search. The old functionality can still be accessed by combining `Static` with `InitialStatic` for the initial step guess.
This major version of LineSearches introduces a slim-lined internal machinery of LineSearches.jl. The actual line searches no longer depend on `AbstractObjective`s from NLSolversBase.jl, but only on univariate functions for phi, the derivative of phi and a composite version. This version is breaking, as it removes some of the Optim specific things such as LineSearchResults from the package. This makes the individual line searchers more stand-alone in nature. The initial guesses are still tied to the JuliaNLSolvers setup.
Allow AbstractArray instead of Array to support more input types.
Use vecnorm instead of norm on gradients and decision vectors. Fixes problems with optimization with arbitrary inputs (3-dimensional arrays etc.)
Fixes bug in the translation from the original MATLAB/FORTRAN code of More-Thuente.
