def do(self, problem, n_samples, **kwargs):
        """
        Sample new points with problem information if necessary.

        Parameters
        ----------

        problem : :class:`~pymoo.core.problem.Problem`
            The problem to which points should be sampled. (lower and upper bounds, discrete, binary, ...)

        n_samples : int
            Number of samples

        Returns
        -------
        pop : Population
            The output population after sampling

        """
        val = self._do(problem, n_samples, **kwargs)
        return Population.new("X", val)

        Sample new points with problem information if necessary.

        Parameters
        ----------

        problem : :class:`~pymoo.core.problem.Problem`
            The problem to which points should be sampled. (lower and upper bounds, discrete, binary, ...)

        n_samples : int
            Number of samples

        Returns
        -------
        pop : Population
            The output population after sampling

        
pymoo/core/sampling.py