def random_strategy(self, N_r):
        """
        Generate a random population within the problem boundaries.
        :param N_r: Number of random solutions to generate
        :return: Randomly generated population
        """
        # generate a random population of size N_r
        # TODO: Check boundaries
        random_pop = np.random.random((N_r, self.problem.n_var))

        # check if any solution is outside the bounds
        for individual in random_pop:
            for i in range(len(individual)):
                if individual[i] > self.problem.xu[i]:
                    individual[i] = self.problem.xu[i]
                elif individual[i] < self.problem.xl[i]:
                    individual[i] = self.problem.xl[i]

        return random_pop

        Generate a random population within the problem boundaries.
        :param N_r: Number of random solutions to generate
        :return: Randomly generated population
        
pymoo/algorithms/moo/kgb.py