A distributed genetic algorithm