public class NonLinearConjugateGradientOptimizer extends GradientMultivariateOptimizer
optimize
will throw
MathUnsupportedOperationException
if bounds are passed to it.Modifier and Type | Class and Description |
---|---|
static class |
NonLinearConjugateGradientOptimizer.BracketingStep
Deprecated.
As of v3.3, this class is not used anymore.
This setting is replaced by the
initialBracketingRange
argument to the new constructors. |
static class |
NonLinearConjugateGradientOptimizer.Formula
Available choices of update formulas for the updating the parameter
that is used to compute the successive conjugate search directions.
|
static class |
NonLinearConjugateGradientOptimizer.IdentityPreconditioner
Default identity preconditioner.
|
evaluations, iterations
Modifier and Type | Method and Description |
---|---|
protected PointValuePair |
doOptimize()
Performs the bulk of the optimization algorithm.
|
PointValuePair |
optimize(OptimizationData... optData)
Stores data and performs the optimization.
|
protected void |
parseOptimizationData(OptimizationData... optData)
Scans the list of (required and optional) optimization data that
characterize the problem.
|
computeObjectiveGradient
computeObjectiveValue, getGoalType
getLowerBound, getStartPoint, getUpperBound
getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount, optimize
public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker)
preconditioner
.updateFormula
- formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
or
NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
.checker
- Convergence checker.@Deprecated public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver)
NonLinearConjugateGradientOptimizer(Formula,ConvergenceChecker,double,double,double)
instead.preconditioner
.updateFormula
- formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
or
NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
.checker
- Convergence checker.lineSearchSolver
- Solver to use during line search.public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange)
preconditioner
.updateFormula
- formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
or
NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
.checker
- Convergence checker.relativeTolerance
- Relative threshold for line search.absoluteTolerance
- Absolute threshold for line search.initialBracketingRange
- Extent of the initial interval used to
find an interval that brackets the optimum in order to perform the
line search.LineSearch.LineSearch(MultivariateOptimizer,double,double,double)
@Deprecated public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver, Preconditioner preconditioner)
NonLinearConjugateGradientOptimizer(Formula,ConvergenceChecker,double,double,double,Preconditioner)
instead.updateFormula
- formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
or
NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
.checker
- Convergence checker.lineSearchSolver
- Solver to use during line search.preconditioner
- Preconditioner.public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange, Preconditioner preconditioner)
updateFormula
- formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
or
NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
.checker
- Convergence checker.preconditioner
- Preconditioner.relativeTolerance
- Relative threshold for line search.absoluteTolerance
- Absolute threshold for line search.initialBracketingRange
- Extent of the initial interval used to
find an interval that brackets the optimum in order to perform the
line search.LineSearch.LineSearch(MultivariateOptimizer,double,double,double)
public PointValuePair optimize(OptimizationData... optData) throws TooManyEvaluationsException
The list of parameters is open-ended so that sub-classes can extend it with arguments specific to their concrete implementations.
When the method is called multiple times, instance data is overwritten only when actually present in the list of arguments: when not specified, data set in a previous call is retained (and thus is optional in subsequent calls).
Important note: Subclasses must override
BaseOptimizer.parseOptimizationData(OptimizationData[])
if they need to register
their own options; but then, they must also call
super.parseOptimizationData(optData)
within that method.
optimize
in class GradientMultivariateOptimizer
optData
- Optimization data. In addition to those documented in
MultivariateOptimizer
, this method will register the following data:
TooManyEvaluationsException
- if the maximal number of
evaluations (of the objective function) is exceeded.protected PointValuePair doOptimize()
doOptimize
in class BaseOptimizer<PointValuePair>
protected void parseOptimizationData(OptimizationData... optData)
parseOptimizationData
in class GradientMultivariateOptimizer
optData
- Optimization data.
The following data will be looked for:
Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.