Basic predictive control uses a deterministic system model to predict and optimize the future system behavior. Hence, stochastic disturbances or other model/plant mismatches (e.g., state measurement/estimation error, parameter drifts) are neglected at this stage. Robustness against these errors is achieved partially through the feedback of the state measurements (or its only estimates). When these errors significant, it may not be sufficient to just “react” to them based on the on-line measurements and may be necessary to model the sources of errors and consider them directly at the prediction and optimization stage. This is especially true of nonlinear systems where the superposition principle does not hold. As simple and desirable as it may sound, there are significant complications for doing this, particularly as the traditional predictive control formulation is based on “open-loop” prediction and optimization (not accounting for future measurements) leading to great conservatism at times. Methods to overcome the limitation have been suggested and include multi-stage MPC formulation and approximate dynamic programming. Each has its own challenge with computational complexity.