org.apache.commons.math3.optimization.general
Class AbstractScalarDifferentiableOptimizer
java.lang.Object
org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer<DifferentiableMultivariateFunction>
org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer
- All Implemented Interfaces:
- BaseMultivariateOptimizer<DifferentiableMultivariateFunction>, BaseOptimizer<PointValuePair>, DifferentiableMultivariateOptimizer
- Direct Known Subclasses:
- NonLinearConjugateGradientOptimizer
public abstract class AbstractScalarDifferentiableOptimizer
- extends BaseAbstractMultivariateOptimizer<DifferentiableMultivariateFunction>
- implements DifferentiableMultivariateOptimizer
Base class for implementing optimizers for multivariate scalar
differentiable functions.
It contains boiler-plate code for dealing with gradient evaluation.
- Since:
- 2.0
- Version:
- $Id: AbstractScalarDifferentiableOptimizer.java 1244107 2012-02-14 16:17:55Z erans $
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
gradient
private MultivariateVectorFunction gradient
- Objective function gradient.
AbstractScalarDifferentiableOptimizer
protected AbstractScalarDifferentiableOptimizer()
- Simple constructor with default settings.
The convergence check is set to a
SimpleValueChecker
.
AbstractScalarDifferentiableOptimizer
protected AbstractScalarDifferentiableOptimizer(ConvergenceChecker<PointValuePair> checker)
- Parameters:
checker
- Convergence checker.
computeObjectiveGradient
protected double[] computeObjectiveGradient(double[] evaluationPoint)
- Compute the gradient vector.
- Parameters:
evaluationPoint
- Point at which the gradient must be evaluated.
- Returns:
- the gradient at the specified point.
- Throws:
TooManyEvaluationsException
- if the allowed number of evaluations is exceeded.
optimize
public PointValuePair optimize(int maxEval,
DifferentiableMultivariateFunction f,
GoalType goalType,
double[] startPoint)
- Optimize an objective function.
- Specified by:
optimize
in interface BaseMultivariateOptimizer<DifferentiableMultivariateFunction>
- Overrides:
optimize
in class BaseAbstractMultivariateOptimizer<DifferentiableMultivariateFunction>
- Parameters:
maxEval
- Maximum number of function evaluations.f
- Objective function.goalType
- Type of optimization goal: either
GoalType.MAXIMIZE
or GoalType.MINIMIZE
.startPoint
- Start point for optimization.
- Returns:
- the point/value pair giving the optimal value for objective
function.
Copyright (c) 2003-2013 Apache Software Foundation