  In this work we adapt a prediction-correction algorithm for continuous
time-varying convex optimization problems to solve dynamic programs arising
from Model Predictive Control. In particular, the prediction step tracks the
evolution of the optimal solution of the problem which depends on the current
state of the system. The cost of said step is that of inverting one Hessian and
it guarantees, under some conditions, that the iterate remains in the quadratic
convergence region of the optimization problem at the next time step. These
conditions imply (i) that the variation of the state in a control interval
cannot be too large and that (ii) the solution computed in the previous time
step needs to be sufficiently accurate. The latter can be guaranteed by running
classic Newton iterations, which we term correction steps. Since this method
exhibits quadratic convergence the number of iterations to achieve a desired
accuracy $\eta$ is of order $\log_2\log_2 1/\eta$, where the cost of each
iteration is approximately that of inverting a Hessian. This grants the
prediction-correction control law low computational complexity. In addition,
the solution achieved by the algorithm is such that the closed loop system
remains stable, which allows extending the applicability of Model Predictive
Control to systems with faster dynamics and less computational power. Numerical
examples where we consider nonlinear systems support the theoretical
conclusions.
