The target of this project is the development of algorithms for numerical solution of large-scale, DAE-constrained, non-convex dynamic optimization problems. The project targets both optimal control and parameter estimation as well as other forms of dynamic optimization. Applications include minimization of material and energy consumption during set-point transitions in power plants and chemical processes, minimizing lap times for vehicle systems, trajectory optimization in robotics and identifying unknown parameter values of models using measurement data.
The first step of the project has been to implement state-of-the-art algorithms based on collocation methods and integrate them with the high-level, object-oriented modelling language Modelica and its extension Optimica. This allows basic users to conveniently formulate and solve problems of moderate difficulty without worrying about the details of the solution algorithms, while still allowing advanced users to tailor the algorithm as needed for complex problems. This implementation is a part of the open-source JModelica.org project. Two important third-party tools used within the project is CasADi, for automatic differentiation, and IPOPT, for solution of non-linear programs.
The current research direction is to symbolically process the differential-algebraic equation system describing the dynamics to create a block triangular structure of the incidence matrix by employing graph algorithms, as illustrated above. This structure facilitates analytic solution of many of the algebraic equations, removing the need to expose these to the numerical optimization algorithm. This drastically reduces the number of optimization variables, and may also result in a better conditioned problem, thus potentially improving both convergence speed and robustness of iterative solvers.
The applicability of the algorithms are explored in other application-oriented research projects, in collaboration with other research groups from both academia and industry.