Top Description Interfaces Classes Enums
[default module]

Package org.apache.commons.math3.optimization


All classes and sub-packages of this package are deprecated.

Please use their replacements, to be found under

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.

Interface Summary

Modifier and TypeInterface and Description
public interface
BaseMultivariateOptimizer<
Type of the objective function to be optimized.
FUNC extends MultivariateFunction
>

Deprecated As of 3.1 (to be removed in 4.0).
This interface is mainly intended to enforce the internal coherence of Commons-FastMath.
public interface
BaseMultivariateSimpleBoundsOptimizer<
Type of the objective function to be optimized.
FUNC extends MultivariateFunction
>

Deprecated As of 3.1 (to be removed in 4.0).
This interface is mainly intended to enforce the internal coherence of Commons-FastMath.
public interface
BaseMultivariateVectorOptimizer<
Type of the objective function to be optimized.
FUNC extends MultivariateVectorFunction
>

Deprecated As of 3.1 (to be removed in 4.0).
This interface is mainly intended to enforce the internal coherence of Commons-Math.
public interface
BaseOptimizer<
Type of the point/objective pair.
PAIR
>

Deprecated As of 3.1 (to be removed in 4.0).
This interface is mainly intended to enforce the internal coherence of Commons-Math.
public interface
ConvergenceChecker<
Type of the (point, objective value) pair.
PAIR
>

Deprecated As of 3.1 (to be removed in 4.0).
This interface specifies how to check if an optimization algorithm has converged.
public interface
DifferentiableMultivariateOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
This interface represents an optimization algorithm for scalar differentiable objective functions.
public interface
DifferentiableMultivariateVectorOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
This interface represents an optimization algorithm for vectorial differentiable objective functions.
public interface
MultivariateDifferentiableOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
This interface represents an optimization algorithm for scalar differentiable objective functions.
public interface
MultivariateDifferentiableVectorOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
This interface represents an optimization algorithm for differentiable vectorial objective functions.
public interface
MultivariateOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
This interface represents an optimization algorithm for scalar objective functions.
public interface
OptimizationData

Deprecated As of 3.1 (to be removed in 4.0).
Marker interface.

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractConvergenceChecker<
Type of (point, value) pair.
PAIR
>

Deprecated As of 3.1 (to be removed in 4.0).
Base class for all convergence checker implementations.
public class
BaseMultivariateMultiStartOptimizer<
Type of the objective function to be optimized.
FUNC extends MultivariateFunction
>

Deprecated As of 3.1 (to be removed in 4.0).
Base class for all implementations of a multi-start optimizer.
public class
BaseMultivariateVectorMultiStartOptimizer<
Type of the objective function to be optimized.
FUNC extends MultivariateVectorFunction
>

Deprecated As of 3.1 (to be removed in 4.0).
Base class for all implementations of a multi-start optimizer.
public class
DifferentiableMultivariateMultiStartOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
Special implementation of the DifferentiableMultivariateOptimizer interface adding multi-start features to an existing optimizer.
public class
DifferentiableMultivariateVectorMultiStartOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
Special implementation of the DifferentiableMultivariateVectorOptimizer interface addind multi-start features to an existing optimizer.
public class
InitialGuess

Deprecated As of 3.1 (to be removed in 4.0).
Starting point (first guess) of the optimization procedure.
public class
LeastSquaresConverter

Deprecated As of 3.1 (to be removed in 4.0).
This class converts vectorial objective functions to scalar objective functions when the goal is to minimize them.
public class
MultivariateDifferentiableMultiStartOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
Special implementation of the MultivariateDifferentiableOptimizer interface adding multi-start features to an existing optimizer.
public class
MultivariateDifferentiableVectorMultiStartOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
Special implementation of the MultivariateDifferentiableVectorOptimizer interface adding multi-start features to an existing optimizer.
public class
MultivariateMultiStartOptimizer

Deprecated As of 3.1 (to be removed in 4.0).
Special implementation of the MultivariateOptimizer interface adding multi-start features to an existing optimizer.
public class
PointValuePair

Deprecated As of 3.1 (to be removed in 4.0).
This class holds a point and the value of an objective function at that point.
public class
PointVectorValuePair

Deprecated As of 3.1 (to be removed in 4.0).
This class holds a point and the vectorial value of an objective function at that point.
public class
SimpleBounds

Deprecated As of 3.1 (to be removed in 4.0).
Simple optimization constraints: lower and upper bounds.
public class
SimplePointChecker<
Type of the (point, value) pair. The type of the "value" part of the pair (not used by this class).
PAIR extends Pair<double[], ? extends Object>
>

Deprecated As of 3.1 (to be removed in 4.0).
Simple implementation of the ConvergenceChecker interface using only point coordinates.
public class
SimpleValueChecker

Deprecated As of 3.1 (to be removed in 4.0).
Simple implementation of the ConvergenceChecker interface using only objective function values.
public class
SimpleVectorValueChecker

Deprecated As of 3.1 (to be removed in 4.0).
Simple implementation of the ConvergenceChecker interface using only objective function values.
public class
Target

Deprecated As of 3.1 (to be removed in 4.0).
Target of the optimization procedure.
public class
Weight

Deprecated As of 3.1 (to be removed in 4.0).
Weight matrix of the residuals between model and observations.

Enum Summary

Modifier and TypeEnum and Description
public enum
GoalType

Deprecated As of 3.1 (to be removed in 4.0).
Goal type for an optimization problem.