Class FletcherLineSearch

  • All Implemented Interfaces:
    LineSearch, Optimizer<C2OptimProblem,​LineSearch.Solution>

    public class FletcherLineSearch
    extends Object
    implements LineSearch
    This is Fletcher's inexact line search method. An inexact line search is usually used in conjunction with a multi-dimensional optimization algorithm. It trades off the accuracy of the line search result with the amount of computation. A lot of optimization algorithms are shown to be quite tolerant to line search imprecision.
    • Constructor Detail

      • FletcherLineSearch

        public FletcherLineSearch​(double rho,
                                  double sigma,
                                  double tau,
                                  double chi,
                                  double epsilon,
                                  int maxIterations)
        Construct a line search minimizer using the Fletcher method.
        Parameters:
        rho - a precision parameter; smaller ρ, e.g., 0.1, gives better accuracy
        sigma - a precision parameter; smaller σ, e.g., 0.1, gives better accuracy
        tau - a control parameter to prevent the result from being too close to boundary
        chi - a control parameter to prevent the result from being too close to boundary
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0. This affects the precision of the result.
        maxIterations - the maximum number of iterations. This affects the precision of the result.
      • FletcherLineSearch

        public FletcherLineSearch()
        Construct a line search minimizer using the Fletcher method with the default control parameters.