  Tuning parameters in model predictive control (MPC) presents significant
challenges, particularly when there is a notable discrepancy between the
controller's predictions and the actual behavior of the closed-loop plant. This
mismatch may stem from factors like substantial model-plant differences,
limited prediction horizons that do not cover the entire time of interest, or
unforeseen system disturbances. Such mismatches can jeopardize both performance
and safety, including constraint satisfaction. Traditional methods address this
issue by modifying the finite horizon cost function to better reflect the
overall operational cost, learning parts of the prediction model from data, or
implementing robust MPC strategies, which might be either computationally
intensive or overly cautious. As an alternative, directly optimizing or
learning the controller parameters to enhance closed-loop performance has been
proposed. We apply Bayesian optimization for efficient learning of unknown
model parameters and parameterized constraint backoff terms, aiming to improve
closed-loop performance of battery fast charging. This approach establishes a
hierarchical control framework where Bayesian optimization directly fine-tunes
closed-loop behavior towards a global and long-term objective, while MPC
handles lower-level, short-term control tasks. For lithium-ion battery fast
charging, we show that the learning approach not only ensures safe operation
but also maximizes closed-loop performance. This includes maintaining the
battery's operation below its maximum terminal voltage and reducing charging
times, all achieved using a standard nominal MPC model with a short horizon and
notable initial model-plant mismatch.
