PDFO (Powell’s Derivative-Free Optimization solvers) is an open-source, high-performance interface that wraps the legendary derivative-free optimization solvers developed by Professor M. J. D. Powell. Rather than a reimplementation, PDFO serves as a cross-platform wrapper around the original, highly optimized Fortran backends, making them natively accessible to modern computing environments.

PDFO aims at solving general nonlinear optimization problems of the form:

$$\min_{x \in \mathcal{X}} \quad f (x)$$

where the constraints defining the feasible set $\mathcal{X} \subseteq \mathbb{R}^n$ depend entirely on the underlying Powell solver selected to execute the task:

  • UOBYQA and NEWUOA: Unconstrained problems.
  • BOBYQA: Bound-constrained problems ($l \le x \le u$).
  • LINCOA: Linearly constrained problems ($b_l \le A x \le b_u$).
  • COBYLA: Nonlinearly constrained problems ($c_l \le c(x) \le c_u$).

Key Features Link to heading

  • Native Fortran Efficiency: Leverages the original, mathematically rigorous Fortran 77 codebases for maximum algorithmic execution speed and numerical reliability.
  • Multi-Language Support: Fully available as an easy-to-use package for both Python and MATLAB users.
  • Automated Solver Selection: Automatically detects your problem’s constraint structures and routes it to the most efficient underlying Powell solver without requiring manual configuration.