Design of the CWP Optimization Library

next up previous
Next: COOOL Classes Up: The CWP Object-Oriented Optimization Previous: A Quick Look

Design of the CWP Optimization Library

The three criteria behind the development of COOOLare:

  1. It should provide a consistent application programming interface for solving optimization problems. By ``consistent'', we mean that optimization algorithms as well as objective-function formats should be relatively transparent to application users. This feature provides the flexibility for users to choose optimization methods easily and concentrate on the specific problem rather than struggling to fit the requirements of the various optimization algorithms.

  2. It should allow incremental development of the library. There should be easy access (either adding or modifying) to each level of objects, with minimum influence on others. On the other hand, reusability of existing objects should be maximized.
  3. It should allow for application packages (objects) to be built from the existing library. This is equivalent to saying that new, higher, levels can be easily added to the library. For example, we should be able to build an object for a certain travel-time inversion problem with the flexibility of choosing any of the mathematical optimization methods.

Sun Feb 25 12:08:00 MST 1996