NEWUOA
NEWUOA[1] is a numerical optimization algorithm by Michael J. D. Powell. It is also the name of Powell's Fortran 77 implementation of the algorithm.
NEWUOA solves unconstrained optimization problems without using derivatives, which makes it a derivative-free algorithm. The algorithm is iterative, and exploits trust region technique. On each iteration, the algorithm establishes a model function by quadratic interpolation, and then minimizes
within a trust region.
One important feature of NEWUOA algorithm is the least Frobenius norm updating [2] technique. Suppose that the objective function has
variables, and one wants to uniquely determine the quadratic model
by purely interpolating the function values of
, then it is necessary to evaluate
at
points, as a quadratic polynomial of
variables has this amount of independent coefficients. But this is impractical when
is large, because the function values are supposed to be expensive in derivative-free optimization. In NEWUOA, the model
interpolates only
(an integer between
and
, typically of order
) function values of
, and the remaining degree of freedom is taken up by minimizing the Frobenius norm of
. This technique mimics the least change secant updates [3] for Quasi-Newton methods, and can be considered as the derivative-free version of PSB update (Powell's Symmetric Broyden update).[4]
To construct the models, NEWUOA maintains a set of interpolation points throughout the iterations. The update of this set is another feature of NEWUOA.[1]
NEWUOA algorithm was developed from UOBYQA (Unconstrained Optimization BY Quadratic Approximation).[5][6] A major difference between them is that UOBYQA constructs quadratic models by interpolating the objective function at points.
NEWUOA software was released on December 16, 2004.[7] It can solve unconstrained optimization problems of a few hundreds variables to high precision without using derivatives.[1] In the software, is set to
by default.[6]
Other derivative-free optimization algorithms by Powell include COBYLA, UOBYQA, BOBYQA, and LINCOA.[7] BOBYQA and LINCOA are extensions of NEWUOA to bound constrained and linearly constrained optimization respectively.
Powell did not explain how he coined the name "NEWUOA" either in the introducing report [1] or in the software,[6] although COBYLA, UOBYQA, BOBYQA and LINCOA are all named by acronyms. Probably "NEWUOA" means "NEW Unconstrained Optimization Algorithm".
The NEWUOA software is distributed under The GNU Lesser General Public License (LGPL).[6]
See also
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- ↑ 1.0 1.1 1.2 1.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 6.0 6.1 6.2 6.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.