Model predictive control
ME-425
Media
Welcome to Model Predictive Control
Exam 2025
Mini-Project
UPDATE DEC 13 : The whole project (seven parts) is now on github. Please make sure you pull to refresh.
During the last portion of the course, you will complete a mini-project in groups of one to three. The project is worth 40% of your final grade.
- Register your group under "Group for Mini-Project" below.
- Run the project following the instructions in "Project description"
- Write a report in the format and length given in "Project description"
- Submit the report and Python code on or before end of day on January 11th using "Hand-in for mini-project"
You're strongly encouraged to use the course time before the Christmas break to finish the project and to get help from the assistants.
How to get help:
- We will be monitoring and responding on EdDiscussion
- We will be available in person during the course from 13h-17h on Friday, Dec 5th, 12th and 19th
It is common to have issues with software installation for the project (particularly students who haven't kept up with the assignments ;), which can result in significant delays in getting started. We can usually help you sort this quickly, so please come to the regular class sessions so we can help you with this.
Common Software Setup Errors
How to Get Help
There are three methods to interact with your colleagues, the professors and the TAs during the course:
In-person exercise sessions
Help on the exercises, lectures, or general MPC discussion is available on Fridays from 15h - 17h in CO-2 after the lectures.
Try and post questions and answers on Ed Discussion so that everyone can benefit from the discussion.
You can always contact me at colin.jones@epfl.ch If you have a question, but please try to use Ed Discussion if possible so others can benefit.
Exercises and Software Setup
https://github.com/PREDICT-EPFL/MPC-Course-EPFL
Please follow the instructions on the github page above to setup your software environment.
Please pull the git regularly as we may update the software to fix any issues as the term proceeds.
Week 1: Introduction
In this first week, we will give a high-level introduction to what MPC is, why it's useful and some of the issues that we'll have to tackle this term in order to get it to work well on our systems.
- Videos (Text and media area)
- Introduction to MPC (URL)
- Examples of MPC (URL)
- Slides (Text and media area)
- Week 1: Slides (File)
- ExercisesWritten : Do exercise 0Computer : There a... (Text and media area)
Week 2: Unconstrained MPC
- Videos (copy) (copy) (Text and media area)
- Introduction (URL)
- Finite Horizon LQR (URL)
- Dynamic Programming (URL)
- Parametric Solution (URL)
- Impact of Horizon (URL)
- Stability of LQR (URL)
- Summary (URL)
- Slides (copy) (Text and media area)
- Week 2: Optimal Control of Unconstrained Systems (File)
- ExercisesWritten : Do written Exercise #1Computer ... (Text and media area)
Week 3: Optimization
- Videos (copy) (Text and media area)
- Introduction (URL)
- Optimization introduction (URL)
- Convexity (URL)
- Linear and quadratic programming (URL)
- Constrained optimization (URL)
- Unconstrained optimization (URL)
- Barrier method (URL)
- Slides (copy) (copy) (Text and media area)
- Week 3: Intro to Optimization (File)
- ExercisesWritten : Do exercise #2Computer : Do exe... (Text and media area)
Week 4: Constrained control
- Videos (copy) (copy) (copy) (Text and media area)
- Objectives of constrained control (URL)
- Recap: Optimization (URL)
- Invariance (URL)
- Invariant sets (URL)
- Control invariant sets (URL)
- Polytopes and polytopic computation (URL)
- Summary (URL)
- Slides (copy) (copy) (copy) (Text and media area)
- Week 4: Intro to Constrained Systems (File)
- ExercisesWritten : Do exercise #3Computer : Do exe... (Text and media area)
Week 5: MPC
- Videos (copy) (copy) (Text and media area)
- Introduction (URL)
- Recap (URL)
- Objective (URL)
- Stability and invariance (URL)
- MPC (URL)
- Slides (copy) (copy) (copy) (copy) (Text and media area)
- ExercisesWritten : Do exercise #4Computer : Do exe... (Text and media area)
- MPC lecture slides (File)
Week 6: Practical MPC
- Videos (copy) (copy) (copy) (Text and media area)
- Introduction (URL)
- Recap (URL)
- Soft constraints (URL)
- Tracking (URL)
- Offset free (URL)
- Summary (URL)
- Slides (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Week 6: Practical MPC (File)
- ExercisesWritten : Do exercise #5Computer : Do exe... (Text and media area)
Week 7: Robust MPC
- Videos (copy) (copy) (copy) (copy) (Text and media area)
- Introduction (URL)
- Uncertainty models (URL)
- Robust control : Goals (URL)
- Robust invariance (URL)
- Robust constraint satisfaction (URL)
- Robust open-loop MPC (URL)
- Slides (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Week 7: Robust MPC 1 (File)
- ExercisesWritten : Do exercise #6Computer : Do exe... (Text and media area)
Week 8: Robust MPC II
- Videos (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Introduction (URL)
- Closed-loop predictions (URL)
- Tube-MPC : The Idea (URL)
- Minimum robust invariant sets (URL)
- Tube-MPC : Putting it together (URL)
- Tube-MPC : Stability and invariance (URL)
- Tube-MPC : Example (URL)
- Tube-MPC : Summary (URL)
- Input to state stability (URL)
- Summary (URL)
- Slides (copy) (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Week 8: Robust MPC 2 (File)
- ExercisesWritten : Do exercise #7Computer : Do exe... (Text and media area)
Week 9
- Videos (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Introduction (URL)
- Optimality conditions (URL)
- One dimensional example (URL)
- Parametric linear complementarity (URL)
- pLCP Geometry (URL)
- Lecture notes (Text and media area)
- Week 9 & 10: Explicit MPC (File)
- Exercises:There are no exercises this week. Take t... (Text and media area)
Week 10
- Videos (copy) (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- pLCP Algebra (URL)
- pLCP Solution Methods (URL)
- Point location (URL)
- Example (URL)
- Explicit MPC is a Neural Network : Power Electronics Case Study (URL)
- Lecture Notes (Text and media area)
- Explicit MPC is a Neural Network : Power Electronics Case Study (File)
- ExerciseWritten : Do exercise #8Computer : Do exer... (Text and media area)
Week 11
- Videos (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Introduction (URL)
- Nonlinear programming (URL)
- Discretization (URL)
- Gradients (URL)
- Example (URL)
- Matlab files for example (File)
- Slides (Text and media area)
- Week 11: NMPC (File)
- ExerciseWritten : Do exercise #9Computer : Do exer... (Text and media area)
Week 12
Week 13
- This week we will be working during both blocks on... (copy) (Text and media area)
- Mini-ProjectDuring the exercise session this week,... (Text and media area)
Week 14
Exercise Solutions
Study Material
- Final exam 2014 (File)
- Final exam 2015 (File)
- Videos of solutions for 2014 and 2015 exams (URL)
- Exam 2014 (blank) (File)
- exam 2015 (blank) (File)
- Exam 2023 (File)
- Exam 2023 solution (File)
- Exam 2017 (File)
- Exam 2017 solutions (File)