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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright (c) 2003-2013 Apache Software Foundation