## org.apache.commons.math3.optim.nonlinear.scalar
Class GradientMultivariateOptimizer

    java.lang.Object
      org.apache.commons.math3.optim.BaseOptimizer<PAIR>
          org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointValuePair>
              org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
                  org.apache.commons.math3.optim.nonlinear.scalar.GradientMultivariateOptimizer

Direct Known Subclasses:
  NonLinearConjugateGradientOptimizer

    public abstract class GradientMultivariateOptimizer

extends MultivariateOptimizer

Base class for implementing optimizers for multivariate scalar differentiable functions. It contains boiler-plate code for dealing with gradient evaluation.

Since:
  3.1
Version:
  $Id$

Field Summary
`private MultivariateVectorFunction` `gradient` Gradient of the objective function.

Fields inherited from class org.apache.commons.math3.optim.BaseOptimizer
`evaluations, iterations`

Constructor Summary
`protected` `GradientMultivariateOptimizer(ConvergenceChecker<PointValuePair> checker)`

Method Summary
`protected double[]` `computeObjectiveGradient(double[] params)` Compute the gradient vector.
`PointValuePair` `optimize(OptimizationData... optData)` Stores data and performs the optimization.
`private void` `parseOptimizationData(OptimizationData... optData)` Scans the list of (required and optional) optimization data that characterize the problem.

Methods inherited from class org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
`computeObjectiveValue, getGoalType`

Methods inherited from class org.apache.commons.math3.optim.BaseMultivariateOptimizer
`getLowerBound, getStartPoint, getUpperBound`

Methods inherited from class org.apache.commons.math3.optim.BaseOptimizer
`doOptimize, getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### gradient

    private MultivariateVectorFunction gradient

  Gradient of the objective function.

Constructor Detail

### GradientMultivariateOptimizer

    protected GradientMultivariateOptimizer(ConvergenceChecker<PointValuePair> checker)

Parameters:
  `checker` - Convergence checker.

Method Detail

### computeObjectiveGradient

    protected double[] computeObjectiveGradient(double[] params)

  Compute the gradient vector.

  Parameters:
    `params` - Point at which the gradient must be evaluated.
  Returns:
    the gradient at the specified point.

### optimize

    public PointValuePair optimize(OptimizationData... optData)
                            throws TooManyEvaluationsException

  Stores data and performs the optimization.

  Overrides:
    `optimize` in class `MultivariateOptimizer`
  Parameters:
    `optData` - Optimization data. The following data will be looked for:
    - `MaxEval`
    - `InitialGuess`
    - `SimpleBounds`
    - `ObjectiveFunction`
    - `GoalType`
    - `ObjectiveFunctionGradient`
  Returns:
    a point/value pair that satifies the convergence criteria.
  Throws:
    `TooManyEvaluationsException` - if the maximal number of evaluations (of the objective function) is exceeded.

### parseOptimizationData

    private void parseOptimizationData(OptimizationData... optData)

  Scans the list of (required and optional) optimization data that characterize the problem.

  Parameters:
    `optData` - Optimization data. The following data will be looked for:
    - `ObjectiveFunctionGradient`

Copyright (c) 2003-2013 Apache Software Foundation