The Wayback Machine - https://web.archive.org/web/20190329113212/https://github.com/JuliaNLSolvers/LineSearches.jl
Skip to content
Line search methods for optimization and root-finding
Branch: master
Clone or download
mohamed82008 and pkofod [WIP] Fix HagerZhang bugs (#136)
* fixes bugs and paper discrepancies in HagerZhang linesearch

* Initial HagerZhang fixes

* fix tests
Latest commit fae0768 Nov 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src [WIP] Fix HagerZhang bugs (#136) Nov 6, 2018
test [WIP] Fix HagerZhang bugs (#136) Nov 6, 2018
.gitignore
.travis.yml Make docs a project and run as a Travis job (#131) Sep 13, 2018
LICENSE.md
NEWS.md
README.md Create more docs examples and link from README (#114) Jun 2, 2018
REQUIRE Require Julia 0.7 (#127) Jul 16, 2018
appveyor.yml Update for 1.0, follow CI scripts from NLSolversBase (#129) Sep 12, 2018

README.md

LineSearches

Build Status Codecov branch

Description

This package provides an interface to line search algorithms implemented in Julia. The code was originally written as part of Optim, but has now been separated out to its own package.

Available line search algorithms

In the docs we show how to choose between the line search algorithms in Optim.

  • HagerZhang (Taken from the Conjugate Gradient implementation by Hager and Zhang, 2006)
  • MoreThuente (From the algorithm in More and Thuente, 1994)
  • BackTracking (Described in Nocedal and Wright, 2006)
  • StrongWolfe (Nocedal and Wright)
  • Static (Takes the proposed initial step length.)

Available initial step length procedures

The package provides some procedures to calculate the initial step length that is passed to the line search algorithm. See the docs for its usage in Optim.

  • InitialPrevious (Use the step length from the previous optimization iteration)
  • InitialStatic (Use the same initial step length each time)
  • InitialHagerZhang (Taken from Hager and Zhang, 2006)
  • InitialQuadratic (Propose initial step length based on a quadratic interpolation)
  • InitialConstantChange (Propose initial step length assuming constant change in step length)

Documentation

For more details and options, see the documentation

  • STABLE — most recently tagged version of the documentation.
  • LATEST — in-development version of the documentation.

References

  • W. W. Hager and H. Zhang (2006) "Algorithm 851: CG_DESCENT, a conjugate gradient method with guaranteed descent." ACM Transactions on Mathematical Software 32: 113-137.
  • Moré, Jorge J., and David J. Thuente. "Line search algorithms with guaranteed sufficient decrease." ACM Transactions on Mathematical Software (TOMS) 20.3 (1994): 286-307.
  • Nocedal, Jorge, and Stephen Wright. "Numerical optimization." Springer Science & Business Media, 2006.
You can’t perform that action at this time.