in collaboration with Mathworks

Supervisers: by Dr Eric Kerrigan & Prof. George Constantinides

Most problems that arise in the control and estimation of nonlinear dynamic systems are most naturally formulated as constrained infinite-dimensional optimization problems. State of the art numerical methods that are tailor-made to solve these dynamic optimization problems easily outperform general-purpose optimization solvers by orders of magnitude.

However, research software that can solve these problems in real-time, such as ACADO, GPOPS-II, ICLOCS and pyomo.dae, require the user to enter the differential equations by hand with a text-based language, which is often time-consuming or impossible if an existing model has already been developed in a graphical programming language, such as Simulink or Simscape. In some cases, the optimisation solver allows for the use of such a graphical model, but at the expense of a significant decrease in computational efficiency. The main reason for this is that models developed in graphical languages do not yet readily provide the solutions and their sensitivities in a form suitable for use by efficient gradient-based optimization solvers. Furthermore, in many cases the models are non-smooth and only piecewise differentiable, which can result in gradient-based optimisation solvers failing to converge to a solution.

Our goal is to develop graphical modelling languages that allow engineers to reduce development time by allowing them to use existing models to solve dynamic optimization problems for control and estimation in real-time, with similar computational performance as with text-based languages, such as Python or C.

This project will therefore investigate how MathWorks products, such as Simulink, Simscape, Simulink Design Optimization and the Symbolic Math and Optimization Toolboxes, can be combined and improved to achieve this goal. We would like to build on recent advances in algorithmic differentiation and dynamic optimization that aim to provide an answer on how best to formulate the optimization problem and compute the solution, while exploiting sensitivity information, structure and sparsity. There has also been a significant amount of recent research on efficient first-order and derivative-free methods, which we could also aim to apply and extend within the context of dynamic optimization of non-smooth systems modelled in Simulink or Simscape.

The project could also explore how the above-mentioned ideas should be combined to work with Mathworks real-time and code generation products for processor-in-the-loop testing and deployment on embedded processors. This work will build on our recent, world-leading research in automated methods for implementing nonlinear model predictive controllers in real-time on embedded, heterogenous processors with field-programmable gate arrays (FPGAs).

The project will involve research collaboration with Mathworks, who will be sponsoring a PhD scholarship, and supervised by Dr Eric Kerrigan and Prof. George Constantinides. Those who wish to be considered for the PhD scholarship should send Dr Kerrigan (e.kerrigan@imperial.ac.uk) their CV and a one-page summary of their experience and their research interests, explaining their relevance to the project described above. Informal enquiries about the proposed project can be sent to Dr Kerrigan.