This repository contains the source code of the work in Bradford et al., 2020. In this work we proposed a new method to design a GP-based NMPC algorithm for finite horizon control problems. The method generates Monte Carlo samples of the GP offline for constraint tightening using back-offs. The tightened constraints then guarantee the satisfaction of chance constraints online. Advantages of our proposed approach over existing methods include fast online evaluation, consideration of closed-loop behaviour, and the possibility to alleviate conservativeness by considering both online learning and state dependency of the uncertainty. The algorithm is verified on a challenging semi-batch bioprocess case study.
If you found this code helpful please consider citing Bradford et al., 2020.
- •
A robust data-driven model predictive control algorithm is presented.
- •
Construction of a probabilistic state space model using Gaussian processes.
- •
Back-offs are computed offline using closed-loop Monte Carlo simulations.
- •
Independence of samples allows probabilistic guarantees to be derived.
- •
Explicit consideration of online learning and state dependency of the uncertainty.
Create a new environment in conda using the environment.yml file:
conda env create --file environment.yml
Then you should be able to run the simulation file GP_NMPC_batch_simulation.py. To adjust the problem, simply amend the problem definition given in Problem_definition.py.
Bradford, E., Imsland, L., Zhang, D., del Rio-Chanona, E.A., 2020. Stochastic data-driven model predictive control using Gaussian processes. Computers & Chemical Engineering 139, 106844.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie SklodowskaCurie grant agreement No 675215.
This project is licensed under the MIT license – see LICENSE.md in the repository for details.