 |
Brief
Introduction to ADIFFSQP
ADIFFSQP
is a utility program that allows the user of the FFSQP constrained
nonlinear optimization routines to invoke the computational
differentiation (or automatic differentiation: AD) preprocessor
ADIFOR2.0 conveniently.
When solving optimization problems using FFSQP, the user may
either provide his/her own derivative evaluation subroutines
or ask FFSQP to use its intrinsic finite differencing option
to evaluate the derivatives. Manually coding the derivative
subroutine is often tedious and prone to mistakes. On the
other hand, finite differencing is inaccurate and CPU demanding.
Automatic
differentiation evaluates partial derivatives accurately and
cheaply. In particular, it has been demonstrated that, in
reverse mode, the evaluation of a gradient requires no more
than five times the effort of evaluating the underlying function
alone. Current AD packages, such as ADIFOR2.0, typically take
the form of preprocessors that accept function evaluation
subroutines as input and generate corresponding derivative
evaluation subroutines.
The purpose of developing ADIFFSQP is to save users the time
and trouble of invoking ADIFOR2.0 separately and repeating
it every time there is a new problem. ADIFFSQP is thus designed
to automate the procedure, as shown in Diagram 1

The
user only has to provide a valid input program set in FORTRAN77,
as required by FFSQP, with little alteration, and invoke ADIFFSQP.
ADIFFSQP takes the input program, generates all the files
required by ADIFOR2.0, invokes it, incorporates the ADIFOR-generated
subroutines into the original input program, makes essential
modifications and outputs a new FORTRAN77 program that can
be used directly with FFSQP. The whole architecture is shown
in diagram 2

Send
mail to webmaster@aemdesign.com
with questions or comments about this web site.
Last modified:
February 21, 2005
|