Enhancing distributed differential evolution with a space-driven topology