org.apache.commons.math3.optim

## Class BaseMultivariateOptimizer<PAIR>

- java.lang.Object
- - org.apache.commons.math3.optim.BaseOptimizer<PAIR>
  - - org.apache.commons.math3.optim.BaseMultivariateOptimizer<PAIR>

- Type Parameters:
    `PAIR` - Type of the point/value pair returned by the optimization algorithm.
  Direct Known Subclasses:
    BaseMultiStartMultivariateOptimizer, MultivariateOptimizer, MultivariateVectorOptimizer

      public abstract class BaseMultivariateOptimizer<PAIR>
      extends BaseOptimizer<PAIR>

  Base class for implementing optimizers for multivariate functions. It contains the boiler-plate code for initial guess and bounds specifications. It is not a "user" class.
  Since:
    3.1
  Version:
    $Id$

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private double[]` | `lowerBound` Lower bounds.
    `private double[]` | `start` Initial guess.
    `private double[]` | `upperBound` Upper bounds.

    - ### Fields inherited from class org.apache.commons.math3.optim.BaseOptimizer

      `evaluations, iterations`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BaseMultivariateOptimizer(ConvergenceChecker<PAIR> checker)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `checkParameters()` Check parameters consistency.
    `double[]` | `getLowerBound()`
    `double[]` | `getStartPoint()` Gets the initial guess.
    `double[]` | `getUpperBound()`
    `PAIR` | `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.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

    - #### start

          private double[] start

      Initial guess.

    - #### lowerBound

          private double[] lowerBound

      Lower bounds.

    - #### upperBound

          private double[] upperBound

      Upper bounds.

  - ### Constructor Detail

    - #### BaseMultivariateOptimizer

          protected BaseMultivariateOptimizer(ConvergenceChecker<PAIR> checker)

      Parameters:
        `checker` - Convergence checker.

  - ### Method Detail

    - #### optimize

          public PAIR optimize(OptimizationData... optData)

      Stores data and performs the optimization.
      Overrides:
        `optimize` in class `BaseOptimizer<PAIR>`
      Parameters:
        `optData` - Optimization data. The following data will be looked for:
        - `MaxEval`
        - `InitialGuess`
        - `SimpleBounds`
      Returns:
        a point/value pair that satifies the convergence criteria.

    - #### 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:
        - `InitialGuess`
        - `SimpleBounds`

    - #### getStartPoint

          public double[] getStartPoint()

      Gets the initial guess.
      Returns:
        the initial guess, or `null` if not set.

    - #### getLowerBound

          public double[] getLowerBound()

      Returns:
        the lower bounds, or `null` if not set.

    - #### getUpperBound

          public double[] getUpperBound()

      Returns:
        the upper bounds, or `null` if not set.

    - #### checkParameters

          private void checkParameters()

      Check parameters consistency.

Copyright (c) 2003-2013 Apache Software Foundation