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:
UnivariateOptimizer for univariate real functionsMultivariateOptimizer for multivariate real functionsMultivariateDifferentiableOptimizer for multivariate differentiable real functionsMultivariateDifferentiableVectorOptimizer for multivariate differentiable vectorial functions
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.
| Modifier and Type | Interface 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.
|
| Modifier and Type | Class 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
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.
|
| Modifier and Type | Enum and Description |
|---|---|
| public enum | GoalType
Deprecated
As of 3.1 (to be removed in 4.0).
Goal type for an optimization problem.
|