0
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ 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. $\endgroup$ – Johan Löfberg Feb 20 '19 at 15:31
  • $\begingroup$ @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$? $\endgroup$ – João Feb 20 '19 at 15:42
1
$\begingroup$

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.

$\endgroup$

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.