formerly “Practical Course Optimal Control” [MW2225]


Key Facts


Language, Format and Materials

The class is given in English in a presence-only format. We expect all participants to attend the sessions in all but exceptional cases.

Every topic starts with an introduction to the relevant theory and a short test on the previous chapter. Practical programming assignments form the core of each session. You can work on these individually or in groups, to deepen your understanding of the methods and software implementation aspects. Tutors provide active support.

Materials are provided via the Moodle platform; these include theoretical introduction slides, workbooks and code templates.

Course Type, Registration and Exam

The Optimal Control Lab is an Elective Lab Module, 4 ECTS. Please register via TUM-Online registration procedures. There is no final exam; the grade is determined by (almost) weekly short tests (around 10 minutes).

Time and Place

The course takes place every winter semester, Fridays, from 09:00 to 12:00, in MW0636. Please find a list of all appointments in TUMonline.



We expect all participants to have at least basic experience with procedural programming in Matlab (functions, loops, matrix/vector operations, …). If you do not have any experience with Matlab or similar languages/environments, please consider attending our corresponding lecture or lab course first or familiarize with the basics on your own.

We further expect all participants to have a basic understanding of dynamic systems. Specific aircraft dynamics knowledge is beneficial, but not required.

We recommend to attend the lecture Aircraft Trajectory Optimization (summer semester) first. Though not strictly required, this significantly improves the understanding of the methods applied in the lab course.

We further recommend to attend the Introduction to Flight System Dynamics and Flight Control B.Sc. class or the corresponding M.Sc. classes, either before this course or in parallel. However, we focus on the optimal control methods and software implementation aspects, considering aerospace applications only as an example.

Content and Learning Goals

The practical course on optimal control gives practical insight in the methods and implementation of optimal control problems for engineering applications. The optimal control problems are implemented and solved in the Matlab development environment. The course comprises the following topics:

Modeling of Dynamic Systems

  • basic flight dynamics modeling
  • implementation of the model dynamics

Simulation of Dynamic Systems

  • initial value problems
  • numerical integration using Runge-Kutta methods
  • implementation of integration methods

Unconstrained Optimization

  • numerical methods for unconstrained parameter optimization problems
  • implementation of optimization algorithms

Constrained Optimization

  • numerical methods for constrained parameter optimization problems
  • extension of the Matlab code w.r.t. equality and inequality constraints

Optimal Control with Multiple Shooting and Finite Differences

  • direct transcription of optimal control problems
  • implementation of shooting methods for multi-phase constrained optimal control problems

Optimal Control with Multiple Shooting and Analytic Derivatives (Sensitivities)

  • efficient evaluation of derivatives in direct optimal control
  • implementation of sensitivity differential equations

Optimal Control with Local Collocation

  • reduction of sensitivities by full discretization
  • impact on problem sparsity
  • efficient implementation of local collocation methods

Optimal Control with Pseudospectral/Global Collocation

  • representation of states and controls by global interpolation polynomials
  • gradient defects and comparison to local collocation
  • only discussed if time permits

    Reference Literature