# Model Predictive Control: Why the horizon size, $N$, must be equal or larger than 2?

If you read "Nonlinear Model Predictive Control" by L. Grune and J. Pannek (and anywhere else), everyone says that the prediction horizon size $$N$$ must be larger or equal to $$2$$,$$N\geq2$$.

Why?

• That's simply not correct. You can use a prediction horizon of 1 if you want. Performance wise, it might be horrible, but that's another issue. – Johan Löfberg Feb 20 '19 at 15:31
• @JohanLöfberg Maybe I misinterpreted what I read! But then, why do they, on that book, always state $N \geq 2$ if I could use $N=1$? – João Feb 20 '19 at 15:42

The $$N\geq 2$$ condition in the referenced book is due to a slightly non-standard notation in the definition of the problem, using the objective $$\sum_{k=0}^{N-1} \ell(x_k,u_k)$$, which still makes sense for $$N=1$$ but typically would lead to the trivial solution $$u = 0$$ as only the current input and no future state is penalized in the objective. It would still be a well-defined problem, but perhaps a bit silly.
A more common form (in papers with a theoretical bias) is $$\sum_{k=0}^{N-1} \ell(x_k,u_k) + \Psi(x_{N})$$ for some terminal penalty $$\Psi$$, and then $$N=1$$ would make sense as the one-step ahead predictive control setup. Another form which would make $$N=1$$ reasonable is $$\sum_{k=0}^{N-1} \ell(x_{k+1},u_k)$$, as it typically makes no sense to add the current state to the objective.