chiark / gitweb /
recommend building in a subdir
[nlopt.git] / src / algs / newuoa / README
1 This is the NEWUOA software by M. J. D. Powell, which performs
2 derivative-free unconstrained optimization using an iteratively
3 constructred quadratic approximation for the objective function.  See:
4
5         M. J. D. Powell, "The NEWUOA software for unconstrained
6         optimization without derivatives," Proc. 40th Workshop
7         on Large Scale Nonlinear Optimization (Erice, Italy, 2004).
8
9 The C translation by S. G. Johnson (2008) includes a few minor
10 modifications, mainly to use the NLopt stopping criteria (and to
11 take the objective function as an argument rather than a global).
12
13 The C translation also includes a variant (NEWUOA_BOUND, when the lb
14 and ub parameters to newuoa are non-NULL) that is substantially
15 modified in order to support bound constraints on the input variables.
16 In the original NEWUOA algorithm, Powell solved the quadratic
17 subproblems (in routines TRSAPP and BIGLAG) in a spherical trust
18 region via a truncated conjugate-gradient algorithm.  In the new
19 variant, we use the MMA algorithm for these subproblems to solve them
20 with both bound constraints and a spherical trust region.  In principle,
21 we should also change the BIGDEN subroutine in a similar way (since
22 BIGDEN also approximately solves a trust-region subproblem), but instead
23 I just truncated its result to the bounds (which probably gives suboptimal
24 convergence, but BIGDEN is called only very rarely in practice).
25
26 The original Fortran code was released by Powell with "no restrictions
27 or charges", and the C translation by S. G. Johnson is released in a
28 similar spirit under the MIT License (see the COPYRIGHT file in this
29 directory).