org.apache.commons.math.optimization

## Interface DifferentiableMultivariateRealOptimizer

All Known Implementing Classes:
  AbstractScalarDifferentiableOptimizer, MultiStartDifferentiableMultivariateRealOptimizer, NonLinearConjugateGradientOptimizer, PowellOptimizer

    public interface DifferentiableMultivariateRealOptimizer

This interface represents an optimization algorithm for `scalar differentiable objective functions`. Optimization algorithms find the input point set that either `maximize or minimize` an objective function.

Since:
  2.0
Version:
  $Revision: 1065484 $ $Date: 2011-01-31 06:45:14 +0100 (lun. 31 janv. 2011) $
See Also:
  `MultivariateRealOptimizer`, `DifferentiableMultivariateVectorialOptimizer`

### Method Summary

Methods
`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.
`RealPointValuePair` `optimize(DifferentiableMultivariateRealFunction f, GoalType goalType, double[] startPoint)` Optimizes an objective function.
`void` `setConvergenceChecker(RealConvergenceChecker checker)` 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.

### Method Detail

#### setMaxIterations

    void setMaxIterations(int maxIterations)

Set the maximal number of iterations of the algorithm.

Parameters:
  `maxIterations` - maximal number of function calls

#### getMaxIterations

    int getMaxIterations()

Get the maximal number of iterations of the algorithm.

Returns:
  maximal number of iterations

#### getIterations

    int getIterations()

Get the number of iterations realized by the algorithm.

The number of evaluations corresponds to the last call to the `optimize` method. It is 0 if the method has not been called yet.

Returns:
  number of iterations

#### setMaxEvaluations

    void setMaxEvaluations(int maxEvaluations)

Set the maximal number of functions evaluations.

Parameters:
  `maxEvaluations` - maximal number of function evaluations

#### getMaxEvaluations

    int getMaxEvaluations()

Get the maximal number of functions evaluations.

Returns:
  maximal number of functions evaluations

#### getEvaluations

    int getEvaluations()

Get the number of evaluations of the objective function.

The number of evaluations corresponds to the last call to the `optimize` method. It is 0 if the method has not been called yet.

Returns:
  number of evaluations of the objective function

#### getGradientEvaluations

    int getGradientEvaluations()

Get the number of evaluations of the objective function gradient.

The number of evaluations corresponds to the last call to the `optimize` method. It is 0 if the method has not been called yet.

Returns:
  number of evaluations of the objective function gradient

#### setConvergenceChecker

    void setConvergenceChecker(RealConvergenceChecker checker)

Set the convergence checker.

Parameters:
  `checker` - object to use to check for convergence

#### getConvergenceChecker

    RealConvergenceChecker getConvergenceChecker()

Get the convergence checker.

Returns:
  object used to check for convergence

#### optimize

    RealPointValuePair optimize(DifferentiableMultivariateRealFunction f,
                              GoalType goalType,
                              double[] startPoint)
                                throws FunctionEvaluationException,
                                       OptimizationException,
                                       IllegalArgumentException

Optimizes an objective function.

Parameters:
  `f` - objective function
  `goalType` - type of optimization goal: either `GoalType.MAXIMIZE` or `GoalType.MINIMIZE`
  `startPoint` - the start point for optimization
Returns:
  the point/value pair giving the optimal value for objective function
Throws:
  `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