## 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
`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
`protected` `UnivariateOptimizer(ConvergenceChecker<UnivariatePointValuePair> checker)`

Method Summary
`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