SWARM ALGORITHMS : SIMULATION AND GENERATION by