Open Optimization Library - OOL (original) (raw)
Open Optimization Library
Easy-to-use High-level Optimization Codes
The Open Optimization Library (OOL) is a set of optimization codes written in C, under the GNU Scientific Library(GSL) standards. All the algorithms, implemented in OOL, were published in well known optimization journals. Initially, we present methods for minimization of functions subject to simple (box) bounds.
MOTIVATION
Our aim is to provide an open-source optimization library, made of classic and modern constrained optimization methods, suited to solving real practical applications. In this way, our library is GSL compliant. We hope that this alliance will provide an almost complete and usable scientific-code development environment. Moreover, there are the benefits of using a free scientific library (as described in the GSL site) under the GNU General Public License,
- it allows easier collaboration, as the library isfreely available to everyone;
- softwares using the library must be, under the same principles, released publicly as source-code;
- you can adapt the source code to your needs;
- it respects your privacy - it does not impose any conditions on "in-house" use;
- you can contribute back improvements to the user community.
METHODS
So far, the library implements three methods for minimization of differentiable functions subject to simple bound constraints:
- PGRAD — This is the "projected gradient method", as described in Kelley (1999). As this method is the natural generalisation of the gradient method from unconstrained optimization, it is not intended to be used for production.
- SPG — This is the "Spectral Projected Gradient Method" introduced by Birgin, Mart�nez e Raydan (2000) and based on the unconstrained algorithms of Barzilai and Borwein (1988) and Raydan (1993).
- GENCAN — This algorithm, introduced in Birgin and Mart�nez (2002), is an active-set method, which combines an unconstrained method with a technique for dropping constraints from the working set.
HOW TO HELP
There are many ways to contribute to this project. Below, we suggest some.
- Use the library
- Report bugs
- Report successes in using the library to solve relevant and/or difficult problems
- Suggest enhancements, new features, new methods
- Test the library on non-x86 plataforms
- Submit patches
- Implement optimization methods
- Write interfaces to other libraries
- Write wrapper to other languages (C++, Fortran, Java, ...)
- Write/improve/revise documentation, user's guide, developer's guide
- Promote the library
LICENSE
OOL is developed as a free software, released under the terms of the GNU Public License (GPL).
RELEASE
The current realese is 0.2.0. For information concerning download, please look at the OOL resource page at SourceForge.net.
DOCUMENTATION
There is a pre-released of the Reference Manual: [HTML] [PS] [PDF].
CONTACT
For more information about OOL, please contact any of the authors:
- R. Biloti: biloti@users.sourceforge.net
- L. D'Afonseca: akiles@users.sourceforge.net
- S. Ventura: damxtha@users.sourceforge.net
REFERENCES
- J. Barzilai and J. M. Borwein, "Two point step size gradient methods", IMA Journal of Numerical Analysis, 8, pp 141–148 (1988).
- E.G. Birgin and J.M. Mart�nez, "Large-scale active-set box-constrained optimization method with spectral projected gradients",Computational Optimization and Applications, 23, pp. 101–125 (2002).
- E.G. Birgin, J.M. Mart�nez and M. Raydan, "Nonmonotone Spectral Projected Gradient Methods on Convex Sets", SIAM Journal on Optimization, 10, pp 1196–1211 (2000).
- C.T. Kelley, "Iterative Methods for Optimization", SIAM (1999).
- M. Raydan, "On the Barzilai and Borwein choice of steplengths for the gradient method", IMA Journal of Numerical Analysis, 13, pp 321–326 (1993).