UOBYQA (PDFO)

Unconstrained Optimization BY Quadratic Approximation

UOBYQA is a trust-region method for derivative-free optimization that builds quadratic models using function values only. Developed by M.J.D. Powell, it's one of the foundational algorithms in the Prima library. UOBYQA is particularly effective for smooth, unimodal functions and forms the basis for more advanced methods like NEWUOA and BOBYQA.

Implementation Details

Component Details Links
Original Algorithm M.J.D. Powell
Trust-region method using quadratic interpolation models
Derivative-free optimization for unconstrained problems
Published: 2002
šŸ“„ Paper
Reference Package PDFO (Python Derivative-Free Optimization)
Wraps Powell's original Fortran implementation
Authoritative implementation with numerical robustness
Package: pdfo
šŸ“¦ PDFO šŸ Source
Humpday Python Wrapper Humpday Integration
Calls PDFO's UOBYQA implementation
Standardized interface for optimization contests
File: humpday/optimizers/primacube.py
šŸ Wrapper Code
Humpday JavaScript Port Browser Implementation
Pure JavaScript port maintaining core trust-region logic
Simplified quadratic model building for web performance
Class: PRIMA_UOBYQA
🌐 JS Port
Dependencies Reference: PDFO package (wraps Powell's Fortran)
Humpday Python: pdfo, numpy
Humpday JS: None (standalone port)
šŸ“¦ PyPI

šŸ Performance Characteristics

  • Best for: Smooth, unimodal functions with moderate noise tolerance
  • Dimensions: Works well up to ~50 dimensions
  • Function evaluations: Typically requires O(n²) evaluations for n dimensions
  • Convergence: Fast local convergence on quadratic-like functions
  • Robustness: Handles discontinuous derivatives but sensitive to high noise