# Package org.apache.commons.math3.optimization

package org.apache.commons.math3.optimization

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

### Please use their replacements, to be found under

- `org.apache.commons.math3.optim`
- `org.apache.commons.math3.fitting`

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 functions`
- `MultivariateOptimizer` for `multivariate real functions`
- `MultivariateDifferentiableOptimizer` for `multivariate differentiable real functions`
- `MultivariateDifferentiableVectorOptimizer` 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.

Related Packages
Package
Description
org.apache.commons.math3
Common classes used throughout the commons-math library.
org.apache.commons.math3.optimization.direct
This package provides optimization algorithms that don't require derivatives.
org.apache.commons.math3.optimization.fitting
This package provides classes to perform curve fitting.
org.apache.commons.math3.optimization.general
This package provides optimization algorithms that require derivatives.
org.apache.commons.math3.optimization.linear
This package provides optimization algorithms for linear constrained problems.
org.apache.commons.math3.optimization.univariate
Univariate real functions minimum finding algorithms.
Class
Description
AbstractConvergenceChecker<PAIR>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseMultivariateMultiStartOptimizer<FUNC extends MultivariateFunction>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseMultivariateOptimizer<FUNC extends MultivariateFunction>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseMultivariateSimpleBoundsOptimizer<FUNC extends MultivariateFunction>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseMultivariateVectorMultiStartOptimizer<FUNC extends MultivariateVectorFunction>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseMultivariateVectorOptimizer<FUNC extends MultivariateVectorFunction>
Deprecated.
As of 3.1 (to be removed in 4.0).
BaseOptimizer<PAIR>
Deprecated.
As of 3.1 (to be removed in 4.0).
ConvergenceChecker<PAIR>
Deprecated.
As of 3.1 (to be removed in 4.0).
DifferentiableMultivariateMultiStartOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
DifferentiableMultivariateOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
DifferentiableMultivariateVectorMultiStartOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
DifferentiableMultivariateVectorOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
GoalType
Deprecated.
As of 3.1 (to be removed in 4.0).
InitialGuess
Deprecated.
As of 3.1 (to be removed in 4.0).
LeastSquaresConverter
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateDifferentiableMultiStartOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateDifferentiableOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateDifferentiableVectorMultiStartOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateDifferentiableVectorOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateMultiStartOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
MultivariateOptimizer
Deprecated.
As of 3.1 (to be removed in 4.0).
OptimizationData
Deprecated.
As of 3.1 (to be removed in 4.0).
PointValuePair
Deprecated.
As of 3.1 (to be removed in 4.0).
PointVectorValuePair
Deprecated.
As of 3.1 (to be removed in 4.0).
SimpleBounds
Deprecated.
As of 3.1 (to be removed in 4.0).
SimplePointChecker<PAIR extends Pair<double[],? extends Object>>
Deprecated.
As of 3.1 (to be removed in 4.0).
SimpleValueChecker
Deprecated.
As of 3.1 (to be removed in 4.0).
SimpleVectorValueChecker
Deprecated.
As of 3.1 (to be removed in 4.0).
Target
Deprecated.
As of 3.1 (to be removed in 4.0).
Weight
Deprecated.
As of 3.1 (to be removed in 4.0).