|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
public abstract class AbstractScalarDifferentiableOptimizer
Base class for implementing optimizers for multivariate scalar functions.
This base class handles the boilerplate methods associated to thresholds settings, iterations and evaluations counting.
| Field Summary | |
|---|---|
protected RealConvergenceChecker |
checker
Convergence checker. |
static int |
DEFAULT_MAX_ITERATIONS
Default maximal number of iterations allowed. |
protected GoalType |
goal
Type of optimization. |
protected double[] |
point
Current point set. |
| Constructor Summary | |
|---|---|
protected |
AbstractScalarDifferentiableOptimizer()
Simple constructor with default settings. |
| Method Summary | |
|---|---|
protected double[] |
computeObjectiveGradient(double[] evaluationPoint)
Compute the gradient vector. |
protected double |
computeObjectiveValue(double[] evaluationPoint)
Compute the objective function value. |
protected abstract RealPointValuePair |
doOptimize()
Perform the bulk of optimization algorithm. |
RealConvergenceChecker |
getConvergenceChecker()
Get the convergence checker. |
int |
getEvaluations()
Get the number of evaluations of the objective function. |
int |
getGradientEvaluations()
Get the number of evaluations of the objective function gradient. |
int |
getIterations()
Get the number of iterations realized by the algorithm. |
int |
getMaxEvaluations()
Get the maximal number of functions evaluations. |
int |
getMaxIterations()
Get the maximal number of iterations of the algorithm. |
protected void |
incrementIterationsCounter()
Increment the iterations counter by 1. |
RealPointValuePair |
optimize(DifferentiableMultivariateRealFunction f,
GoalType goalType,
double[] startPoint)
Optimizes an objective function. |
void |
setConvergenceChecker(RealConvergenceChecker convergenceChecker)
Set the convergence checker. |
void |
setMaxEvaluations(int maxEvaluations)
Set the maximal number of functions evaluations. |
void |
setMaxIterations(int maxIterations)
Set the maximal number of iterations of the algorithm. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_MAX_ITERATIONS
protected RealConvergenceChecker checker
protected GoalType goal
protected double[] point
| Constructor Detail |
|---|
protected AbstractScalarDifferentiableOptimizer()
The convergence check is set to a SimpleScalarValueChecker
and the maximal number of evaluation is set to its default value.
| Method Detail |
|---|
public void setMaxIterations(int maxIterations)
setMaxIterations in interface DifferentiableMultivariateRealOptimizermaxIterations - maximal number of function callspublic int getMaxIterations()
getMaxIterations in interface DifferentiableMultivariateRealOptimizerpublic int getIterations()
The number of evaluations corresponds to the last call to the
optimize
method. It is 0 if the method has not been called yet.
getIterations in interface DifferentiableMultivariateRealOptimizerpublic void setMaxEvaluations(int maxEvaluations)
setMaxEvaluations in interface DifferentiableMultivariateRealOptimizermaxEvaluations - maximal number of function evaluationspublic int getMaxEvaluations()
getMaxEvaluations in interface DifferentiableMultivariateRealOptimizerpublic int getEvaluations()
The number of evaluations corresponds to the last call to the
optimize
method. It is 0 if the method has not been called yet.
getEvaluations in interface DifferentiableMultivariateRealOptimizerpublic int getGradientEvaluations()
The number of evaluations corresponds to the last call to the
optimize
method. It is 0 if the method has not been called yet.
getGradientEvaluations in interface DifferentiableMultivariateRealOptimizerpublic void setConvergenceChecker(RealConvergenceChecker convergenceChecker)
setConvergenceChecker in interface DifferentiableMultivariateRealOptimizerconvergenceChecker - object to use to check for convergencepublic RealConvergenceChecker getConvergenceChecker()
getConvergenceChecker in interface DifferentiableMultivariateRealOptimizer
protected void incrementIterationsCounter()
throws OptimizationException
OptimizationException - if the maximal number
of iterations is exceeded
protected double[] computeObjectiveGradient(double[] evaluationPoint)
throws FunctionEvaluationException
evaluationPoint - point at which the gradient must be evaluated
FunctionEvaluationException - if the function gradient
protected double computeObjectiveValue(double[] evaluationPoint)
throws FunctionEvaluationException
evaluationPoint - point at which the objective function must be evaluated
FunctionEvaluationException - if the function cannot be evaluated
or its dimension doesn't match problem dimension or the maximal number
of iterations is exceeded
public RealPointValuePair optimize(DifferentiableMultivariateRealFunction f,
GoalType goalType,
double[] startPoint)
throws FunctionEvaluationException,
OptimizationException,
IllegalArgumentException
optimize in interface DifferentiableMultivariateRealOptimizerf - objective functiongoalType - type of optimization goal: either GoalType.MAXIMIZE
or GoalType.MINIMIZEstartPoint - the start point for optimization
FunctionEvaluationException - if the objective function throws one during
the search
OptimizationException - if the algorithm failed to converge
IllegalArgumentException - if the start point dimension is wrong
protected abstract RealPointValuePair doOptimize()
throws FunctionEvaluationException,
OptimizationException,
IllegalArgumentException
FunctionEvaluationException - if the objective function throws one during
the search
OptimizationException - if the algorithm failed to converge
IllegalArgumentException - if the start point dimension is wrong
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||