Pattern Search Source Code - index
C++ Class-Based Pattern Search

Elizabeth Dolan and Virginia Torczon

The software posted here is part of an ongoing project to develop C++ class-based implementations of pattern search methods. The original software was developed by Elizabeth Dolan as part of a 1999 Honors Thesis in Computer Science under the direction of Virginia Torczon.

Christopher Siefert has implemented and provided useful C++ classes for vector and matrix operations, which have since been incorporated by Liz.

This work is based on the abstraction of pattern search found in the paper On the convergence of pattern search algorithms. For a full discussion of the implementation and the results of preliminary experimentation, see Pattern Search Behavior in Nonlinear Optimization.


We thank the National Science Foundation for support received under Grant No. CCR-9734044.

Pattern Search Source Code

The bracketed links below are to C++ files. Other links lead to descriptions of the files. If you wish to save the files below rather than view them, click on the link with the SHIFT key depressed. With a Netscape browser, this will bring up a "Save As" dialog box.


Compressed File (Kit'n'Caboodle)

You may download all of the files listed below in compressed form here. To extract files with gnu zip and tar facilities after downloading, use gunzip PatternSearch.tar.gz followed by tar xvf PatternSearch.tar. The files will be located within the PatternSearch directory thus created.
PatternSearch/ . . . [PatternSearch.tar.gz]

Base Classes*

Pattern Search . . . [PatternSearch.h] [PatternSearch.cc]
Vector & Matrix . . . [vec.h] [cmat.h] [subscrpt.h]
*Required by all of the searches.

Inherited Classes (Actual Searches) for Unconstrained Optimization

Minimal Positive Basis Search (NLess). . . [NLessSearch.h] [NLessSearch.cc]


Inherited Classes for Unconstrained or Bound-Constrained Optimization

Compass Search . . . [CompassSearch.h] [CompassSearch.cc]
Coordinate Search . . . [CoordinateSearch.h] [CoordinateSearch.cc]
Hooke and Jeeves Pattern Search . . . [HJSearch.h] [HJSearch.cc]
Edited Hooke and Jeeves Pattern Search . . . [EdHJSearch.h] [EdHJSearch.cc]


Example Files for Unconstrained Optimization

Objective Function and Initial Values Files . . . [objective.h] [objective.cc]
Main Program File . . . [main.cc]