Class 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.
  • Field Details

    • MINIMUM_PROBLEM_DIMENSION

      public static final int MINIMUM_PROBLEM_DIMENSION
      Minimum dimension of the problem: 2
      See Also:
    • DEFAULT_INITIAL_RADIUS

      public static final double DEFAULT_INITIAL_RADIUS
      Default value for initialTrustRegionRadius: 10.0 .
      See Also:
    • DEFAULT_STOPPING_RADIUS

      public static final double DEFAULT_STOPPING_RADIUS
      Default value for stoppingTrustRegionRadius: 1.0E-8 .
      See Also:
  • Constructor Details

    • BOBYQAOptimizer

      public BOBYQAOptimizer(int numberOfInterpolationPoints)
      Simple constructor.
      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)
      Simple constructor.
      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.
  • Method Details