Cooperative Distributed Model Predictive Control