I hear a lot about open loop and closed loop Model Predictive Control (MPC).

What is the difference between an open loop MPC and a closed loop MPC?

Any block diagram demonstrating the difference is also appreciated.

  • $\begingroup$ Where did you ´hear’ about them? Lectures, coursework? Sources ... $\endgroup$ – Solar Mike Jan 21 '18 at 7:53

In short: it is both. Model Predictive Control is a repeated open-loop control in a feedback fashion.

The explanation comes not from the general concept of open-loop and closed-loop, but from how MPC works. We solve an optimization problem with a certain prediction horizon N, i.e. we predict the next N states until a certain point in the future (that's why it's called predictive).

This gives us an optimal input sequence. We then only take the first element of this input sequence and apply it to the system. Until here, we use an open-loop control scheme, because we compute an input more or less far into the future without knowing all states, we only assume them based on our model.

We then wait one time-step for the systems reaction, measure the state (there comes the closed-loop) and start all over. All this happens on-line, during runtime of the system (there are subforms of MPC that get computed before, but computing online is the general concept of MPC). By repeatedly solving this optimization problem and applying the beginning of the result, we establish a feedback.


I think the other answer is not complete. Model predictive control (or 'receding-horizon control' is a technique in which a predictive system model is used to evaluate a sequence of future control inputs; of all such control input sequences, an optimization algorithm chooses the best one. Typically, the first input of the sequence is implemented. After a certain amount of time, the process is repeated to find a new control input.

When the predictive model is deterministic, this is straightforward. Now, when the predictive model is uncertain (e.g., stochastic or adversarial), one often differentiates between open-loop MPC and closed-loop MPC:

Open-loop MPC considers only a single, fixed sequence of future control inputs; this sequence must yield good performance under all possible realizations of the uncertainty. In other words, when constructing our initial plan, we ignore the fact that we're going to re-plan (with more information) soon. We plan as though we were committed to our input sequence (even though we aren't).

Closed-loop MPC considers the effect of feedback (or recourse). This is the fact that, before the controller makes future decisions, it will have more information available than it does now. For this reason, the controller must optimizes over control policies, not just inputs. These problems are quite often intractable.

I'll add one more: Certainty-equivalent MPC replaces the uncertain predictive model with a deterministic one (usually by replacing all random quantities with an average or nominal value). At this point, there's no uncertainty, and we simply precede by optimizing over input sequences, as in open-loop MPC. This is often simply referred to as MPC (without a qualifier.

Check out Boyd's MPC description here.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.