|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
org.apache.commons.math.optimization.general.NonLinearConjugateGradientOptimizer
public class NonLinearConjugateGradientOptimizer
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.
| Nested Class Summary | |
|---|---|
static class |
NonLinearConjugateGradientOptimizer.IdentityPreconditioner
Default identity preconditioner. |
| Field Summary |
|---|
| Fields inherited from class org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer |
|---|
evaluations |
| Constructor Summary | |
|---|---|
NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula)
Constructor with default checker,
line search solver and
preconditioner. |
|
NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker)
Constructor with default line search solver and
preconditioner. |
|
NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker,
UnivariateRealSolver lineSearchSolver)
Constructor with default preconditioner. |
|
NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker,
UnivariateRealSolver lineSearchSolver,
Preconditioner preconditioner)
|
|
| Method Summary | |
|---|---|
protected RealPointValuePair |
doOptimize()
Perform the bulk of the optimization algorithm. |
void |
setInitialStep(double initialStep)
Set the initial step used to bracket the optimum in line search. |
| Methods inherited from class org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer |
|---|
computeObjectiveGradient, optimize |
| Methods inherited from class org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer |
|---|
computeObjectiveValue, getConvergenceChecker, getEvaluations, getGoalType, getMaxEvaluations, getStartPoint, setConvergenceChecker |
| 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.math.optimization.BaseOptimizer |
|---|
getConvergenceChecker, getEvaluations, getMaxEvaluations, setConvergenceChecker |
| Constructor Detail |
|---|
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula)
checker,
line search solver and
preconditioner.
updateFormula - formula to use for updating the β parameter,
must be one of ConjugateGradientFormula.FLETCHER_REEVES or ConjugateGradientFormula.POLAK_RIBIERE.
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker)
line search solver and
preconditioner.
updateFormula - formula to use for updating the β parameter,
must be one of ConjugateGradientFormula.FLETCHER_REEVES or ConjugateGradientFormula.POLAK_RIBIERE.checker - Convergence checker.
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker,
UnivariateRealSolver lineSearchSolver)
preconditioner.
updateFormula - formula to use for updating the β parameter,
must be one of ConjugateGradientFormula.FLETCHER_REEVES or ConjugateGradientFormula.POLAK_RIBIERE.checker - Convergence checker.lineSearchSolver - Solver to use during line search.
public NonLinearConjugateGradientOptimizer(ConjugateGradientFormula updateFormula,
ConvergenceChecker<RealPointValuePair> checker,
UnivariateRealSolver lineSearchSolver,
Preconditioner preconditioner)
updateFormula - formula to use for updating the β parameter,
must be one of ConjugateGradientFormula.FLETCHER_REEVES or ConjugateGradientFormula.POLAK_RIBIERE.checker - Convergence checker.lineSearchSolver - Solver to use during line search.preconditioner - Preconditioner.| Method Detail |
|---|
public void setInitialStep(double initialStep)
The initial step is a factor with respect to the search direction, which itself is roughly related to the gradient of the function
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.0protected RealPointValuePair doOptimize()
doOptimize in class BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||