Autumn Semester 2020 takes place in a mixed form of online and classroom teaching.
Please read the published information on the individual courses carefully.

227-0221-00L  Model Predictive Control

SemesterSpring Semester 2016
LecturersM. Morari, M. Zeilinger
Periodicityyearly recurring course
Language of instructionEnglish
CommentEnrolling necessary (see "Notice").

AbstractSystem complexity and demanding performance render traditional control inadequate. Applications from the process industry to the communications sector increasingly use MPC. The last years saw tremendous progress in this interdisciplinary area. The course first gives an overview of basic concepts and then uses them to derive MPC algorithms. There are exercises and invited speakers from industry.
ObjectiveIncreased system complexity and more demanding performance requirements have rendered traditional control laws inadequate regardless if simple PID loops are considered or robust feedback controllers designed according to some H2/infinity criterion. Applications ranging from the process industries to the automotive and the communications sector are making increased use of Model Predictive Control (MPC), where a fixed control law is replaced by on-line optimization performed over a receding horizon. The advantage is that MPC can deal with almost any time-varying process and specifications, limited only by the availability of real-time computer power.
In the last few years we have seen tremendous progress in this interdisciplinary area where fundamentals of systems theory, computation and optimization interact. For example, methods have emerged to handle hybrid systems, i.e. systems comprising both continuous and discrete components. Also, it is now possible to perform most of the computations off-line thus reducing the control law to a simple look-up table.
The first part of the course is an overview of basic concepts of system theory and optimization, including hybrid systems and multi-parametric programming. In the second part we show how these concepts are utilized to derive MPC algorithms and to establish their properties. On the last day, speakers from various industries talk about a wide range of applications where MPC was used with great benefit.
There will be exercise sessions throughout the course where the students can test their understanding of the material. We will make use of the MPC Toolbox for Matlab that is distributed by MathWorks.
ContentTentative Program

Day 1: Linear Systems I
Fundamentals of linear system theory – Review (system representations, poles, zeros, stability, controllability & observability, stochastic system descriptions, modeling of noise).

Day 2: Linear Systems II
Optimal control and filtering for linear systems (linear quadratic regulator, linear observer, Kalman Filter, separation principle, Riccati Difference Equation).

Days 3 and 4: Basics on Optimization
Fundamentals of optimization (linear programming, quadratic programming, mixed integer linear/quadratic programming, duality theory, KKT conditions, constrained optimization solvers).

Day 5: Introduction to MPC
MPC – concept and formulation, finite horizon optimal control, receding horizon control, stability and feasibility, computation.

Day 6: Numerical methods for MPC
Unconstrained Optimization, Constrained Optimization, Software applications

Day 7: Practical Aspects, Explicit & Hybrid MPC
- Reference tracking and soft constraints
- Explicit solution to MPC for linear constrained systems. Motivation. Introduction to (multi)-parametric programming through a simple example. Multi-parametric linear and quadratic programming: geometric algorithm. Formulation of MPC for linear constrained systems as a multi-parametric linear/quadratic program. A brief introduction to Multi-parametric Toolbox.
- MPC for discrete-time hybrid systems. Introduction to hybrid systems. Models of hybrid systems (MLD, DHA, PWA, etc.). Equivalence between different models. Modelling using HYSDEL. MLD systems. MPC based on MILP/MIQP. Explicit solution: mpMILP. Short introduction into dynamic programming (DP). Computation of the explicit MPC for PWA systems based on DP. Exercises.

Day 8: Applications
Invited speakers from industry and academia, different case studies

Day 9
Design exercise
Lecture notesScript / lecture notes will be provided.
Prerequisites / NoticePrerequisites:
One semester course on automatic control, Matlab, linear algebra.

ETH students:
As participation is limited, a reservation (e-mail: is required. Please give information on your "Studienrichtung", semester, institute, etc.
After your reservation has been confirmed, please register online at

Interested persons from outside ETH:
It is not possible/needed to enrol as external auditor for this course. Please contact Sabrina Baumann to register for the course (

We have only a limited number of places in the course, it is "first come, first served"!