org.apache.commons.math3.optim.nonlinear.scalar.noderiv
Class BOBYQAOptimizer
java.lang.Object
org.apache.commons.math3.optim.BaseOptimizer<PAIR>
org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointValuePair>
org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer
public class BOBYQAOptimizer
- extends MultivariateOptimizer
Powell's BOBYQA algorithm. This implementation is translated and
adapted from the Fortran version available
here.
See
this paper for an introduction.
BOBYQA is particularly well suited for high dimensional problems
where derivatives are not available. In most cases it outperforms the
PowellOptimizer
significantly. Stochastic algorithms like
CMAESOptimizer
succeed more often than BOBYQA, but are more
expensive. BOBYQA could also be considered as a replacement of any
derivative-based optimizer when the derivatives are approximated by
finite differences.
- Since:
- 3.0
- Version:
- $Id: BOBYQAOptimizer.java 7721 2013-02-14 14:07:13Z CardosoP $
Constructor Summary |
BOBYQAOptimizer(int numberOfInterpolationPoints)
|
BOBYQAOptimizer(int numberOfInterpolationPoints,
double initialTrustRegionRadius,
double stoppingTrustRegionRadius)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MINIMUM_PROBLEM_DIMENSION
public static final int MINIMUM_PROBLEM_DIMENSION
- Minimum dimension of the problem: 2
- See Also:
- Constant Field Values
DEFAULT_INITIAL_RADIUS
public static final double DEFAULT_INITIAL_RADIUS
- Default value for
initialTrustRegionRadius
: 10.0 .
- See Also:
- Constant Field Values
DEFAULT_STOPPING_RADIUS
public static final double DEFAULT_STOPPING_RADIUS
- Default value for
stoppingTrustRegionRadius
: 1.0E-8 .
- See Also:
- Constant Field Values
BOBYQAOptimizer
public BOBYQAOptimizer(int numberOfInterpolationPoints)
- Parameters:
numberOfInterpolationPoints
- Number of interpolation conditions.
For a problem of dimension n
, its value must be in the interval
[n+2, (n+1)(n+2)/2]
.
Choices that exceed 2n+1
are not recommended.
BOBYQAOptimizer
public BOBYQAOptimizer(int numberOfInterpolationPoints,
double initialTrustRegionRadius,
double stoppingTrustRegionRadius)
- Parameters:
numberOfInterpolationPoints
- Number of interpolation conditions.
For a problem of dimension n
, its value must be in the interval
[n+2, (n+1)(n+2)/2]
.
Choices that exceed 2n+1
are not recommended.initialTrustRegionRadius
- Initial trust region radius.stoppingTrustRegionRadius
- Stopping trust region radius.
doOptimize
protected PointValuePair doOptimize()
- Performs the bulk of the optimization algorithm.
- Specified by:
doOptimize
in class BaseOptimizer<PointValuePair>
- Returns:
- the point/value pair giving the optimal value of the
objective function.
Copyright © 2016 CNES. All Rights Reserved.