I. Introduction
Model predictive control (MPC) has become the leading technology for the operation of complex dynamic systems. The appeal stems from its ability to handle constraints in a systematic manner, the ease of reconfiguration, and the potential to reach optimal solutions [1]. Other control alternatives typically handle constraints in an ad hoc manner or are limited in the class to which they are suitable. In essence, MPC converts a dynamic optimization problem in which variables are time dependent into a series of static optimization problems to be solved with standard optimization algorithms.