public class NonLinearConjugateGradientOptimizer extends GradientMultivariateOptimizer
optimize
will throw
MathRuntimeException
if bounds are passed to it.Modifier and Type | Class and Description |
---|---|
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 updateFormula,
ConvergenceChecker<PointValuePair> checker)
Constructor with default tolerances for the line search (1e-8) and
preconditioner . |
NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula,
ConvergenceChecker<PointValuePair> checker,
double relativeTolerance,
double absoluteTolerance,
double initialBracketingRange)
Constructor with default
preconditioner . |
NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula,
ConvergenceChecker<PointValuePair> checker,
double relativeTolerance,
double absoluteTolerance,
double initialBracketingRange,
Preconditioner preconditioner) |
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.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(org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer,double,double,double)
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(org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer,double,double,double)
public PointValuePair optimize(OptimizationData... optData) throws MathIllegalStateException
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:
MathIllegalStateException
- 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 © 2016–2020 Hipparchus.org. All rights reserved.