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 class
NonLinearConjugateGradientOptimizer.IdentityPreconditioner
Deprecated.Default identity preconditioner.private class
NonLinearConjugateGradientOptimizer.LineSearchFunction
Deprecated.Internal class for line search.
-
Field Summary
Fields Modifier and Type Field Description private double
initialStep
Deprecated.Initial step used to bracket the optimum in line search.private double[]
point
Deprecated.Current point.private Preconditioner
preconditioner
Deprecated.Preconditioner (may be null).private UnivariateSolver
solver
Deprecated.solver to use in the line search (may be null).private ConjugateGradientFormula
updateFormula
Deprecated.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 solver
andpreconditioner
.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 PointValuePair
doOptimize()
Deprecated.Perform the bulk of the optimization algorithm.private double
findUpperBound(UnivariateFunction f, double a, double h)
Deprecated.Find the upper bound b ensuring bracketing of a root between a and b.void
setInitialStep(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_REEVES
orConjugateGradientFormula.POLAK_RIBIERE
.
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula, ConvergenceChecker<PointValuePair> checker)
Deprecated.Constructor with defaultline search solver
andpreconditioner
.- Parameters:
updateFormula
- formula to use for updating the β parameter, must be one ofConjugateGradientFormula.FLETCHER_REEVES
orConjugateGradientFormula.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_REEVES
orConjugateGradientFormula.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_REEVES
orConjugateGradientFormula.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:
doOptimize
in 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.
-
-