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