The following code snippet shows instantiation of the GPPlanner for this problem. The compositional params argument takes a list of integers representing the parameter space indices to be treated with the compositional constraint. In this case, all 6 parameters are subject to the constraint. Lastly, we show an example using the pending experiment known constraint type. The interpretation of this constraint is simple: parameters that have been assigned to measurement, but for which the experiments have not been completed yet, must be avoided by the planner to avoid duplicate recommendation. Atlas provides a simple method for all planners to set pending experiments. The planner's set pending experiments() method can be called at any time within an optimization campaign to inform the planner about parameter settings to be avoided. This method takes as an argument pending experiments, which is a list of Olympus ParameterVector objects. Each subsequent call overwrites the pending parameters from the last iteration. To remove all the pending experiments, one can use the planner's remove pending experiments() method. The inclusion of NaN (not a number) objective values is supported, which could occur due to attempted but failed experimental measurements. Several strategies are provided which learn the unknown constraint function on the fly, using a GP-based binary feasibility classifier (explained in detail in Section II B 3). These predictions are used in conjunction with the typical regression surrogate model to parameterize feasibility-aware acquisition functions, α c (x).