Skip to main content

The OptSolve++ Software Components for Nonlinear Optimization and Root-Finding

  • Conference paper
Computing in Object-Oriented Parallel Environments (ISCOPE 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1732))

  • 215 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Polak, E.: Computational Methods in Optimization. Academic Press, London (1971)

    Google Scholar 

  2. Brent, R.: Algorithms for Minimization without Derivatives. Prentice-Hall, Englewood Cliffs (1973)

    MATH  Google Scholar 

  3. Press, W., Flannery, B., Teukolsky, S., Vetterling, W.: Numerical Recipes. Cambridge University Press, Cambridge (1989)

    MATH  Google Scholar 

  4. Nelder, J., Mead, R.: Computer Journal 7, 308 (1965)

    Google Scholar 

  5. Himmelblau, D.: Applied Nonlinear Programming, p. 167. McGraw-Hill, New York (1972)

    MATH  Google Scholar 

  6. 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)

    MATH  Google Scholar 

  7. Moré, J., Wright, S.: Optimization Software Guide. SIAM (1993)

    Google Scholar 

  8. Trefethen, L., Bau III, D.: Numerical Linear Algebra. SIAM (1997)

    Google Scholar 

  9. Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis. Springer, Heidelberg (1980)

    Google Scholar 

  10. Bjorck, A.: Numerical Methods for Least Square Problems. SIAM (1996)

    Google Scholar 

  11. Moré, J.: The Levenberg-Marquardt Algorithm: Implementation and Theory. In: Numerical Analysis. Lecture Notes in Mathematics, vol. 630, p. 105. Springer. Heidelberg (1978)

    Chapter  Google Scholar 

  12. Stroustrup, B.: The C++ Programming Language, 3rd edn. Addison-Wesley, Reading (1997)

    Google Scholar 

  13. Meyers, N.C.: Traits: a New and Useful Template Technique, C++ Report 7 (June 1995)

    Google Scholar 

  14. Veldhuizen, T.: Using C++ Trait Classes for Scientific Computing (March 1996), available on-line http://oonumerics.org/blitz/traits.html

  15. Furnish, G.: Container-Free Numerical Algorithms in C++. Computers in Physics 12 (May 1998)

    Google Scholar 

  16. Meyers, S.: More Effective C++, 2nd edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  17. The html archive for the OONSTD (Object-Oriented Numerics Standards) mailing list, on-line at http://oonumerics.org/oon/oonstd/archive

  18. Moré, J., et al.: ACM Trans. Math. Soft. vol. 7, p. 17 (1981)

    Google Scholar 

  19. A complete list of supported operating systems and compilers can be found on the web at, http://www.techxhome.com/products/optsolve

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics