Generates a particle using the creator function.

        Notes
        -----
        Position and speed are uniformly randomly seeded within
        allowed bounds. The particle also has speed limit settings
        taken from global values.

        Returns
        -------
        part : particle object
            A particle used during optimisation.

def _generate(self):
        """Generates a particle using the creator function.

        Notes
        -----
        Position and speed are uniformly randomly seeded within
        allowed bounds. The particle also has speed limit settings
        taken from global values.

        Returns
        -------
        part : particle object
            A particle used during optimisation.
        """
        part = creator.Particle(
            [random.uniform(-1, 1)
             for _ in range(len(self.value_means))])
        part.speed = [
            random.uniform(-self.max_speed, self.max_speed)
            for _ in range(len(self.value_means))]
        part.smin = -self.max_speed
        part.smax = self.max_speed
        part.ident = None
        part.neighbours = None
        return part