Numerical and Symbolic Methods for Dynamic Optimization

University dissertation from Department of Automatic Control, Lund Institute of Technology, Lund University

Abstract: Mathematical optimization is becoming increasingly important for engineering in general and control in particular. This thesis deals with numerical methods, primarily direct collocation, and symbolic methods, primarily block-triangular ordering and tearing, for numerical solution of general dynamic optimization problems involving dynamical systems modeled by large-scale differential-algebraic equations (DAE). These methods have been implemented in a software framework in the open-source platform, which is a software tool for simulation- and optimization-based analysis of DAEs described in the modeling language Modelica. The framework relies heavily upon the open-source, third-party software packages CasADi for symbolic operations and algorithmic differentiation and IPOPT for solving the resulting nonconvex optimization problems.Modelica is a standardized modeling language, which permeates the thesis. One of the many benefits of Modelica is that it is supported by several different tools, allowing implemented models to be used for different purposes. However, Modelica models are often developed for dynamic simulation and sometimes with little regard for numerics, which is enabled by the power of the available simulation software. Consequently, the models may be difficult to reuse for dynamic optimization, which is one of the challenges addressed by this thesis.The application of direct collocation to DAE-constrained optimization problems is conventionally done by discretizing the full DAE. This often turns out to be inefficient, especially for DAEs originating from Modelica code. The thesis proposes various schemes to symbolically eliminate many of the algebraic variables in a preprocessing step before discretization to improve the efficiency of numerical methods for dynamic optimization, in particular direct collocation. These techniques are inspired by the causalization and tearing techniques often used when solving DAE initial-value problems in the Modelica community. Since sparsity is crucial for some dynamic optimization methods, we also propose a novel approach to preserving sparsity during this procedure.A collection of five computationally challenging and industrially relevant optimal control problems is presented. The collection is used to evaluate the performance of the methods. We consider both computational time and probability of solving problems in a timely manner. We demonstrate that the proposed methods often are an order of magnitude faster than the standard way of discretizing the full DAE, and that they also increase probability of successful convergence significantly. It is also demonstrated that the methods are beneficial not only for DAEs originating from Modelica code, but also for more conventional textbook DAEs that have been developed specifically for optimization purposes.