“…A particular case where this problem can be solved in a general, algorithmic manner is the one of batch processes, where the MPC controller may be asked to track the same reference profile many timesfor example, when maintaining a cooling profile in a crystallizer (Shen et al (1999)). In this paper, we propose to solve this run-to-run (or "batch-to-batch") problem via gradientdescent optimization, noting that a simpler realization of what is essentially the same idea but with a single tuning parameter may be found in the work of Magni et al (2009). Any MPC controller requires a dynamical model of the system, [ŷ k+1 , ...,ŷ k+n ] = f (u k , ..., u k+n−1 ), that is able to predict how the outputs y ∈ R n y ×1 will evolve when driven by the inputs u ∈ R n u ×1 over some discrete prediction interval [k + 1, k + n] 1 .…”