Source Code for Simplex Searches - index
C++ Simplex Searches

Adam Gurson and Virginia Torczon

The software posted here is part of an ongoing project to develop C++ class-based implementations of direct search methods. The original software was developed by Adam Gurson as part of a 2000 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 Adam.

This work is based on simplex searches discussed in the paper For a full discussion of the implementation and the results of preliminary experimentation, see Simplex Search Behavior in Nonlinear Optimization.


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

Source Code for Simplex Searches

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 (the works)

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 simplex_searches.tgz followed by tar xvf simplex_searches.tar

Simplex searches [simplex_searches.tgz]

Dependencies*

Container classes. . . [vec.h] [cmat.h] [subscrpt.h]
*Required by all of the searches.

Simplex Searches for Unconstrained or Bound-Constrained Optimization

Spendley, Hext and Himsworth Search . . . [SHHSearch.h] [SHHSearch.cc]
Nelder-Mead Search . . . [NMSearch.h] [NMSearch.cc]
Sequential Multidirectional Search . . . [SMDSearch.h] [SMDSearch.cc]


Example Files for Bound-Constrained Optimization

Objective Function and Initial Values Files . . . [objective.h] [objective.cc]
Main Program Files . . . [NMtest.cc] [SHHtest.cc] [SMDtest.cc]
Random Number Generators . . . [rngs.h] [rngs.c] [rvgs.h] [rvgs.c]
A sample function to play with... [shekel.cc]