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.
    • Constructor Detail

      • 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.