Problems/
Software

Benchmarks

Testcases

Books/
Tutorials

Tools

Websub-
mission

Other
Sources

 
              

The Unconstrained NLO Problem

The Problem: min f(x), n=dim(x)

The picture shows the level set representation of Beale's testfunction

f(x,y)=(1.5-x(1-y))^2+(2.25-x(1-y^2))^2+(2.625-x(1-y^3))^2.

It has a unique global minimizer at (3,0.5) and a saddle point at (0,0). There is a further saddle point at (0.100538,-2.644514). For x=0 or y=1 it is constant with value 14.203125. In x<0 there exists an arc y(x)>0, where f decreases monotonically as x-> -INF. Initial values near x=0 for large |y| or x<0, y>0 will let descent methods fail.

The methods listed here all restrict themselves to finding one solution of grad f(x)=0. For trust region based methods one often can show that this solution automatically satisfies the second order necessary conditions.

f is a "general" twice continuously differentiable function, but gradient is not available:

The methods implicitly all assume that f is twice continuously differentiable. They may fail or converge very slowly if this is not the case. Read M. Powell's and M. Wright's papers on Direct Search methods.
FMIN Brent's direct search method, one variable.
UOBYQA Powell's unconstrained optimization by quadratic approximation (f77/C)
WEDGE Interpolation/trust region method for moderate dimensions(Matlab)
netlib/opt/praxis f depends on few variables, the "principal axis method", tries to approximate the curvature of f
MCToolbox three direct search methods incl Nelder-Mead, Matlab
nelmead f depends on few variables, Nelder-Mead simplex-search method (no sound theoretical basis), f77
netlib/opt/subplex f depends on few variables, modification of the Nelder-Mead simplex-search method (no sound theoretical basis), MATLAB
fminsi modified Nelder-Mead, LGPL-licensed, source, testdriver
DFO derivative free method of Conn, Scheinberg, and Toint
APPSPack Asynchronous and Fault Tolerant Parallel Pattern Search (LGLP, C++, serial or PVM or MPI)

f is only Lipschitz continuous,

n not too large
NDA Four different routines for Lipschitz continuous functions and for (small) minimax problems
ACCPM Analytic center cutting plane method, requires oracle to be written in C. Solaris, Linux, Win32 binaries of library

The gradient of f is available or finite difference approximations are applicable :

n not too large (<= some hundred say)
domin Spellucci's implementation of BFGS, different versions, exact/automatic/numerical gradients, f77/C
netlib/toms/500 the Shanno-Phua version of BFGS plus CG
netlib/toms/611 trust region BFGS, this is a reliable and fairly efficient code.
netlib/toms/739 tensor model quasi-Newton method, may be better for strongly nonquadratic f
UCMINF several methods, paper (Matlab)

f is convex differentiable, n large:

netlib/opt/ve08 f is a sum of convex differentiable functions each of which has considerably less variables than n (partially separable problem) (also for bound constraints), special quasi Newton method

n large, f general, but not too wildly behaved :

netlib/toms/630
updated version in f90
A combined limited memory qN/cg method (degrades for nonconvex f, nevertheless applicable; for ill-conditioned problem an individual preconditioner must be provided)
MINPACK-2 A limited memory quasi Newton method. Directories contain software, drivers and manuals. (dcsrch.f, the step-size-algorithm, must be added; to be found e.g. in the following code)
LBFGS a limited memory quasi Newton method using a new matrix representation; directory contains software, drivers and a user's manual. Not to be recommended for ill-conditioned problems. Add your own preconditioner! Java version, f90-version
CG+ three basic cg methods, PREQN (preconditioning package)
LM Several limited memory f77-routines for unconstrained and box-constrained optimization; also for least squares

n large, f strongly nonquadratic :

netlib/opt/tn
C-version
Nash's truncated Newton method based on the Lanczos method, without explicit eigenvalue computation. takes directions of negative curvature into account.
netlib/toms/702 truncated Newton based on the Lanczos process
TRONtrust region Newton, preconditioned cg, also for bound constraints
PL2 truncated Newton method using the Lanczos process with direct computation of a truncated spectral decomposition, uses a so called three directions method from Heinrich, uses directions of negative curvature. for large dimensional problems.

f noisy :

IFFCO implicit filtering subject to box constraints and with multiple minima
DIRECT the DIRECT algorithm
netlib/opt/praxisoften applied to noisy problems although not directly designed for such
UOBYQA Powell's unconstrained optimization by quadratic approximation (f77/C)
netlib/opt/subplex f depends on few variables, modification of the Nelder-Mead simplex-search method (no sound theoretical basis), MATLAB

f expensive to evaluate :

SPACE global optimization through meta-modeling: fitting, cross-validation, prediction, minimization etc (C++)
DACE Matlab toolbox to construct a kriging approximation (surrogate) to computer models

 Back to the top!

Date last revised: 10-26-2003