Asynchronous Parallel Pattern Search
Development Version (Updated Daily)
This is the development version of APPSPACK. Click here to go to the latest stable version.
APPSPACK is serial or parallel, derivativefree optimization software for solving nonlinear unconstrained, boundconstrained, and linearlyconstrained 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 parameterbyparameter 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 simulationbased 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, derivativefree, parallel, direct search, pattern search, engineering design
The following people have contributed code to APPSPACK:

Tamara G. Kolda, Sandia National Labs, tgkolda@sandia.gov

Patricia D. Hough, Sandia National Labs, pdhough@sandia.gov

Genetha Gray, Sandia National Labs, gagray@sandia.gov

Josh Griffin, Sandia National Labs, jgriffi@sandia.gov

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.
© Sandia
Corporation  Site
Contact  Privacy
and Security
Generated on Thu Oct 30 00:35:21 2008 for APPSPACK Dev Version by
1.3.9.1 written by Dimitri van Heesch,
© 19972002