Implementation and testing of optimization software

Jorge J. Morè · 1978

Optimization software must perform satisfactorily on a wide range of machines and compilers. This requirement demands that the development of the software must adhere to strict standards; the purpose of performance testing is to verify that the implementation of an algorithm satisfies these standards. It is necessary to test software at two levels: the robustness and reliability of the implementation, and the overall performance of the implementation. A robust implementation extends the domain of the algorithm so that it copes with as many problems as possible without a serious loss of efficiency. A reliable implementation performs well-defined calculations accurately and efficiently. The approach used at ANL to develop transportable optimzation software is outlined. Guidelines for the implementation of optimization software are suggested, and the (often dramatic) effect that these guidelines have on the performance of the implementation is shown. In addition, the weaknesses in the usual approaches to performance testing of optimization software are discussed and some remedies are suggested. (RWR)

Read the paper · More papers on PaperTik