org.apache.commons.math3.optim.univariate

## Class UnivariateOptimizer

- java.lang.Object
- - org.apache.commons.math3.optim.BaseOptimizer<UnivariatePointValuePair>
  - - org.apache.commons.math3.optim.univariate.UnivariateOptimizer

- Direct Known Subclasses:
    BrentOptimizer, MultiStartUnivariateOptimizer

      public abstract class UnivariateOptimizer
      extends BaseOptimizer<UnivariatePointValuePair>

  Base class for a univariate scalar function optimizer.
  Since:
    3.1
  Version:
    $Id$

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private UnivariateFunction` | `function` Objective function.
    `private GoalType` | `goal` Type of optimization.
    `private double` | `max` Upper bound.
    `private double` | `min` Lower bound.
    `private double` | `start` Initial guess.

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

      `evaluations, iterations`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `UnivariateOptimizer(ConvergenceChecker<UnivariatePointValuePair> checker)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected double` | `computeObjectiveValue(double x)` Computes the objective function value.
    `GoalType` | `getGoalType()`
    `double` | `getMax()`
    `double` | `getMin()`
    `double` | `getStartValue()`
    `UnivariatePointValuePair` | `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

    - #### function

          private UnivariateFunction function

      Objective function.

    - #### goal

          private GoalType goal

      Type of optimization.

    - #### start

          private double start

      Initial guess.

    - #### min

          private double min

      Lower bound.

    - #### max

          private double max

      Upper bound.

  - ### Constructor Detail

    - #### UnivariateOptimizer

          protected UnivariateOptimizer(ConvergenceChecker<UnivariatePointValuePair> checker)

      Parameters:
        `checker` - Convergence checker.

  - ### Method Detail

    - #### optimize

          public UnivariatePointValuePair optimize(OptimizationData... optData)
                                            throws TooManyEvaluationsException

      Stores data and performs the optimization.
      Overrides:
        `optimize` in class `BaseOptimizer<UnivariatePointValuePair>`
      Parameters:
        `optData` - Optimization data. The following data will be looked for:
        - `GoalType`
        - `SearchInterval`
        - `UnivariateObjectiveFunction`
      Returns:
        a point/value pair that satifies the convergence criteria.
      Throws:
        `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.

    - #### getGoalType

          public GoalType getGoalType()

      Returns:
        the optimization type.

    - #### 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:
        - `GoalType`
        - `SearchInterval`
        - `UnivariateObjectiveFunction`

    - #### getStartValue

          public double getStartValue()

      Returns:
        the initial guess.

    - #### getMin

          public double getMin()

      Returns:
        the lower bounds.

    - #### getMax

          public double getMax()

      Returns:
        the upper bounds.

    - #### computeObjectiveValue

          protected double computeObjectiveValue(double x)

      Computes the objective function value. This method must be called by subclasses to enforce the evaluation counter limit.
      Parameters:
        `x` - Point at which the objective function must be evaluated.
      Returns:
        the objective function value at the specified point.
      Throws:
        `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.

Copyright (c) 2003-2013 Apache Software Foundation