code: def get_discrete_grid(self):
          
          sets_grid = []
          for d in self.space:
              if d.type == 'discrete':
                  sets_grid.extend([d.domain]*d.dimensionality)
          return np.array(list(itertools.product(*sets_grid)))
docs: Computes a Numpy array with the grid of points that results after crossing the possible outputs of the discrete
          variables