Skip to the content.

ACC Workshop on Differentiable Programming for Modeling and Control of Dynamical Systems

In recent years there has been an explosion of research on the intersection of machine learning and classical engineering domains. For example, machine learning is increasingly being used to develop novel data-driven approaches for the modeling and control of dynamical systems, traditionally dominated by physics-based models and scientific computing solvers. On the other hand, engineering and scientific computing principles are changing the machine learning landscape from purely black-box into domain-aware methods by incorporating more structure and prior knowledge into their model architectures and loss functions.

Differentiable Programming has emerged as a leading paradigm for systematically integrating converging domains of machine learning and scientific computing based on a shared infrastructure that is built on the automatic differentiation of complex computer programs. It has ushered in a new epoch in scientific machine learning with structured domain-aware model architectures, signaling a paradigm shift away from over-parametrized black-box deep neural models. This has spurred the development of software tools and algorithms to construct differentiable programs for both general and specific tasks to achieve:

This workshop brings together pioneers and leaders in this emerging area of differentiable programming to gather their perspectives on nonlinear dynamical systems modeling, constrained optimization, and control. Our intention is to build synergy between research teams working on the theory, tools, and algorithms in this area for different applications, including buildings, energy systems, climate models, healthcare, robotics, and vision, to name a few. Furthermore, we hope the talks pique further interest in this topic leading to exciting new research directions and wider adoption of domain-aware differentiable architectures.

We believe the workshop will be of great interest to:


08:30 am - 09:00 am - Sonja Glavaski (PNNL): Opening remarks and overview of differentiable programming

9:00 am - 9:30 am - Boris Ivanovic (NVIDIA): Differentiable robotics

09:30 am - 10:00 am - Biswadip Dey (Siemens Technology): Learning Hamiltonian dynamics with control

10:00 am - 10:30 am - Coffee break

10:30 am - 11:00 am - Mario Zanon (IMT Lucca): Differentiating MPC with applications in Reinforcement Learning

11:00 am - 11:30 am - Bingqing Chen (Bosch Center for AI): Towards safe and sample-efficient autonomous energy systems via differentiable programming

11:30 pm - 1:00 pm - Lunch Break

1:00 pm - 2:00 pm - Chris Rackauckas (JuliaHub) + Fredrik Bagge Carlson (JuliaHub): Code tutorial 1: Julia

2:00 pm - 3:00 pm - Aaron Tuor (PNNL): Code tutorial 2: PyTorch

3:00 pm - 3:30 pm - Coffee break

3:30 pm - 5:00 pm - Jan Drgona (PNNL): Code tutorial 3: PyTorch


Workshop slides

Slides for Sonja Glavaski’s talk.
Slides for Bingquing Chen’s talk.
Slides for Boris Ivanovic’s talk.
Slides for Mario Zanon’s talk.
Slides for Biswadip Dey’s talk.
Slides for Jan Drgona’s talk.

Open-source code

NeuroMANCER: Pytorch-based framework for solving parametric constrained optimization problems, physics-informed system identification, and parametric model predictive control.

Colab examples:

JuliaHub: differentiable control design and control systems demo in Julia.


Workshop photos

Bingquing Boris Chris Felix Mario