Class NonLinearConjugateGradientOptimizer
- java.lang.Object
-
- org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer<DifferentiableMultivariateFunction>
-
- org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer
-
- org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer
-
- All Implemented Interfaces:
BaseMultivariateOptimizer<DifferentiableMultivariateFunction>,BaseOptimizer<PointValuePair>,DifferentiableMultivariateOptimizer
@Deprecated public class NonLinearConjugateGradientOptimizer extends AbstractScalarDifferentiableOptimizer
Deprecated.As of 3.1 (to be removed in 4.0).Non-linear conjugate gradient optimizer.This class supports both the Fletcher-Reeves and the Polak-Ribière update formulas for the conjugate search directions. It also supports optional preconditioning.
- Since:
- 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNonLinearConjugateGradientOptimizer.IdentityPreconditionerDeprecated.Default identity preconditioner.private classNonLinearConjugateGradientOptimizer.LineSearchFunctionDeprecated.Internal class for line search.
-
Field Summary
Fields Modifier and Type Field Description private doubleinitialStepDeprecated.Initial step used to bracket the optimum in line search.private double[]pointDeprecated.Current point.private PreconditionerpreconditionerDeprecated.Preconditioner (may be null).private UnivariateSolversolverDeprecated.solver to use in the line search (may be null).private ConjugateGradientFormulaupdateFormulaDeprecated.Update formula for the beta parameter.-
Fields inherited from class org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer
evaluations
-
-
Constructor Summary
Constructors Constructor Description NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula)Deprecated.NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker)Deprecated.Constructor with defaultline search solverandpreconditioner.NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver)Deprecated.Constructor with defaultpreconditioner.NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver, Preconditioner preconditioner)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected PointValuePairdoOptimize()Deprecated.Perform the bulk of the optimization algorithm.private doublefindUpperBound(UnivariateFunction f, double a, double h)Deprecated.Find the upper bound b ensuring bracketing of a root between a and b.voidsetInitialStep(double initialStep)Deprecated.Set the initial step used to bracket the optimum in line search.-
Methods inherited from class org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer
computeObjectiveGradient, optimize, optimizeInternal
-
Methods inherited from class org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer
computeObjectiveValue, getConvergenceChecker, getEvaluations, getGoalType, getLowerBound, getMaxEvaluations, getStartPoint, getUpperBound, optimize, optimize, optimizeInternal
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.math3.optimization.BaseMultivariateOptimizer
optimize
-
Methods inherited from interface org.apache.commons.math3.optimization.BaseOptimizer
getConvergenceChecker, getEvaluations, getMaxEvaluations
-
-
-
-
Field Detail
-
updateFormula
private final ConjugateGradientFormula updateFormula
Deprecated.Update formula for the beta parameter.
-
preconditioner
private final Preconditioner preconditioner
Deprecated.Preconditioner (may be null).
-
solver
private final UnivariateSolver solver
Deprecated.solver to use in the line search (may be null).
-
initialStep
private double initialStep
Deprecated.Initial step used to bracket the optimum in line search.
-
point
private double[] point
Deprecated.Current point.
-
-
Constructor Detail
-
NonLinearConjugateGradientOptimizer
@Deprecated public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula)
Deprecated.- Parameters:
updateFormula- formula to use for updating the β parameter, must be one ofConjugateGradientFormula.FLETCHER_REEVESorConjugateGradientFormula.POLAK_RIBIERE.
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker)
Deprecated.Constructor with defaultline search solverandpreconditioner.- Parameters:
updateFormula- formula to use for updating the β parameter, must be one ofConjugateGradientFormula.FLETCHER_REEVESorConjugateGradientFormula.POLAK_RIBIERE.checker- Convergence checker.
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver)
Deprecated.Constructor with defaultpreconditioner.- Parameters:
updateFormula- formula to use for updating the β parameter, must be one ofConjugateGradientFormula.FLETCHER_REEVESorConjugateGradientFormula.POLAK_RIBIERE.checker- Convergence checker.lineSearchSolver- Solver to use during line search.
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker, UnivariateSolver lineSearchSolver, Preconditioner preconditioner)
Deprecated.- Parameters:
updateFormula- formula to use for updating the β parameter, must be one ofConjugateGradientFormula.FLETCHER_REEVESorConjugateGradientFormula.POLAK_RIBIERE.checker- Convergence checker.lineSearchSolver- Solver to use during line search.preconditioner- Preconditioner.
-
-
Method Detail
-
setInitialStep
public void setInitialStep(double initialStep)
Deprecated.Set the initial step used to bracket the optimum in line search.The initial step is a factor with respect to the search direction, which itself is roughly related to the gradient of the function
- Parameters:
initialStep- initial step used to bracket the optimum in line search, if a non-positive value is used, the initial step is reset to its default value of 1.0
-
doOptimize
protected PointValuePair doOptimize()
Deprecated.Perform the bulk of the optimization algorithm.- Specified by:
doOptimizein classBaseAbstractMultivariateOptimizer<DifferentiableMultivariateFunction>- Returns:
- the point/value pair giving the optimal value of the objective function.
-
findUpperBound
private double findUpperBound(UnivariateFunction f, double a, double h)
Deprecated.Find the upper bound b ensuring bracketing of a root between a and b.- Parameters:
f- function whose root must be bracketed.a- lower bound of the interval.h- initial step to try.- Returns:
- b such that f(a) and f(b) have opposite signs.
- Throws:
MathIllegalStateException- if no bracket can be found.
-
-