Course syllabus

Course-PM

SSY281 Model predictive control lp3 VT20 (7.5 hp)
Link to the syllabus on Studieportalen: Study plan

The course is offered by the department of Electrical Engineering.

Contact details

Examiner and lecturer: 
Bo Egardt (bo.egardt@chalmers.se), room 5345 (available by appointment)

Course assistant:
Rita Laezza (laezza@chalmers.se), room 5439 (office hours: Wednesdays, 10:00-11:45 )

Teaching assistants:
Ankit Gupta (ankit.gupta@chalmers.se), room 5318
Masoud Bahraini (masoudb@chalmers.se), room 5320

Department exam office:
Madeleine Persson (studadm.e2@chalmers.se), room 3342

Motivation

Basic control courses focus on single-input, single-output linear systems. The control design techniques covered, typically PID control, still represent the dominant industrial state-of-the-art in many areas. A second course in control (e.g. the course Linear control system design) usually involves state-space techniques and LQ/LQG design, which makes it possible to systematically work with multi-input, multi-output systems. Model predictive control (MPC) is a related design technique, which is also based on optimization ideas, but with some important features that have contributed to the increased popularity of the method. The most prominent one is the possibility to include constraints on control inputs and/or states already at the design stage. In fact, it is one of the few control design techniques that offer this feature. A consequence of this is that the method has attracted a lot of interest in recent years.

Course purpose

The purpose of this course is to give an introduction to model predictive control (MPC), a control system design technique that has gained increased popularity in a number of application areas during recent years. Important reasons for this are the ability to treat multi-input, multi-output systems in a systematic way, and the possibility to include constraints on states and control inputs in the design in a very explicit way. The intention with the course is to cover the mathematical foundations as well as implementation issues, and to give hands-on experience from computer simulations.

Applications

Model predictive control was originally developed and applied in process industry, particularly in petrochemical industry. Several factors contributed to this early development: the inherent multivariable character of the processes, the importance of being able to respect constraints on quality and safety related variables, and the slow time scale of the processes. The latter opened up the possibility to perform significantly more computations at each sampling interval than needed in conventional, PID based control, even with the computer technology available at that time. With the dramatically larger computational resources of today, MPC is feasible even in fast, time-critical control systems like vehicle stability control. A significant increase in the application base for MPC is expected in the years to come.

Prerequisites

A basic course in automatic control and familiarity with state space techniques and discrete time models (as taught in e.g. the course Linear control system design). Some familiarity with Matlab is assumed; if you need to refresh the basic skills, refer to Matworks' Getting Started with Matlab.

Schedule

For a tentative schedule, please see the Calendar or Course summary below. 
Scheduled events can also be seen in TimeEdit.

Course literature

B. Egardt: Model Predictive Control - Lecture Notes (The Store or download from Canvas). The Lecture Notes are concise but cover the essentials of the course . For further reading, the primary textbook recommended is:

J.B. Rawlings, D.Q. Mayne, M.M. Diehl: Model Predictive Control, Theory, Computation, and Design, 2nd edition. ISBN 978-0-9759377-3-0, Nob Hill Publishing 2018 (available online at http://www.nobhillpublishing.com/mpc/index-mpc.html)

Supplementary literature and reading tips.

Exercises with brief solution sketches, assignments, micro home-works etc. are available for download from Files

Course design

The course is organized around lectures, problem-solving sessions, home assignments, micro-homeworks, and last but not least, independent student work.

Lectures: The lectures, 2*2 hours per week, aim to motivate and introduce the topics covered by the texts. The lectures will be structured somewhat differently to the course textbooks, and also include additional material. Therefore, lecture notes complementing the textbook are available. The lecture notes include slide material. Tentative lecture plan.

Problem sessions: During the problem sessions, normally two hours per week, the teaching assistant will introduce selected problems as well as computational tools, answer questions etc. It is advised that you prepare for the sessions to gain as much as possible from them. 
NB. Since only one session a week is scheduled, it is absolutely necessary to work on your own with problem solving, in order to attain familiarity with the techniques. Please note the scheduled consulting hours.
Tentative problem solving session plan.

Consulting hours: The teaching assistant will be available for consulting according to the course schedule. Please use this to straighten out your questions on problems, assignments etc.

Assignments: There are seven compulsory, plus one optional, individual hand-in assignments in the course. The assignments are presented in a short, written report and a testing code is submitted according to the guidelines given in each assignment. Instructions and grading scheme.

Micro-homeworks: There are 13 compulsory micro-homeworks to be handed in before every lecture. At least 9 micro-homeworks must get a pass in order to pass the course. Instructions.

Course content

The course comprises the following parts, week by week:

  1. Introduction with motivation of the MPC approach and a course overview. Prerequisites are established by reviewing the most important concepts from linear state-space techniques.
  2. The basic ideas behind MPC are described. The dynamic programming approach to linear quadratic (LQ) control is dealt with in some detail, because of its intimate relations to MPC - even though this should be known to some of you. We treat both the case without and with constraints and focus on the type of MPC based on linear models, quadratic cost and linear constraints.
  3. The case with incomplete state information is introduced, leading to the inclusion of state observers into the MPC schemes. The Kalman filter is reviewed, and an alternative viewpoint, based on least-squares minimization, opens up for moving horizon estimation with its nice links to the finite-time optimization problem studied during week 2.
  4. The implementation issues are approached, specifically the challenge to perform on-line optimization. The character of the optimization problem as part of MPC is explained in the context of convex optimization. Basic concepts are reviewed, leading eventually to a description of the most popular algorithms employed.
  5. Some of the fundamental aspects on MPC are discussed, both theoretical and practical, and special attention is paid to feasibility and stability. The purpose is not to deal with all the deep analytical questions related to MPC, but to give a flavour of the methods used.
  6. We discuss practical aspects that both the designer and user of MPC need to consider. Particular attention is paid to computational issues and tuning rules. We also take a look at alternative formulations of MPC schemes.
  7. This week is spent on explaining the theory behind so-called explicit MPC.
  8. The final week of the course is reserved for a look back on the highlights of the course, as well as widening the perspective and to point on current research trends.

Changes made since the last occasion

Some adjustments have been made to the grading scheme for the assignments, and the rules for micro-homeworks have been clarified. More TA resources have been allocated for supervision. 

Learning objectives

After completion of this course, you should be able to:

  • Understand and explain the basic principles of model predictive control, its pros and cons, and the challenges met in implementation and applications.
  • Correctly state, in mathematical form, MPC formulations based on descriptions of control problems expressed in application terms.
  • Describe and construct MPC controllers based on a linear model, quadratic costs and linear constraints.
  • Describe basic properties of MPC controllers and analyze algorithmic details on very simple examples.
  • Understand and explain basic properties of the optimization problem as an ingredient of MPC, in particular concepts like linear, quadratic and convex optimization, optimality conditions, and feasibility.
  • Use software tools for analysis and synthesis of MPC controllers.

Examination

  • The main examination consists of eight individual assignments, which cover material from the lectures (or Lecture notes) and supplementary material handed out during the course. The earned points determine the final grade with limits 40 p (3), 60p (4) and 80p (5). For details, refer to Course design above. 
  • To pass the course, the student should also fulfill the requirements concerning compulsory micro-homeworks, see Course design above. 

Course summary:

Date Details Due