org.apache.commons.math.optimization.general
Class AbstractScalarDifferentiableOptimizer

java.lang.Object
  extended by org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
      extended by org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
All Implemented Interfaces:
BaseMultivariateRealOptimizer<DifferentiableMultivariateRealFunction>, BaseOptimizer<RealPointValuePair>, DifferentiableMultivariateRealOptimizer
Direct Known Subclasses:
NonLinearConjugateGradientOptimizer

public abstract class AbstractScalarDifferentiableOptimizer
extends BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
implements DifferentiableMultivariateRealOptimizer

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 1166311 2011-09-07 18:48:06Z luc $

Field Summary
 
Fields inherited from class org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer
evaluations
 
Constructor Summary
protected AbstractScalarDifferentiableOptimizer()
          Simple constructor with default settings.
protected AbstractScalarDifferentiableOptimizer(ConvergenceChecker<RealPointValuePair> checker)
           
 
Method Summary
protected  double[] computeObjectiveGradient(double[] evaluationPoint)
          Compute the gradient vector.
 RealPointValuePair optimize(int maxEval, DifferentiableMultivariateRealFunction f, GoalType goalType, double[] startPoint)
          Optimize an objective function.
 
Methods inherited from class org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer
computeObjectiveValue, doOptimize, 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

AbstractScalarDifferentiableOptimizer

protected AbstractScalarDifferentiableOptimizer()
Simple constructor with default settings. The convergence check is set to a SimpleScalarValueChecker.


AbstractScalarDifferentiableOptimizer

protected AbstractScalarDifferentiableOptimizer(ConvergenceChecker<RealPointValuePair> checker)
Parameters:
checker - Convergence checker.
Method Detail

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 RealPointValuePair optimize(int maxEval,
                                   DifferentiableMultivariateRealFunction f,
                                   GoalType goalType,
                                   double[] startPoint)
Optimize an objective function.

Specified by:
optimize in interface BaseMultivariateRealOptimizer<DifferentiableMultivariateRealFunction>
Overrides:
optimize in class BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
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 © 2003-2011 The Apache Software Foundation. All Rights Reserved.