|
|
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
|
|