optimize will throw
MathUnsupportedOperationException if bounds are passed to it.
| Modifier and Type | Class and Description |
|---|---|
| public static class | NonLinearConjugateGradientOptimizer.
Deprecated
As of v3.3, this class is not used anymore.
This setting is replaced by the The initial step is a factor with respect to the search direction
(which itself is roughly related to the gradient of the function).
initialBracketingRange
argument to the new constructors.
|
| public static enum | NonLinearConjugateGradientOptimizer.
Available choices of update formulas for the updating the parameter that is used to compute the successive conjugate search directions. |
| public static class | NonLinearConjugateGradientOptimizer.
Default identity preconditioner. |
| Modifier and Type | Field and Description |
|---|---|
| private final LineSearch | line
Line search algorithm. |
| private final Preconditioner | preconditioner
Preconditioner (may be null). |
| private final NonLinearConjugateGradientOptimizer. | updateFormula
Update formula for the beta parameter. |
| Access | Constructor and Description |
|---|---|
| public | NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
formula to use for updating the β parameter,
must be one of updateFormula,Formula#FLETCHER_REEVES or
Formula#POLAK_RIBIERE.Convergence checker. checker)Constructor with default tolerances for the line search (1e-8) and
|
| public | NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
formula to use for updating the β parameter,
must be one of updateFormula,Formula#FLETCHER_REEVES or
Formula#POLAK_RIBIERE.Convergence checker. checker, final UnivariateSolver Solver to use during line search. lineSearchSolver)
Deprecated
as of 3.3.
Constructor with default |
| public | NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
formula to use for updating the β parameter,
must be one of updateFormula,Formula#FLETCHER_REEVES or
Formula#POLAK_RIBIERE.Convergence checker. checker, double Relative threshold for line search. relativeTolerance, double Absolute threshold for line search. absoluteTolerance, double Extent of the initial interval used to
find an interval that brackets the optimum in order to perform the
line search. initialBracketingRange)Constructor with default |
| public | NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
formula to use for updating the β parameter,
must be one of updateFormula,Formula#FLETCHER_REEVES or
Formula#POLAK_RIBIERE.Convergence checker. checker, final UnivariateSolver Solver to use during line search. lineSearchSolver, final Preconditioner Preconditioner. preconditioner)
Deprecated
as of 3.3.
|
| public | NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
formula to use for updating the β parameter,
must be one of updateFormula,Formula#FLETCHER_REEVES or
Formula#POLAK_RIBIERE.Convergence checker. checker, double Relative threshold for line search. relativeTolerance, double Absolute threshold for line search. absoluteTolerance, double Extent of the initial interval used to
find an interval that brackets the optimum in order to perform the
line search. initialBracketingRange, final Preconditioner Preconditioner. preconditioner)
|
| Modifier and Type | Method and Description |
|---|---|
| private void | checkParameters()
Hides org. Check parameters consistency. |
| protected PointValuePair | doOptimize()
Implements abstract org. Performs the bulk of the optimization algorithm. |
| public PointValuePair | optimize(OptimizationData...
Optimization data. In addition to those documented in
optData)MultivariateOptimizer, this method will register the following data:
Overrides org. Stores data and performs the optimization. |
| protected void | parseOptimizationData(OptimizationData...
Optimization data.
The following data will be looked for:
optData)Overrides org. Scans the list of (required and optional) optimization data that characterize the problem. |
| line | back to summary |
|---|---|
| private final LineSearch line Line search algorithm. | |
| preconditioner | back to summary |
|---|---|
| private final Preconditioner preconditioner Preconditioner (may be null). | |
| updateFormula | back to summary |
|---|---|
| private final NonLinearConjugateGradientOptimizer. Update formula for the beta parameter. | |
| NonLinearConjugateGradientOptimizer | back to summary |
|---|---|
| public NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer. Constructor with default tolerances for the line search (1e-8) and
| |
| NonLinearConjugateGradientOptimizer | back to summary |
|---|---|
| public NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer. Deprecated as of 3.3. Please use
Constructor with default
| |
| NonLinearConjugateGradientOptimizer | back to summary |
|---|---|
| public NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer. Constructor with default
| |
| NonLinearConjugateGradientOptimizer | back to summary |
|---|---|
| public NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer. Deprecated as of 3.3. Please use
| |
| NonLinearConjugateGradientOptimizer | back to summary |
|---|---|
public NonLinearConjugateGradientOptimizer(final NonLinearConjugateGradientOptimizer.
| |
| checkParameters | back to summary |
|---|---|
| private void checkParameters() Hides org. Doc from org. Check parameters consistency.
| |
| doOptimize | back to summary |
|---|---|
| protected PointValuePair doOptimize() Implements abstract org. Doc from org. Performs the bulk of the optimization algorithm.
| |
| optimize | back to summary |
|---|---|
| public PointValuePair optimize(OptimizationData... optData) throws TooManyEvaluationsException Overrides org. Doc from org. Stores data and performs the optimization. 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
| |
| parseOptimizationData | back to summary |
|---|---|
| protected void parseOptimizationData(OptimizationData... optData) Overrides org. Doc from org. Scans the list of (required and optional) optimization data that characterize the problem.
| |
Deprecated
As of v3.3, this class is not used anymore.
This setting is replaced by the initialBracketingRange
argument to the new constructors.
| Modifier and Type | Field and Description |
|---|---|
| private final double | initialStep
Initial step. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public double |
| initialStep | back to summary |
|---|---|
| private final double initialStep Initial step. | |
| BracketingStep | back to summary |
|---|---|
public BracketingStep(double step)
| |
| getBracketingStep | back to summary |
|---|---|
| public double getBracketingStep() Gets the initial step.
| |
| Modifier and Type | Field and Description |
|---|---|
| public static final NonLinearConjugateGradientOptimizer. | FLETCHER_REEVES
Fletcher-Reeves formula. |
| public static final NonLinearConjugateGradientOptimizer. | POLAK_RIBIERE
Polak-Ribière formula. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static NonLinearConjugateGradientOptimizer. | |
| public static NonLinearConjugateGradientOptimizer. |
| FLETCHER_REEVES | back to summary |
|---|---|
| public static final NonLinearConjugateGradientOptimizer. Fletcher-Reeves formula. | |
| POLAK_RIBIERE | back to summary |
|---|---|
| public static final NonLinearConjugateGradientOptimizer. Polak-Ribière formula. | |
| Formula | back to summary |
|---|---|
| private Formula() | |
| valueOf | back to summary |
|---|---|
| public static NonLinearConjugateGradientOptimizer. | |
| values | back to summary |
|---|---|
| public static NonLinearConjugateGradientOptimizer. | |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public double[] | precondition(double[]
current point at which the search direction was computed variables, double[] raw search direction (i.e. opposite of the gradient) r)Implements org. Precondition a search direction. |
| IdentityPreconditioner | back to summary |
|---|---|
| public IdentityPreconditioner() | |
| precondition | back to summary |
|---|---|
| public double[] precondition(double[] variables, double[] r) Implements org. Doc from org. Precondition a search direction. The returned preconditioned search direction must be computed fast or the algorithm performances will drop drastically. A classical approach is to compute only the diagonal elements of the hessian and to divide the raw search direction by these elements if they are all positive. If at least one of them is negative, it is safer to return a clone of the raw search direction as if the hessian was the identity matrix. The rationale for this simplified choice is that a negative diagonal element means the current point is far from the optimum and preconditioning will not be efficient anyway in this case.
| |