Model predictive control (MPC) anticipates future events to take appropriate control actions. Nonlinear MPC (NMPC) describes systems with nonlinear models and/or constraints. A Continuation/GMRES Method for NMPC, suggested by T. Ohtsuka in 2004, uses the GMRES iterative algorithm to solve a forward difference approximation Ax = b of the Continuation NMPC (CNMPC) equations on every time step. The coefficient matrix A of the linear system is often illconditioned, resulting in poor GMRES convergence, slowing down the on-line computation of the control by CNMPC, and reducing control quality. We adopt CNMPC for challenging minimum-time problems, and improve performance by introducing efficient preconditioning, utilizing parallel computing, and substituting MINRES for GMRES.
IntroductionModel predictive control (MPC) is used in many applications to control complex dynamical systems. Examples of such systems include production lines, car engines, robots, other numerically controlled machining, and power generators. The MPC is based on optimization of the operation of the system over a future finite time-horizon, subject to constraints, and implementing the control only over the current time step.Model predictive controllers rely on dynamic models of the process, most often linear empirical models, in which case the MPC is linear. Nonlinear MPC (NMPC), which describes systems with nonlinear models and constraints, is often more realistic, compared to the linear MPC, but computationally more difficult. Similar to the linear MPC, the NMPC requires solving optimal control problems on a finite prediction horizon, generally not convex, which poses computational challenges.