Chapter eight

Predictive control

section eight: Workshop on an introduction to MPC

A sequence of talks beginning from the fundamentals and working up to basic design and tuning. Ideal for PhD students, researchers and industrialists who understand control but for whom MPC is not yet well known. MATLAB code is provided to take away for testing simple examples and concepts and for attendees to use during the talks.

  1. Why is MPC needed and what are the core principles and concepts underlying a good design?

  2. Conceptual introduction to the underlying mathematics for defining an MPC algorithm and simple MATLAB code.

  3. Why the selection of the horizons in MPC (tuning) can easily be done poorly? How to tune an MPC approach systematically to get good a priori expectation of good behaviour?

  4. How to handle constraints systematically in MPC?

  5. Concepts of dual-mode MPC and why this now dominates the literature but not industrial practice.


A zip file containing the powerpoints and MATLAB files for this workshop is available here.


1. Why is MPC needed and what are the core principles and concepts underlying a good design?

This part of the workshop focuses on concepts rather than mathematical detail; a good graduate who understands the concepts properly will find the mathematics and effective design choices are largely self-evident.

This talk starts by looking at examples where a simple classical feedback approach fails and these form the motivation for more advanced strategies. Human approaches are dissected to gain an understanding of the core components and these insights are used to frame what is now commonly known as model predictive control. These insights are also used to outline some 'best practice' guidance in the implementation of predictive control.

Design of a basic MPC algorithm. Good and bad practice in tuning MPC. Motivation for dual mode MPC and other alternative algorithms. Concepts of feasibility and implications. The presentation then uses humans as an example of how to define an effective generic feedback strategy.

2. Conceptual introduction to the underlying mathematics for defining an MPC algorithm and simple MATLAB code.

Having set up the core concepts underlying MPC, the next talk focuses on the mathematical and programming aspects, that is, how do we implement this thinking in practice. Nevertheless, the talk aims to focus on core assumptions and principles rather than going through the fine details of the algebra. Having defined the basic algorithm, the talk then moves to what appears a contradictory statement which is a warning to naïve users: why does an off-the-shelf MPC algorithm often fail to perform well? This is supplemented with numerous MATLAB illustrations.

3. Why the selection of the horizons in MPC (tuning) can easily be done poorly? How to tune an MPC approach systematically to get good a priori expectation of good behaviour?

The previous talk finished by emphasising that one can easily tune MPC poorly and users need to follow good guidance and understand the repercussions of different choices. This talk begins by giving a large number of illustrations which demonstrate the conceptual thinking behind different choices and hence why some choices are good and others are bad. This section finishes with some outline guidance for systematic but simple tuning.

4. Constraint handling in MPC

A core reason for using MPC is the ability to incorporate constraint handling into the controller design systematically rather than using ad hoc post design rules. This brief segment reiterates why that is important and introduces concisely the algebra required to do this for a GPC type of law. Constraint handling for dual-mode and other laws requires some modifications which will be largely self-evident but is not covered explicitly here.

5. Concepts of dual-mode MPC and why this now dominates the literature but not industrial practice

The talk on tuning may have raised many questions about whether we can avoid issues link to poor choices by a better initial design. The answer is provided here as dual-mode MPC approaches are introduced. However, it is also noted that while these have much better analytical properties, they are often ignored by industry due to the increased complexity and potential feasibility issues.