BOBYQA is Powell's trust-region method specifically designed for bound-constrained optimization. It builds quadratic models while respecting variable bounds, making it ideal for optimization problems with simple constraints like the unit hypercube [0,1]ⁿ used in our competition.
Implementation Details
| Component | Details | Links |
|---|---|---|
| Original Algorithm |
M.J.D. Powell Trust-region method for bound-constrained problems Extends NEWUOA with explicit bound handling Published: 2009 |
📄 Paper |
| Reference Package |
PDFO (Python Derivative-Free Optimization) Wraps Powell's original Fortran BOBYQA implementation Handles bound constraints with numerical precision Package: pdfo |
📦 PDFO 🐍 Source |
| Humpday Python Wrapper |
Humpday Integration Calls PDFO's BOBYQA implementation Standardized interface for optimization contests File: humpday/optimizers/primacube.py |
🐍 Wrapper Code |
| Humpday JavaScript Port |
Browser Implementation Bound-aware trust region implementation Optimized for unit hypercube constraints Class: PRIMA_BOBYQA |
🌐 JS Port |
🏁 Performance Characteristics
- Best for: Bound-constrained optimization problems, especially [0,1]ⁿ
- Dimensions: Excellent performance up to 100+ dimensions
- Function evaluations: Very efficient with bounds guidance
- Convergence: Superior to UOBYQA/NEWUOA on bounded problems
- Robustness: Handles boundary conditions elegantly