Design of the CWP Optimization Library
Next: COOOL Classes
Up: The CWP ObjectOriented Optimization
Previous: A Quick Look
The three criteria behind the development of COOOLare:

It should provide a
consistent application programming interface for solving
optimization problems.
By ``consistent'', we mean that optimization algorithms as well as
objectivefunction
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.

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.

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 traveltime inversion problem with
the flexibility of choosing any of the mathematical optimization methods.
Sun Feb 25 12:08:00 MST 1996