What is the difference between multi-agent systems and any other swarm based optimization algorithm,such as ant colony,bee colony,particle swarm...etc? I have seen some works where a single ant/bee/particle is treated as an agent.But, there are obviously some differences in the two concepts. I wish to know the basis of the differences.