In this algorithm each particle can learn from the experience of other particles in the same population (called swarm).
each particle in the iterative search process would adjust its flying velocity as well as position not only based on its own acquaintance but also other particles' flying experience in the swarm.