next up previous contents
Next: Improvements Up: Conclusions Previous: Conclusions   Contents

About the code

The code of the optimizer is a complete C/C++ stand-alone package written in pure structural programmation style. There is no call to fortran, external, unavailable, expensive libraries. You can compile it under unix or windows. The only library needed is the standard TCP/IP network transmission library based on sockets (only in the case of the parallel version of the code) which is available on almost every platform. You don't have to install any special libraries such as MPI or PVM to build the executables. The clients on different platforms/OS'es can be mixed together to deliver a huge computing power.

The code has been highly optimized (with extended use of memcpy function, special fast matrix manipulation, fast pointer arithmetics, and so on...). However, BLAS libraries have not been used to allow a full Object-Oriented approach. Anyways, the dimension of the problems is rather low so BLAS is un-useful. OO style programming allows a better comprehension of the code for the possible reader. The linear-algebra package is NOT LaPack. It's a home-made code inspired by LaPack, but optimized for C++ notations.

A small C++ SIF-file reader has also been implemented (to be able to use the problems coded in SIF from the CUTEr database, [GOT01]).
An AMPL interface has also been implemented. This is currently the most-versatile and most-used language for mathematical programming (It is used to describe objective functions).

If you are able to describe your problem in AMPL or in SIF, it means that the time needed for an evaluation of the objective function is light (it's NOT a high-computing-load objective function). You should thus use an other optimizer, like the one described in annexe in Section 13.9. The AMPL and SIF interface are mainly useful to test the code.

The fully stand-alone code is currently available at my homepage:

http://www.applied-mathematics.net


next up previous contents
Next: Improvements Up: Conclusions Previous: Conclusions   Contents
Frank Vanden Berghen 2004-04-19