What is the advantage of Swarm optimization algorithms (PSO, ABC etc) over Simulated annealing (SA) algorithm??? Why should we prefer swarm optimization over simulated annealing?
In general, any metaheuristic should perform two main searching capabilities (Exploration and Exploitation). Population based algorithms ( or many solutions ) such as GA, PSO, ACO, or ABC, performs both Exploration and Exploitation, while Single-Based Algorithm such as SA, Hill Climbing, performs the exploitation only.
In this case, more exploitation and less exploration increases the chances for trapping in local optima. Because the algorithm does not have the ability to search in another position far from the current best solution ( which is Exploration).
Although Population-based algorithms perform exploration and exploitation, both capabilities, but the balancing between them is a well known issue faces all metaheuristics.
The answer of Suman Salih (@https://www.researchgate.net/profile/Sinan_Salih3) explain the issue very well. I would like to explain it by using a simple example. Imagine that you optimize some problem and your cost function is giving a result that looks like a mountain range.
Simulated annealing starts in one valley and typically ends in the lowest point of the same valley. Whereas swarms start in many different places of the mountain range and are searching for the lowest point in many valleys simultaneously.
Yet even swarms do not ensure you that you missed a valley having an even lower minimum. This means that you are not having a global minimum for sure. In other words, swarms are as well as simulated annealing only heuristics.
The trick is that you can run the same simulation with different random initial positions of members of your swarm and substantially increase the probability of finding the global minimum.
Be aware that there are existing really nasty counterexamples, like a Gauss distribution with a tiny hole in the center of it. Any swarm will fail to find it unless you start in the said minimum because it is uphill from any direction.
Swarms can be taught to search even for such nasty cases but still, it is a difficult and tricky business.
More you know about the landscape of the cost function better for you as you know whether there existing such nasty situations or not.
I would like to recommend gradually refine the landscape and increase the number of swarm members as producing finer cost function landscape might be really expensive. To addaptively refines just some regions of the cost function is even an option.
If your objective function is highly non linear, swarm intelligence will perform better due to the fact that in any swarm based algorithm, the individual agents perform parallel search. Information about different parts of the landscape are fetched and shared by the group members thereby forming a massive flow of information. However for getting good optimum points you have to run the program multiple times and select the best optimum value.
Simulated annealing on the other hand is a unidirectional search process which finds it difficult to scan multi dimensional nonlinear search domains.