Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers
Coralia Cartis, Jan Fiala, Benjamin Marteau, Lindon Roberts
TL;DR
The paper presents DFO-LS, a derivative-free solver for nonlinear least-squares that uses regression-based residual models within a trust-region framework, enabling meaningful progress from as few as $2$ objective evaluations and robust performance under noise through multiple restarts, sample averaging, and optional regression. It also introduces Py-BOBYQA for general objective problems, sharing robustness features with DFO-LS and incorporating simplifications for practical performance. A key contribution is an adaptive testing framework with problem-specific accuracy levels $\tau_p$ to fairly benchmark noisy solvers via data profiles. Empirical results show both solvers achieve comparable or superior robustness to existing methods across expensive and noisy regimes, with reduced initialization costs and effective restart strategies that do not harm early performance. The work highlights practical guidelines for parameter choices and restarts, offering accessible tools for practitioners handling expensive or noisy evaluations in LS and general optimization tasks.
Abstract
We present DFO-LS, a software package for derivative-free optimization (DFO) for nonlinear Least-Squares (LS) problems, with optional bound constraints. Inspired by the Gauss-Newton method, DFO-LS constructs simplified linear regression models for the residuals. DFO-LS allows flexible initialization for expensive problems, whereby it can begin making progress from as few as two objective evaluations. Numerical results show DFO-LS can gain reasonable progress on some medium-scale problems with fewer objective evaluations than is needed for one gradient evaluation. DFO-LS has improved robustness to noise, allowing sample averaging, the construction of regression-based models, and multiple restart strategies together with an auto-detection mechanism. Our extensive numerical experimentation shows that restarting the solver when stagnation is detected is a cheap and effective mechanism for achieving robustness, with superior performance over both sampling and regression techniques. We also present our package Py-BOBYQA, a Python implementation of BOBYQA (Powell, 2009), which also implements robustness to noise strategies. Our numerical experiments show that Py-BOBYQA is comparable to or better than existing general DFO solvers for noisy problems. In our comparisons, we introduce a new adaptive measure of accuracy for the data profiles of noisy functions that strikes a balance between measuring the true and the noisy objective improvement.
