Application Examples

TAO  
The Toolkit for Advanced Optimization (TAO) focuses on largescale optimization software, including nonlinear least squares, unconstrained minimization, bound constrained optimization, and general nonlinear optimization. There is a variety of software tools for solving the aforementioned problems; however, only TAO offers an objectoriented based solution that provides a flexible optimization toolkit capable of addressing issues of portability, versatility and scalability in many computational environments. The algorithms in the toolkit place strong emphasis on the reuse of external tools where appropriate. TAO's design enables bidirectional connection to lower level linear algebra support (e.g., parallel sparse matrix data structures) that is available in toolkits like PETSc. TAO's design has been strongly motivated by the needs of many scientist who develop codes for high performance computing environments and in many cases work with legacy codes. Figure 1 illustrates the functionality of TAO and the way it interfaces with with external libraries and application codes. TAO can be used on a personal computer with a single processor or within a parallel environment. Its basic usage involves only a few programming statements. Nevertheless, potential users are encouraged to visit a few of the examples provided with the TAO's distribution.
TAO has been developed at Argonne National Laboratory, in the Mathematics and Computer Science Division; its principal developers are Steve Benson, Lois Curfman McInnes and Jorge More. 

