Computes a Numpy array with the grid of points that results after crossing the possible outputs of the discrete
        variables

def get_discrete_grid(self):
        """
        Computes a Numpy array with the grid of points that results after crossing the possible outputs of the discrete
        variables
        """
        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)))