Generalized Predictive Control