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
`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
`protected` `BaseMultivariateOptimizer(ConvergenceChecker<PAIR> checker)`

### Method Summary

Methods
`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.