Publication: Automatic differentiation of the CapeML high-level language for process engineering
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

Automatic differentiation of the CapeML high-level language for process engineering

- Ph.D. thesis -
 

Author(s)
M. A. Petera

Year
2011

Abstract
To perform computer simulations of the modeled phenomena the mathematical description the model needs to be implemented as a computer program, and often the choice of implementation language depends on the simulation environment chosen. This dependency of the programming language and the simulation environment hamper the exchange of model information between modelers who may use different simulation tools. The mathematical models motivating this thesis are specified in equation-based modeling languages. Rather than a procedural code, equation-based concept defines dependencies between model variables which is advantageous for building compound models in process engineering. Therefore, at Process Systems Engineering at RWTH Aachen University, CapeML, an XML based language definition has been proposed to provide an intermediate representation of a mathematical model description which is independent of a simulation environment. CapeML may be generated from a number of equation-based programming languages, thus making it possible to combine smaller model components to build more complex models. Additionally, XML, which is a standardized format, allows for syntax verifications, content validation and source transformations which may not only translate the contents of XML into another representation but even augment the enclosed data with additional information. The main goal of this thesis is to present the suitable and innovative facility to augment CapeML model descriptions with derivative information required for the selected optimization schemes. In the course of this thesis, a source transformation tool called ADiCape has been developed to provide automatically generated CapeML code for derivative computations. These derivatives are determined by means of Automatic Differentiation (ad) techniques. The transformation rules of ADiCape are implemented in eXtensible Style-sheet Language Transformation (XSLT), a template-based transformation language for structured XML-based data. As it turns out, its functional transformation paradigm fits well with an equation-based modeling approach. Customizable transformation in ADiCape allows for generation of first and second order code for calculation of derivatives in a form required by the employed optimization algorithms. During these transformations, the structure of the mathematical model is examined for possible increase in the efficiency of the derivative calculation. For instance, code optimization techniques such as constant folding, constant propagation and loop unrolling are employed to eliminate derivative-irrelevant expressions from the model description. Additionally, the sparsity of the Jacobian matrix is exploited to reduce the computational effort of derivative calculation. Furthermore, only a fraction of the derivative information may be extracted for computation to concentrate the investigations on a particular part of the model. ADiCape is designed to be a part of the dynamic optimization environment DyOS, providing accurate derivative information for the optimization of engineering models. To meet these requirements, ADiCape implements the forward and reverse mode of ad to supply the iterative solvers of DyOS with full Jacobian matrices, Jacobian and Hessian (multi-)vector products and symmetric projections of Hessian matrix. The results of the project investigations show that the automatic differentiation may also be employed in equation-based modeling approach. The preprocessing techniques derived from the code optimization field allow the preparation of the domain-specific code for the complex mathematical transformations. This thesis describes the specification for the transformation tool ADiCape, the implementation solution, as well as the employed methods for code optimization and sparsity exploitation. The impact on the computational time and memory requirement is shown in several test examples. The presented result of an optimization of a industrial process model proves the successful incorporation of ADiCape-generated derivatives of CapeML models in the engineering optimization environment. The performance of the transformation and evaluation of derivatives in the declarative language are also shown to concur with theoretical benchmarks.

AD Tools
ADiCape

BibTeX
@PHDTHESIS{
         Petera2011Ado,
       type = "Dissertation",
       url = "http://publications.rwth-aachen.de/record/52242",
       author = "M. A. Petera",
       title = "{A}utomatic differentiation of the {C}ape{ML} high-level language for process
         engineering",
       school = "Department of Computer Science, RWTH Aachen University",
       year = "2011",
       abstract = "To perform computer simulations of the modeled phenomena the mathematical
         description the model needs to be implemented as a computer program, and often the choice of
         implementation language depends on the simulation environment chosen. This dependency of the
         programming language and the simulation environment hamper the exchange of model information between
         modelers who may use different simulation tools. The mathematical models motivating this thesis are
         specified in equation-based modeling languages. Rather than a procedural code, equation-based
         concept defines dependencies between model variables which is advantageous for building compound
         models in process engineering. Therefore, at Process Systems Engineering at RWTH Aachen University,
         CapeML, an XML based language definition has been proposed to provide an intermediate representation
         of a mathematical model description which is independent of a simulation environment. CapeML may be
         generated from a number of equation-based programming languages, thus making it possible to combine
         smaller model components to build more complex models. Additionally, XML, which is a standardized
         format, allows for syntax verifications, content validation and source transformations which may not
         only translate the contents of XML into another representation but even augment the enclosed data
         with additional information. The main goal of this thesis is to present the suitable and innovative
         facility to augment CapeML model descriptions with derivative information required for the selected
         optimization schemes. In the course of this thesis, a source transformation tool called ADiCape has
         been developed to provide automatically generated CapeML code for derivative computations. These
         derivatives are determined by means of Automatic Differentiation (AD) techniques. The transformation
         rules of ADiCape are implemented in eXtensible Style-sheet Language Transformation (XSLT), a
         template-based transformation language for structured XML-based data. As it turns out, its
         functional transformation paradigm fits well with an equation-based modeling approach. Customizable
         transformation in ADiCape allows for generation of first and second order code for calculation of
         derivatives in a form required by the employed optimization algorithms. During these
         transformations, the structure of the mathematical model is examined for possible increase in the
         efficiency of the derivative calculation. For instance, code optimization techniques such as
         constant folding, constant propagation and loop unrolling are employed to eliminate
         derivative-irrelevant expressions from the model description. Additionally, the sparsity of the
         Jacobian matrix is exploited to reduce the computational effort of derivative calculation.
         Furthermore, only a fraction of the derivative information may be extracted for computation to
         concentrate the investigations on a particular part of the model. ADiCape is designed to be a part
         of the dynamic optimization environment DyOS, providing accurate derivative information for the
         optimization of engineering models. To meet these requirements, ADiCape implements the forward and
         reverse mode of AD to supply the iterative solvers of DyOS with full Jacobian matrices, Jacobian and
         Hessian (multi-)vector products and symmetric projections of Hessian matrix. The results of the
         project investigations show that the automatic differentiation may also be employed in
         equation-based modeling approach. The preprocessing techniques derived from the code optimization
         field allow the preparation of the domain-specific code for the complex mathematical
         transformations. This thesis describes the specification for the transformation tool ADiCape, the
         implementation solution, as well as the employed methods for code optimization and sparsity
         exploitation. The impact on the computational time and memory requirement is shown in several test
         examples. The presented result of an optimization of a industrial process model proves the
         successful incorporation of ADiCape-generated derivatives of CapeML models in the engineering
         optimization environment. The performance of the transformation and evaluation of derivatives in the
         declarative language are also shown to concur with theoretical benchmarks.",
       ad_tools = "ADiCape"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)