Asynchronous Parallel Pattern Search
Released February 16, 2007
Important Information (May 17, 2010)
It is suggested that all users of APPSPACK switch to HOPSPACK. It has
all the features of APPSPACK and many more, including support for
Windows. Visit the
for more information.
APPSPACK is serial or parallel, derivative-free optimization software for solving nonlinear unconstrained, bound-constrained, and linearly-constrained optimization problems, with possibly noisy and expensive objective functions. The basic optimization problem is of the form
Here is the objective function. The inequality constraints are denoted by the matrix and the upper and lower bounds . Each constraint can be bounded on both sides or just one. The equality constraints are denoted by the matrix and the right hand side . Finally, and denote the lower and upper bounds, respectively, which are optional on a parameter-by-parameter basis. To find a solution of this problem, APPSPACK implements asynchronous parallel generating set search, which handles bound and linear constraints by choosing search directions that conform to the nearby boundary. APPSPACK is written in C++ and uses MPI for parallelism. Constraint degeneracy is handled using the software package cddlib (relevant files included with distribution). Using APPSPACK to solve optimization problems has the following advantages:
Only function values are required for the optimization, so it can be applied to a wide variety of problems. The user need simply provide a program (written in any language such as Fortran, C, C++, Perl, etc.) that can evaluate the objective function at a given point.
The target applications are simulation-based optimization problems characterized by a small number of variables (i.e., n < 100) and by expensive objective function evaluations (typically complex simulations that take minutes or hours to run). The procedure for evaluating the objective function does not need to be encapsulated in a subroutine and can, in fact, be an entirely separate program.
The code can be run in parallel on a cluster of computers, greatly reducing the total solution time. Parallelism is achieved by assigning the individual function evaluations to different processors. The (optional) asynchronism enables better load balancing.
The software is freely available under the terms of the GNU Lesser General Public License.
Key words: optimization, derivative-free, parallel, direct search, pattern search, engineering design
The following people have contributed code to APPSPACK:
Tamara G. Kolda, Sandia National Labs, firstname.lastname@example.org
Patricia D. Hough, Sandia National Labs, email@example.com
Genetha Gray, Sandia National Labs, firstname.lastname@example.org
Josh Griffin, Sandia National Labs, email@example.com
R. Michael Lewis, College of William & Mary (cddlib interface)
Robert Darwin (Sandia Summer Intern, 2004)
Daniel Dunlavy (Sandia Summer Intern, 2001)
H. Alton Patrick (Sandia Summer Intern, 2000)
Sarah Brown (Sandia Summer Intern, 2000)
We also gratefully acknowledge Komei Fukuda for providing the cddlib, parts of which are distributed with APPSPACK.
Please contact Tamara G. Kolda
Corporation | Site
Contact | Privacy
Generated on Fri Feb 16 10:33:34 2007 for APPSPACK 5.0.1 by
188.8.131.52 written by Dimitri van Heesch,