Thinking inside the box: A tutorial on grey-box Bayesian optimization