def __call__(self, f, X):
        """
        Execute function f on each element of X in parallel using Ray.
        
        Parameters
        ----------
        f : callable
            Function to apply to each element. Should be the evaluation function
            from an ElementwiseEvaluationFunction.
        X : list
            List of inputs to process
            
        Returns
        -------
        list
            Results from parallel execution using Ray
        """
        # Create a Ray remote function with specified resources
        runnable = self.ray.remote(f.__call__.__func__)
        runnable = runnable.options(**self.job_resources)
        
        # Submit all tasks and collect futures
        futures = [runnable.remote(f, x) for x in X]
        
        # Wait for all tasks to complete and return results
        return self.ray.get(futures)

        Execute function f on each element of X in parallel using Ray.
        
        Parameters
        ----------
        f : callable
            Function to apply to each element. Should be the evaluation function
            from an ElementwiseEvaluationFunction.
        X : list
            List of inputs to process
            
        Returns
        -------
        list
            Results from parallel execution using Ray
        
pymoo/parallelization/ray.py