ACROA Common Repository for Optimizers
Sedge Warbler

The UTILIB Project

Summary - A library of general-purpose C++ utilities

Documentation

  1. UTILIB User Manual (votd-pdf) (votd-html)
  2. UTILIB Class Reference (votd-html)

SVN Projects

  1. utilib - The UTILIB package
  2. acro-utilib - An Acro module including UTILIB and EXACT (for testing UTILIB).

Executables - None

Bugzilla Reports

Mailing Lists

Contributors and Acknowledgements

The genesis of the UTILIB library is in the BBUMS library developed by Bill Hart and Brian Bartell while graduate students at U.C. San Diego. Although Brian would probably not recognize any of the the UTILIB software, the design of some of the most widely used software, like array classes, is due to him. The BBUMS library was subsequently reorganized and renamed the SGOPT library, which focuses on a methods for global optimization. UTILIB was the stdlib subdirectory in SGOPT, which was extracted from SGOPT when it became clear that several groups at Sandia would be interested in using the UTILIB components without the additional baggage of the optimizers in SGOPT.

Bill Hart has continued to be the principal developer of UTILIB. However, Cindy Phillips, Jonathan Eckstein, Mario Alleva, and Mike Eldred have made frequent and substantive contributions to this software. In particular, refinements in the configuration process are largely due to the demands that their uses of UTILIB have made. Lee Ann Fisk developed the GNU-style configuration process in UTILIB and Acro. We also thank Brian Piesley extending the utilib::Ereal class to include robust error detection.

UTILIB integrates and extends several tools developed by other authors:

  1. Many of the C files in utilib/src/ranlib are taken from the RANLIB.C library of C routines for random number generation, which was developed by Barry W. Brown and James Lovato, Dept of Biomathematics at the University of Texas, Houston. The C++ utilib::RNG class is adapted from the GNU class developed by Dirk Grunwald.
  2. The AbstractSplay class was adapted from code developed by D. Sleator, which itself is adapted from simple top-down splay described in ("Self-adjusting Binary Search Trees" Sleator and Tarjan, JACM Volume 32, No 3, July 1985, pp 652-686.)
  3. The utilib::AnyValue class was adapted from the boost::any class developed by Kevlin Henney.
  4. The utilib::median functionality was developed using described in "Introduction to Algorithms", by Corman, Leiseron and Rivest.
  5. Many of UTILIB's hashing functions call the general-purpose hash function published by Bob Jenkins in Dr. Dobb's Journal (September, 1997).
  6. We thank Roscoe Bartlett for many helpful discussions and for sharing his EXCEPTION macro, which inspired the exception management tools in exception_mngr.h.

This work was supported by a wide range of funding sources, include the Mathematics, Information and Computational Science program, DOE Office of Energy Research, the Environmental Protection Agency's National Homeland Security Research Center, the DOE's Advanced Simulation and Computing program, and the DOE Laboratory Directed Research and Development program.

Acro Home
Acro Overview
Acro Software
Acro Documentation
Acro Projects
Acro Mailing Lists
Deverloper Info
Related Projects
Acro Help
Related Projects

ProjectsAPPSPACK
Coliny
EXACT
FAST
GNLP
OPT++
ParPCX PEBBL PICO
UTILIB