public class NonLinearConjugateGradientOptimizer extends GradientMultivariateOptimizer
This class supports both the Fletcher-Reeves and the Polak-Ribière update formulas for the conjugate search directions. It also supports optional preconditioning.
| Modifier and Type | Class and Description |
|---|---|
static class |
NonLinearConjugateGradientOptimizer.BracketingStep
The initial step is a factor with respect to the search direction
(which itself is roughly related to the gradient of the function).
|
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| Constructor and Description |
|---|
NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormulaIn,
ConvergenceChecker<PointValuePair> checker)
Constructor with default
line search solver and preconditioner
. |
NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormulaIn,
ConvergenceChecker<PointValuePair> checker,
UnivariateSolver lineSearchSolver)
Constructor with default
preconditioner. |
NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormulaIn,
ConvergenceChecker<PointValuePair> checker,
UnivariateSolver lineSearchSolver,
Preconditioner preconditionerIn) |
| 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.
|
computeObjectiveGradientcomputeObjectiveValue, getGoalTypegetLowerBound, getStartPoint, getUpperBoundgetConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCountpublic NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormulaIn, ConvergenceChecker<PointValuePair> checker)
line search solver and preconditioner
.updateFormulaIn - formula to use for updating the β parameter,
must be one of NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES or NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE.checker - Convergence checker.public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormulaIn, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver)
preconditioner.updateFormulaIn - 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 updateFormulaIn, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver, Preconditioner preconditionerIn)
updateFormulaIn - 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.preconditionerIn - Preconditioner.public PointValuePair optimize(OptimizationData... optData)
optimize in class GradientMultivariateOptimizeroptData - Optimization data.
The following data will be looked for:
TooManyEvaluationsException - if the maximal number of
evaluations (of the objective function) is exceeded.protected PointValuePair doOptimize()
doOptimize in class BaseOptimizer<PointValuePair>Copyright © 2025 CNES. All rights reserved.