Winter School on Numerical Optimal Control with Differential Algebraic Equations

Prof. Dr. Moritz Diehl - moritz.diehl (at)

The aim of this intensive two-week intensive course is to give both theoretical background and hands-on practical knowledge with computational tools for optimal control with differential algebraic equation models.

Download flyer 


The course covers all topics relevant for the formulation and practical solution of optimal control problems (OCP) with differential algebraic equation models. It builds on concepts from both, numerical simulation of differential algebraic equations and nonlinear optimization. All lecture topics are accompanied by intensive computer exercises, for which we use the optimization modelling environment CasADi from MATLAB or Python. The first week, whose contents are optional for experienced participants, contains an introduction into using CasADi, into convex optimization and nonlinear programming and into algorithms for general nonlinear optimal control problems such as direct single and multiple shooting and direct collocation. The second week focuses on optimal control with differential algebraic equation (DAE) models.  Topics comprise implicit integration methods, high-index DAE, invariants, Baumgarte stabilization, periodic problems and optimal control under uncertainty. 

Towards the end of the course, each participant will start to work on a self-chosen application problem and the results will be presented in a short public presentation on the last day of the course.

The detailed schedule for the course can be found here.

Prerequisites, Workload and Evaluation

The course is self contained and can be followed by all quantitative scientists with solid mathematical background (calculus and linear algebra) and knowledge of dynamic systems. 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. The total workload is 90 hours including lectures, project work and self-study, and the course gives 3 ECTS credits. The final course evaluation is based 50% on the written exam and 50% on the project. A certificate of attendance can be given to participants not wishing to participate in the exam and/or project.

Time and place

The course takes place from Monday, February 15, 2016 to Friday, February 26, 2016, from 9:00-18:00, in the main historical university building in the city center of Freiburg (Kollegiengebäude I, HS 1098, Platz der Universität 3, D-79098 Freiburg). In the weekend, an optional excursion into the black forest is foreseen. The written exam takes place on Thursday, February 25, 9:00-10:30. The final project presentations take place on Friday, February 26, 2016.


Participation in the course is limited to 60 places. A cost contribution of 300 Euro to cover coffee breaks and social events will be required by external participants. To apply for participation please fill in the following form before January 17, 2016:


This workshop is organized by Moritz Diehl, Andrea Zanelli, Dimitris Kouzoupis, Rien Quirynen, Robin Verschueren, Christine Paasch and  with external teachers:

  • Sebastian Gros (Chalmers)
  • Joel Andersson (UW Madison)
  • Joris Gillis (KU Leuven)

Video Lectures

Videos of the lectures given during the course are available upon request. If you are interested, please contact Andrea Zanelli (andrea.zanelli(at)

Detailed Program and Material

  • week 1:

  Monday Tuesday Wednesday Thursday Friday

Introduction into Optimization and CasADi

(part 1part 2, part 3)

Numerical Simulation and Derivatives

(part1part 2)

Newton Type Optimization

(part 1)

Direct Single and Multiple Shooting

(part 1

The Indirect Approach
and Pontryagin’s
Maximum Principle

(part 1)

10:30 Coffee Break Coffee Break Coffee Break Coffee Break Coffe Break

Exercise 1 (cheat sheet


Exercise 3


Exercise 5 


Exercise 7


Exercise 9


12:30 Lunch Break  Lunch Break  Lunch Break  Lunch Break  Lunch Break 

Nonlinear Programming &
Convex Optimization

(part 1part 2)  

Optimal Control Overview

(part 1)

Interior Point Methods

(part 1)

Direct Collocation

(part 1 )

Optimal Control with TOMLAB
15:30 Coffee Break Coffee Break Coffee Break Coffee Break Coffee Break

Exercise 2


Exercise 4


Exercise 6


Exercise 8 


Embedded Optimal Control with ACADO
17:30 Extra Time Extra Time Extra Time Extra Time Extra Time
18:00 End End End End End


  • week 2:

  Monday Tuesday Wednesday Thurday Friday

Differential Algebraic Equation (DAEs) Models

(part 1 )

Optimal Control with DAEs

(part 1

Optimal Control of Airborne Wind Energy Systems

(part 1 )




10:30 Coffee break Coffee break Coffee break Coffee break Coffee break

Exercise 10

(solution )

Exercise 12 

(template, solution)

Stability and Robustness Optimization for Periodic Systems

(part 1 )




12:30 Lunch break Lunch break Lunch break

Lunch break

Lunch break

High Index DAEs

and Index reduction

(part 1)

Periodic Optimal

Control with DAEs

(part 1)

Projects Projects


15:30 Coffee break Coffee break Coffee break Coffee break  

Exercise 11 

(template, solution: part 1 + 2)

Exercise 13 

(template, solution)

Projects Projects  
17:30 Extra time Extra time Extra time Extra time  
18:00 Project Commitments End End End  




Social event Sunday, 21th of February

On the Sunday between the first and second week of the course, there will be a one-day hike in Waldkirch. To register, please fill out this form:

Extra Material

Optistack demo files and install instructions


Numerical Optimization of Dynamic Systems - Moritz Diehl, Sebastien Gros

CasADi User Guide

Pictures from the Event