Summer School on Direct Methods for Optimal Control of Nonsmooth Systems

Lectures: Moritz Diehl and Armin Nurkanović

Guest Lecturer: Christian Kirches (TU Braunschweig)

Exercises: Jonathan Frey and Anton Pozharskiy

Contact. In case you have any questions feel free to contact:


This four-day intensive course aims to provide both theoretical background and hands-on practical knowledge in formulating and numerical methods to solve optimal control problems with nonsmooth differential equation models with switches and state jumps. Nonsmooth dynamical systems arise in robotics, chemical engineering, biology, mechatronics, or aerospace, as soon as some if-else statements, switches, and state jump are encoded in the systems’ dynamics. For example, contacts and friction in robotic systems lead to jumps and switches.

This course provides an introduction and overview of recent advances in numerical methods for solving optimal control problems with switched, nonsmooth and hybrid dynamical systems. We will provide a recap of direct methods for optimal control problems with smooth differential equations, which serve as a basis for tailored methods for the nonsmooth case. We discuss some non-obvious pitfalls and limitations that arise with the application of standard methods to nonsmooth optimal control problems. An overview and classification of the different types of nonsmooth and hybrid systems will be provided. The course will also cover the time-freezing reformulation, which enables exactly reformulating systems with state jumps into switched systems, simplifying their numerical and theoretical treatment. We provide a detailed exposition of tailored methods for the time discretization of nonsmooth systems, with a focus on the Finite Elements with Switch Detection (FESD) method. In contrast to standard methods, it enables the correct computation of numerical sensitivities and high simulation accuracy. After the time-discretization of optimal control problems with nonsmooth systems, one usually has to solve Mathematical Programs with Complementarity Constraints (MPCCs). The course will cover the theory and solution methods for MPCCs.  

Location and Schedule 

The course takes place from Tuesday, September 12, 2023, to Friday, September 15, 2023, from 9:00-17:30, in the main historical university building in the city center of Freiburg (Kollegiengebäude I, HS 1015, Platz der Universität 3, D-79098 Freiburg). 


The course is self-contained and can be followed by all quantitative scientists with basic mathematical background (calculus, optimization, and linear algebra). It is recommended for both industrial and academic practitioners of control and optimization as well as for master and PhD students of engineering, computer science, mathematics, and physics.


Participation fee: 200.00 EUR.

Link: TBA

Deadline: TBA

Detailed content overview

Course Topics 

  • Recap on theory and algorithms for nonlinear programming
  • Modelling with differential algebraic equations 
  • Numerical simulation and direct collocation
  • Introduction to nonsmooth differential equations and hybrid systems
  • Time-freezing 1: Elastic impacts and hybrid automatons with hysteresis
  • Time-freezing 2: Rigid bodies with friction and inelastic impacts
  • Modelling with Filippov systems – Stewart’s and step formulation
  • Finite Elements with Switch Detection (FESD) for Filippov systems
  • Formulating nonsmooth optimal control problems and summary
  • Theory of Mathematical Programs with Complementarity Constraints (MPCCs)
  • Relaxation and smoothing-based algorithms for MPCCs
  • Pivoting-based algorithms for MPCCs

Preliminary course schedule

  Monday, 11.9. Tuesday, 12.9. Wednesday, 13.9. Thursday, 14.9. Friday, 15.9.
9:00-9:30   Nonlinear
Programming and introduction to MPCCs
(M. Diehl)
Introduction to Nonsmooth Differential Equations
Modelling with Filippov Systems - Stewart and Step Formulation
(A. Nurkanovic)
Theory of Mathematical Programs with Complementarity Constraints (MPCCs)
(C. Kirches)
10:30-11:00 Coffee break Coffee break Coffee break Coffee break
11:00-11:30 Modelling with Differential Algebraic Equations (DAE)
Time-Freezing 1 -
Elastic Impact and Hysteresis
(M. Diehl)
FESD for Filippov systems
(M. Diehl)
Relaxation and smoothing-based algorithms for MPCCs
(C. Kirches)
12:30-13:00 Lunch break Lunch break Lunch break Lunch break
14:00-14:30 Numerical Simulation and Direct Collocation
(M. Diehl)
Time-freezing 2 -
Rigid Bodies with Friction and Inelastic Impacts
(A. Nurkanovic)
Exercise 3 - NOSNOC and FESD Pivoting-based algorithms for MPCCs
(C. Kirches)
15:30-16:00 Coffee break Coffee break Coffee break Coffee break
16:00-16:30 Exercise 1 - CasADi, Nonlinear Programming and Direct Collocation Exercise 2 - NOSNOC intro – exploring different kinds of nonsmooth systems Formulating nonsmooth optimal control problems and summary
(M. Diehl and A. Nurkanovic)
19:30-22:00 Welcome reception   Social gathering Workshop dinner  

Lecture slides