Introduction
Coding Examples
Documentation
Developer Information
Download


Application Examples



TAO

Introduction

The Toolkit for Advanced Optimization (TAO) focuses on large-scale 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 object-oriented 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.

Functionality of TAO

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.

Documentation

  • Related Tools:

Coding Examples

Example program Description
rosenbrock1.c Solve an unconstrained minimization problem on a single processor. TAO will minimize the extended Rosenbrock function: f(x1,x2)=99*(x2 - x1*x1)*(x2 - x1*x1) + (1 - x1)*(1 - x1) or, in latex format: sum_{i=0}^{n/2-1} ( alpha*(x_{2i+1}-x_{2i}^2)^2 + (1-x_{2i})^2 )
rosenbrock1f.F Fortran version. Solve an unconstrained minimization problem on a single processor. TAO will minimize the extended Rosenbrock function: f(x1,x2)=99*(x2 - x1*x1)*(x2 - x1*x1) + (1 - x1)*(1 - x1) or, in latex format: sum_{i=0}^{n/2-1} ( alpha*(x_{2i+1}-x_{2i}^2)^2 + (1-x_{2i})^2 )
minsurf2.c finds the minimum surface area of an object over a two-dimensional domain in accordance with some boundary conditions.

Developer Information

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.

Tools News Home