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
    Modifier and Type | Method and Description
    --- | ---
    `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,
                                                  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
        `IllegalArgumentException` - if the start point dimension is wrong

Copyright (c) 2003-2013 Apache Software Foundation