Abstract
OptSolve++ is a set of C++ class libraries for nonlinear optimization and root-finding. The primary components include TxOptSlv (optimizer and solver classes), TxFunc (functor classes used to wrap user-defined functions), TxLin (linear algebra), and a library of test functions. These cross-platform components use exception handling and encapsulate diagnostic output for the calling application. Use of the ”template” design pattern in TxOptSlv provides a convenient interface that allows for interchange of existing algorithms by users and straightforward addition of new algorithms by developers. All classes are templated, so that optimization over the various floating-point types uses the same source code, and so that optimization over integers or more esoteric types can be readily accommodated with an identical interface. TxOptSlv and TxFunc use the template-based ”traits” mechanism, allowing them to work with any user-specified container class, and future versions of OptSolve++ will allow users to interchange TxLin with other linear algebra libraries.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Polak, E.: Computational Methods in Optimization. Academic Press, London (1971)
Brent, R.: Algorithms for Minimization without Derivatives. Prentice-Hall, Englewood Cliffs (1973)
Press, W., Flannery, B., Teukolsky, S., Vetterling, W.: Numerical Recipes. Cambridge University Press, Cambridge (1989)
Nelder, J., Mead, R.: Computer Journal 7, 308 (1965)
Himmelblau, D.: Applied Nonlinear Programming, p. 167. McGraw-Hill, New York (1972)
Himmelblau, D.: Applied Nonlinear Programming, p. 167. McGraw-Hill, New York (1972); Fletcher, R.: Practical Methods of Optimization, 2nd edn. John Wiley and Sons, England (1987)
Moré, J., Wright, S.: Optimization Software Guide. SIAM (1993)
Trefethen, L., Bau III, D.: Numerical Linear Algebra. SIAM (1997)
Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis. Springer, Heidelberg (1980)
Bjorck, A.: Numerical Methods for Least Square Problems. SIAM (1996)
Moré, J.: The Levenberg-Marquardt Algorithm: Implementation and Theory. In: Numerical Analysis. Lecture Notes in Mathematics, vol. 630, p. 105. Springer. Heidelberg (1978)
Stroustrup, B.: The C++ Programming Language, 3rd edn. Addison-Wesley, Reading (1997)
Meyers, N.C.: Traits: a New and Useful Template Technique, C++ Report 7 (June 1995)
Veldhuizen, T.: Using C++ Trait Classes for Scientific Computing (March 1996), available on-line http://oonumerics.org/blitz/traits.html
Furnish, G.: Container-Free Numerical Algorithms in C++. Computers in Physics 12 (May 1998)
Meyers, S.: More Effective C++, 2nd edn. Addison-Wesley, Reading (1998)
The html archive for the OONSTD (Object-Oriented Numerics Standards) mailing list, on-line at http://oonumerics.org/oon/oonstd/archive
Moré, J., et al.: ACM Trans. Math. Soft. vol. 7, p. 17 (1981)
A complete list of supported operating systems and compilers can be found on the web at, http://www.techxhome.com/products/optsolve
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruhwiler, D.L., Shasharina, S.G., Cary, J.R. (1999). The OptSolve++ Software Components for Nonlinear Optimization and Root-Finding. In: Matsuoka, S., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1999. Lecture Notes in Computer Science, vol 1732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704054_16
Download citation
DOI: https://doi.org/10.1007/10704054_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66818-3
Online ISBN: 978-3-540-46697-0
eBook Packages: Springer Book Archive