org.apache.commons.math.optimization

## Interface DifferentiableMultivariateVectorialOptimizer

All Known Implementing Classes:
  AbstractLeastSquaresOptimizer, GaussNewtonOptimizer, LevenbergMarquardtOptimizer, MultiStartDifferentiableMultivariateVectorialOptimizer

    public interface DifferentiableMultivariateVectorialOptimizer

This interface represents an optimization algorithm for `vectorial differentiable objective functions`.

Optimization algorithms find the input point set that either `maximize or minimize` an objective function.

Since:
  2.0
Version:
  $Revision: 1073158 $ $Date: 2011-02-21 22:46:52 +0100 (lun. 21 févr. 2011) $
See Also:
  `MultivariateRealOptimizer`, `DifferentiableMultivariateRealOptimizer`

### Method Summary

Methods
`VectorialConvergenceChecker` `getConvergenceChecker()` Get the convergence checker.
`int` `getEvaluations()` Get the number of evaluations of the objective function.
`int` `getIterations()` Get the number of iterations realized by the algorithm.
`int` `getJacobianEvaluations()` Get the number of evaluations of the objective function jacobian .
`int` `getMaxEvaluations()` Get the maximal number of functions evaluations.
`int` `getMaxIterations()` Get the maximal number of iterations of the algorithm.
`VectorialPointValuePair` `optimize(DifferentiableMultivariateVectorialFunction f, double[] target, double[] weights, double[] startPoint)` Optimizes an objective function.
`void` `setConvergenceChecker(VectorialConvergenceChecker 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.

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 evaluation correspond 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

#### getJacobianEvaluations

    int getJacobianEvaluations()

Get the number of evaluations of the objective function jacobian .

The number of evaluation correspond 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 jacobian

#### setConvergenceChecker

    void setConvergenceChecker(VectorialConvergenceChecker checker)

Set the convergence checker.

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

#### getConvergenceChecker

    VectorialConvergenceChecker getConvergenceChecker()

Get the convergence checker.

Returns:
  object used to check for convergence

#### optimize

    VectorialPointValuePair optimize(DifferentiableMultivariateVectorialFunction f,
                                   double[] target,
                                   double[] weights,
                                   double[] startPoint)
                                     throws FunctionEvaluationException,
                                            OptimizationException,
                                            java.lang.IllegalArgumentException

Optimizes an objective function.

Optimization is considered to be a weighted least-squares minimization. The cost function to be minimized is ∑weighti(objectivei-targeti)2

Parameters:
  `f` - objective function
  `target` - target value for the objective functions at optimum
  `weights` - weight for the least squares cost computation
  `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
  `java.lang.IllegalArgumentException` - if the start point dimension is wrong