Efficient computation of derivatives for optimal experimental design
- Effiziente Ableitungsberechnung für optimale Versuchsplanung
Rasch, Arno; Bischof, Christian (Thesis advisor)
Aachen : Publikationsserver der RWTH Aachen University (2007)
Dissertation / PhD Thesis
Aachen, Techn. Hochsch., Diss., 2007
In many scientific disciplines, computer simulations based on mathematical models are an indispensable research tool for studying the phenomenological behavior of physical systems. In order to use a mathematical model, it is often necessary to adjust some of its parameters such that the simulation output best matches some given experimental data obtained from physical experiments - a task often called parameter estimation. In addition, optimal experimental design methodology, taking into account certain sensitivities of the model, can be used to maximize the information gained from the physical experiments. In this thesis, recurring optimization tasks such as parameter estimation and optimal experimental design are analyzed with a particular focus on software-engineering aspects. A novel framework for automatically combining simulation- and optimization software is introduced. This framework, called EFCOSS, treats the simulation, the optimization algorithm, and the mathematical objective function as separated components which can be exchanged independently in order to facilitate experimenting with frequently changing problem configurations. The first- and second-order derivatives of the model, which are required to solve the various optimization problems, are obtained by applying automatic differentiation to the simulation code. Since compared to the original function evaluation, the derivative calculation is often significantly more expensive in terms of execution time and memory requirement, several strategies for improving the efficiency of the derivative computation are presented in the second part of this thesis. These strategies include, e.g., the automatic parallelization of the derivative computation with OpenMP. In addition, the application of automatic differentiation to OpenMP-parallelized source code is investigated, as well as a combined multilevel-parallelization strategy. The efficiency of the computation of second-order derivatives can be further improved by exploiting the sparsity of the Hessian matrix using a dynamic approach, where only non-zero elements of the Hessian are computed. Although no a priori knowledge of the sparsity pattern is required, this dynamic approach often outperforms previous static approaches. Another strategy aims at exploiting the structure of partially separable functions. A general technique called interface contraction is extended to second-order derivative computation, and its efficiency is demonstrated in the context of partially separable functions. Finally, a combined approach employing interface contraction and parallelization is presented. Accompanying performance experiments show a dramatic efficiency increase of this combined approach, compared to black-box automatic differentiation, in particular for the rich class of partially separable functions.