Optimal and Model Predictive Control

Prof. Dr. Moritz Diehl - moritz.diehl@imtek.uni-freiburg.de

Model predictive control (MPC) is an advanced control technology that is based on the online solution of optimal control problems. Due to its versatility and decreasing price of computing hardware, its areas of application are steadily increasing. The aim of this seminar is that students understand advanced topics in optimal and model predictive control theory and methods, and can independently apply the technology to an MPC application problem. 


The seminar consists of two parts: in the first half of the semester, students will each study specific aspects from the literature and present them to the group, in order to gain an overview of optimal and model predictive control. Suitable papers for reading and presentation will be distributed in the first seminar meetings.

In the second half of the semester students work in groups on self-chosen application problems and present their MATLAB based closed-loop simulation results in a short report (6-8 pages) and a public presentation. 

Prerequisites, Workload and Evaluation

The seminar requires good background in control and optimization and some computer skills (e.g. MATLAB). Ideally, participants have already followed some or all of the following courses: "Systemtheorie und Regelungstechnik 1", “Einführung in die Optimierung”, "Systems and Control 2”, "Optimal Control and Estimation", "Modeling and System Identificiation", and/or "Numerical Optimization". It is recommended for master students of engineering, computer science, mathematics, and physics. All work takes place between April 19 and July 19, 2016. Evaluation of the course (6 ECTS) is based on the literature review presentation (25 %), the final project presentation (25%) and the written project report (50%). 

Time and place

All seminar participants meet weekly on each Tuesday from 16:00-18:00, in SR 00-007, Georges-Koehler-Allee 106, D-79110 Freiburg. Kick-off meeting is on April 19, 2016 and public project presentations take place on July 19, 2016. 


Participation in the seminar is limited to 15 places. The course is fully booked.

Rules and guidelines

Binding rules of the seminar

In the first half of the semester (until mid June) 

  • Each participant gives one “paper presentation" on a selected paper or chapter on MPC 
  • The presentations should be interactive and including questions fill a slot of maximum 45 minutes
  • There will be two presentations in one session per week, starting time of the session is 16:15, end time 18:00
  • Each participant may only miss at maximum two sessions in the first half of the semester
  • The two presenters of the day provide some cookies or cake for the break (from 17:00-17:15)
  • Talk titles and presenter names are listed on the web
  • External listeners are allowed
  • Papers and additional presentation material are shared in a non-public folder
  • Papers are distributed at least a week before the talk, and the topics of the next week announced by their presenters in very short “teasers”

In the second half of the semester (after mid June):

  • Participants work in groups (of max 2 people) on a self-chosen MPC simulation problem in MATLAB, write a report on it and give a “project presentation"
  • The decision on projects and groups takes place mid June
  • The work will be done independently, but be supervised in the weekly meetings
  • Participants need not attend every week, but some intermediate mandatory sessions will take place to keep all groups aware of the other people’s work
  • The final project presentations take place on July 19 from 16:15-20:00 and each participant should be present on that day
  • Complete guidelines for the projects can be found here.
  • The project report should be uploaded in google drive by August 17th, one month after the submission of the code.
  • You can download the project instructions written on the blackbloard during the last session here.

Recommendations for paper presentations

  • Presentations should be of 25 minutes duration talk time, and include a first break for “stupid questions" after the first 5 minutes
  • Simplify paper contents if necessary for better understanding. If necessary, change the topic of your presentation to a more basic one, in agreement with the teachers.
  • Provide a "summary page” that summarizes important concepts from the paper/chapter 
  • Include one example or use case if possible
  • For formulae, use blackboard or presenter handwriting in your presentation if possible (to slow you down)
  • All listeners should have full brain presence during the presentations. Electronic devices shall only be used in exceptional cases

Teaching assistants

  • Dimitris Kouzoupis - dimitris.kouzoupis@imtek.uni-freiburg.de
  • Benjamin Stickan - benjamin.stickan@ise.fraunhofer.de 


Session 1: April 26, 2016

  1. "Model Predictive Control: Theory and Design", J. B. Rawlings and D. Q. Mayne, Section 1.2 and table of contents (by Stefan Glaser)
  2. "Tutorial Overview of Model Predictive Control", J. B. Rawlings (by Arne Gross)

Session 2: May 3, 2016

  1. "Predictive Active Steering Control for Autonomous Vehicle Systems", P. Falcone et al. (by Kay Hartmann)
  2. "Model Predictive Control for the Operation of Building Cooling Systems", Ma et al. (by Dominique Laurencelle)

Session 3: May 10, 2016

  1. "Model Predictive Control: Theory and Design", J. B. Rawlings and D. Q. Mayne, Appendix B1-B3 On Lyapunov stability (by Jonathan Frey)
  2. "Constrained model predictive control: Stability and optimality", D. Q. Mayne et al. (by Axel Borchert) 

Session 4: May 24, 2016

  1. "The explicit linear quadratic regulator for constrained systems", A. Bemporad et al. (by Mara Vaihinger)
  2. "Real-time optimization and nonlinear model predictive control of processes governed by differential-algebraic equations" M. DIehl et al.  (by Alexander Kozhinov)

Session 5: May 31, 2016

  1. "Fast Model Predictive Control Using Online Optimization", Y. Wang and S. Boyd (by Tobias Schöls)
  2. "Particle filtering and moving horizon estimation", J. B. Rawlings and B. R. Bakshi (by Florian Krämer)

Session 6: June 7, 2016

  1. "Energy Efficient Building Climate Control using Stochastic Model Predictive Control and Weather Predictions ", F. Oldewurtel et al. (by David Fischer)
  2. "Multiple Shooting in a Microsecond", R. Quirynen et al. (by Robin Verschueren) DEMO.

Session 7: June 14, 2016

  1. "A continuation/GMRES method for fast computation of nonlinear receding horizon control", T. Ohtsuka (by Benjamin Stickan)
  2. "Fundamentals of Economic Model Predictive Control", J. B. Rawlings et al. (by Osama Ahmad)


See private Google drive folder.