Package org.apache.commons.math3.optimization

This package provides common interfaces for the optimization algorithms provided in sub-packages.

See:
          Description

Interface Summary
BaseMultivariateOptimizer<FUNC extends MultivariateFunction> This interface is mainly intended to enforce the internal coherence of Commons-FastMath.
BaseMultivariateSimpleBoundsOptimizer<FUNC extends MultivariateFunction> This interface is mainly intended to enforce the internal coherence of Commons-FastMath.
BaseMultivariateVectorOptimizer<FUNC extends MultivariateVectorFunction> This interface is mainly intended to enforce the internal coherence of Commons-Math.
BaseOptimizer<PAIR> This interface is mainly intended to enforce the internal coherence of Commons-Math.
ConvergenceChecker<PAIR> This interface specifies how to check if an optimization algorithm has converged.
DifferentiableMultivariateOptimizer This interface represents an optimization algorithm for scalar differentiable objective functions.
DifferentiableMultivariateVectorOptimizer This interface represents an optimization algorithm for vectorial differentiable objective functions.
MultivariateOptimizer This interface represents an optimization algorithm for scalar objective functions.
 

Class Summary
AbstractConvergenceChecker<PAIR> Base class for all convergence checker implementations.
BaseMultivariateMultiStartOptimizer<FUNC extends MultivariateFunction> Base class for all implementations of a multi-start optimizer.
BaseMultivariateVectorMultiStartOptimizer<FUNC extends MultivariateVectorFunction> Base class for all implementations of a multi-start optimizer.
DifferentiableMultivariateMultiStartOptimizer Special implementation of the DifferentiableMultivariateOptimizer interface adding multi-start features to an existing optimizer.
DifferentiableMultivariateVectorMultiStartOptimizer Special implementation of the DifferentiableMultivariateVectorOptimizer interface addind multi-start features to an existing optimizer.
LeastSquaresConverter This class converts vectorial objective functions to scalar objective functions when the goal is to minimize them.
MultivariateMultiStartOptimizer Special implementation of the MultivariateOptimizer interface adding multi-start features to an existing optimizer.
PointValuePair This class holds a point and the value of an objective function at that point.
PointVectorValuePair This class holds a point and the vectorial value of an objective function at that point.
SimplePointChecker<PAIR extends Pair<double[],? extends Object>> Simple implementation of the ConvergenceChecker interface using only point coordinates.
SimpleValueChecker Simple implementation of the ConvergenceChecker interface using only objective function values.
SimpleVectorValueChecker Simple implementation of the ConvergenceChecker interface using only objective function values.
 

Enum Summary
GoalType Goal type for an optimization problem.
 

Package org.apache.commons.math3.optimization Description

This package provides common interfaces for the optimization algorithms provided in sub-packages. The main interfaces defines optimizers and convergence checkers. The functions that are optimized by the algorithms provided by this package and its sub-packages are a subset of the one defined in the analysis package, namely the real and vector valued functions. These functions are called objective function here. When the goal is to minimize, the functions are often called cost function, this name is not used in this package.

Optimizers are the algorithms that will either minimize or maximize, the objective function by changing its input variables set until an optimal set is found. There are only four interfaces defining the common behavior of optimizers, one for each supported type of objective function:

Despite there are only four types of supported optimizers, it is possible to optimize a transform a non-differentiable multivariate vectorial function by converting it to a non-differentiable multivariate real function thanks to the LeastSquaresConverter helper class. The transformed function can be optimized using any implementation of the MultivariateOptimizer interface.

For each of the four types of supported optimizers, there is a special implementation which wraps a classical optimizer in order to add it a multi-start feature. This feature call the underlying optimizer several times in sequence with different starting points and returns the best optimum found or all optima if desired. This is a classical way to prevent being trapped into a local extremum when looking for a global one.



Copyright (c) 2003-2013 Apache Software Foundation