Within the algorithm, a surrogate model is developed using Gaussian process regression (GPR), employing built-in functions from the BOTORCH library in Python. The GPR defines a distribution over possible functions based on observed data. Afterwards, an acquisition function, using Monte-Carlo Expected Improvement, directed the choice of the subsequent sampling points, maintaining a balance between exploration and exploitation. With this, the algorithm will progressively approach the target size with ongoing iterations.