Algorithm 709

Algorithm 709: Testing algorithm implementations. This paper explores the design of software for the evaluation of algorithms. We describe a number of features which may be taken as indicative of ideas and features that can be implemented in a general-purpose testing package. To facilitate our discussion, we introduce software for the testing of implementations of algorithms for solving a particular mathematical problem: the minimization of a nonlinear function $f(x)$ of $n$ real variables. Descriptions of some of the functionality that we feel should be included in the testing software are made clearer by examples of the use of our software for the testing of minimization algorithms.par Note that our principal objective is not to evaluate the relative merits of different algorithms, but rather to discuss the design of software to facilitate the task of algorithm evaluation. Also, although we give examples from the use of our software, the intention is that much of what is presented can be adapted to other types of problems in a conceptually straightforward manner. It is therefore hoped that this software may be of interest to a wider audience than just those interested in testing minimization algorithms.

This software is also peer reviewed by journal TOMS.